|
|
|
@ -63,10 +63,10 @@ func notServiceAccount(dialect migrator.Dialect) string { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (ss *sqlStatsService) GetSystemStats(ctx context.Context, query *stats.GetSystemStatsQuery) (result *stats.SystemStats, err error) { |
|
|
|
|
dialect := ss.db.GetDialect() |
|
|
|
|
err = ss.db.WithDbSession(ctx, func(dbSession *db.Session) error { |
|
|
|
|
sb := &db.SQLBuilder{} |
|
|
|
|
sb.Write("SELECT ") |
|
|
|
|
dialect := ss.db.GetDialect() |
|
|
|
|
sb.Write(`(SELECT COUNT(*) FROM ` + dialect.Quote("user") + ` WHERE ` + notServiceAccount(dialect) + `) AS users,`) |
|
|
|
|
sb.Write(`(SELECT COUNT(*) FROM ` + dialect.Quote("org") + `) AS orgs,`) |
|
|
|
|
sb.Write(`(SELECT COUNT(*) FROM ` + dialect.Quote("data_source") + `) AS datasources,`) |
|
|
|
@ -127,6 +127,7 @@ func (ss *sqlStatsService) GetSystemStats(ctx context.Context, query *stats.GetS |
|
|
|
|
sb.Write(`(SELECT COUNT(*) FROM ` + dialect.Quote("data_keys") + `) AS data_keys,`) |
|
|
|
|
sb.Write(`(SELECT COUNT(*) FROM ` + dialect.Quote("data_keys") + `WHERE active = true) AS active_data_keys,`) |
|
|
|
|
sb.Write(`(SELECT COUNT(*) FROM ` + dialect.Quote("dashboard_public") + `) AS public_dashboards,`) |
|
|
|
|
sb.Write(`(SELECT MIN(timestamp) FROM ` + dialect.Quote("migration_log") + `) AS database_created_time,`) |
|
|
|
|
|
|
|
|
|
sb.Write(ss.roleCounterSQL(ctx)) |
|
|
|
|
|
|
|
|
@ -138,8 +139,11 @@ func (ss *sqlStatsService) GetSystemStats(ctx context.Context, query *stats.GetS |
|
|
|
|
|
|
|
|
|
result = &stats |
|
|
|
|
|
|
|
|
|
result.DatabaseDriver = dialect.DriverName() |
|
|
|
|
|
|
|
|
|
return nil |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
return result, err |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|