Jelajahi Sumber

Fixed api bugs, stats endpoint working

utkarshcmu 10 tahun lalu
induk
melakukan
da67afa51e
4 mengubah file dengan 31 tambahan dan 31 penghapusan
  1. 9 9
      pkg/api/admin.go
  2. 2 2
      pkg/api/api.go
  3. 9 9
      pkg/models/stats.go
  4. 11 11
      pkg/services/sqlstore/stats.go

+ 9 - 9
pkg/api/admin.go

@@ -3,10 +3,10 @@ package api
 import (
 import (
 	"strings"
 	"strings"
 
 
+	"github.com/grafana/grafana/pkg/bus"
 	"github.com/grafana/grafana/pkg/middleware"
 	"github.com/grafana/grafana/pkg/middleware"
+	m "github.com/grafana/grafana/pkg/models"
 	"github.com/grafana/grafana/pkg/setting"
 	"github.com/grafana/grafana/pkg/setting"
-  "github.com/grafana/grafana/pkg/bus"
-  m "github.com/grafana/grafana/pkg/models"
 )
 )
 
 
 func AdminGetSettings(c *middleware.Context) {
 func AdminGetSettings(c *middleware.Context) {
@@ -32,12 +32,12 @@ func AdminGetSettings(c *middleware.Context) {
 
 
 func AdminGetStats(c *middleware.Context) {
 func AdminGetStats(c *middleware.Context) {
 
 
-  statsQuery := m.GetAdminStatsQuery{}
-  
-  if err := bus.Dispatch(&statsQuery); err != nil {
-    c.JsonApiErr(500, "Failed to get admin stats from database", err)
-    return
-  }
+	statsQuery := m.GetAdminStatsQuery{}
 
 
-  c.JSON(200, statsQuery.Result)
+	if err := bus.Dispatch(&statsQuery); err != nil {
+		c.JsonApiErr(500, "Failed to get admin stats from database", err)
+		return
+	}
+
+	c.JSON(200, statsQuery.Result)
 }
 }

+ 2 - 2
pkg/api/api.go

@@ -40,7 +40,7 @@ func Register(r *macaron.Macaron) {
 	r.Get("/admin/users/edit/:id", reqGrafanaAdmin, Index)
 	r.Get("/admin/users/edit/:id", reqGrafanaAdmin, Index)
 	r.Get("/admin/orgs", reqGrafanaAdmin, Index)
 	r.Get("/admin/orgs", reqGrafanaAdmin, Index)
 	r.Get("/admin/orgs/edit/:id", reqGrafanaAdmin, Index)
 	r.Get("/admin/orgs/edit/:id", reqGrafanaAdmin, Index)
-  r.Get("/admin/stats", reqGrafanaAdmin, Index)
+	r.Get("/admin/stats", reqGrafanaAdmin, Index)
 
 
 	r.Get("/apps", reqSignedIn, Index)
 	r.Get("/apps", reqSignedIn, Index)
 	r.Get("/apps/edit/*", reqSignedIn, Index)
 	r.Get("/apps/edit/*", reqSignedIn, Index)
@@ -211,7 +211,7 @@ func Register(r *macaron.Macaron) {
 		r.Delete("/users/:id", AdminDeleteUser)
 		r.Delete("/users/:id", AdminDeleteUser)
 		r.Get("/users/:id/quotas", wrap(GetUserQuotas))
 		r.Get("/users/:id/quotas", wrap(GetUserQuotas))
 		r.Put("/users/:id/quotas/:target", bind(m.UpdateUserQuotaCmd{}), wrap(UpdateUserQuota))
 		r.Put("/users/:id/quotas/:target", bind(m.UpdateUserQuotaCmd{}), wrap(UpdateUserQuota))
-    r.Get("/stats", AdminGetStats)
+		r.Get("/stats", AdminGetStats)
 	}, reqGrafanaAdmin)
 	}, reqGrafanaAdmin)
 
 
 	// rendering
 	// rendering

+ 9 - 9
pkg/models/stats.go

@@ -20,16 +20,16 @@ type GetDataSourceStatsQuery struct {
 }
 }
 
 
 type AdminStats struct {
 type AdminStats struct {
-  UserCount       int
-  OrgCount        int
-  DashboardCount  int 
-  DBSnapshotCount int
-  DBTagCount      int
-  DataSourceCount int
-  PlaylistCount   int
-  StarredDBCount  int
+	UserCount       int `json:"user_count"`
+	OrgCount        int `json:"org_count"`
+	DashboardCount  int `json:"dashboard_count"`
+	DbSnapshotCount int `json:"db_snapshot_count"`
+	DbTagCount      int `json:"db_tag_count"`
+	DataSourceCount int `json:"data_source_count"`
+	PlaylistCount   int `json:"playlist_count"`
+	StarredDbCount  int `json:"starred_db_count"`
 }
 }
 
 
 type GetAdminStatsQuery struct {
 type GetAdminStatsQuery struct {
-  Result *AdminStats
+	Result *AdminStats
 }
 }

+ 11 - 11
pkg/services/sqlstore/stats.go

@@ -8,7 +8,7 @@ import (
 func init() {
 func init() {
 	bus.AddHandler("sql", GetSystemStats)
 	bus.AddHandler("sql", GetSystemStats)
 	bus.AddHandler("sql", GetDataSourceStats)
 	bus.AddHandler("sql", GetDataSourceStats)
-  bus.AddHandler("sql", GetAdminStats)
+	bus.AddHandler("sql", GetAdminStats)
 }
 }
 
 
 func GetDataSourceStats(query *m.GetDataSourceStatsQuery) error {
 func GetDataSourceStats(query *m.GetDataSourceStatsQuery) error {
@@ -49,7 +49,7 @@ func GetSystemStats(query *m.GetSystemStatsQuery) error {
 }
 }
 
 
 func GetAdminStats(query *m.GetAdminStatsQuery) error {
 func GetAdminStats(query *m.GetAdminStatsQuery) error {
-  var rawSql = `SELECT
+	var rawSql = `SELECT
       (
       (
         SELECT COUNT(*)
         SELECT COUNT(*)
         FROM ` + dialect.Quote("user") + `
         FROM ` + dialect.Quote("user") + `
@@ -73,23 +73,23 @@ func GetAdminStats(query *m.GetAdminStatsQuery) error {
       (
       (
         SELECT COUNT(*)
         SELECT COUNT(*)
         FROM ` + dialect.Quote("data_source") + `
         FROM ` + dialect.Quote("data_source") + `
-      ) AS datasource_count,
+      ) AS data_source_count,
       (
       (
         SELECT COUNT(*)
         SELECT COUNT(*)
         FROM ` + dialect.Quote("playlist") + `
         FROM ` + dialect.Quote("playlist") + `
       ) AS playlist_count,
       ) AS playlist_count,
       (
       (
-        SELECT DISTINCT(dashboard_id)
+        SELECT COUNT (DISTINCT ` + dialect.Quote("dashboard_id") + ` )
         FROM ` + dialect.Quote("star") + `
         FROM ` + dialect.Quote("star") + `
       ) AS starred_db_count
       ) AS starred_db_count
       `
       `
 
 
-  var stats m.AdminStats
-  _, err := x.Sql(rawSql).Get(&stats)
-  if err != nil {
-    return err
-  }
+	var stats m.AdminStats
+	_, err := x.Sql(rawSql).Get(&stats)
+	if err != nil {
+		return err
+	}
 
 
-  query.Result = &stats
-  return err
+	query.Result = &stats
+	return err
 }
 }