apis.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. import { getBackendSrv } from 'app/core/services/backend_srv';
  2. export interface ServerStat {
  3. name: string;
  4. value: number;
  5. }
  6. export const getServerStats = async (): Promise<ServerStat[]> => {
  7. try {
  8. const res = await getBackendSrv().get('api/admin/stats');
  9. return [
  10. { name: 'Total users', value: res.users },
  11. { name: 'Total admins', value: res.admins },
  12. { name: 'Total editors', value: res.editors },
  13. { name: 'Total viewers', value: res.viewers },
  14. { name: 'Active users (seen last 30 days)', value: res.activeUsers },
  15. { name: 'Active admins (seen last 30 days)', value: res.activeAdmins },
  16. { name: 'Active editors (seen last 30 days)', value: res.activeEditors },
  17. { name: 'Active viewers (seen last 30 days)', value: res.activeViewers },
  18. { name: 'Active sessions', value: res.activeSessions },
  19. { name: 'Total dashboards', value: res.dashboards },
  20. { name: 'Total orgs', value: res.orgs },
  21. { name: 'Total playlists', value: res.playlists },
  22. { name: 'Total snapshots', value: res.snapshots },
  23. { name: 'Total dashboard tags', value: res.tags },
  24. { name: 'Total starred dashboards', value: res.stars },
  25. { name: 'Total alerts', value: res.alerts },
  26. ];
  27. } catch (error) {
  28. console.error(error);
  29. throw error;
  30. }
  31. };