From ff8b915260e90084179dcb1d8b0b7b5f62b98470 Mon Sep 17 00:00:00 2001 From: Ivan Topolnjak Date: Thu, 31 Jan 2019 22:59:18 +0100 Subject: show number of modules and metrics on the status page --- kamon-status/src/api/StatusApi.ts | 40 ++++++++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 5 deletions(-) (limited to 'kamon-status/src/api/StatusApi.ts') diff --git a/kamon-status/src/api/StatusApi.ts b/kamon-status/src/api/StatusApi.ts index 540c1c53..7f18b2ed 100644 --- a/kamon-status/src/api/StatusApi.ts +++ b/kamon-status/src/api/StatusApi.ts @@ -7,35 +7,65 @@ export interface Environment { tags: { [key: string]: string } } -export interface BaseInfo { +export interface Config { version: string environment: Environment config: any } +export enum ModuleKind { + Combined = "combined", + Metric = "metric", + Span = "span", + Plain = "plain", + Unknown = "unknown" +} + export interface Module { name: string description: string + kind: ModuleKind enabled: boolean started: boolean } +export interface MetricInfo { + name: string + type: string + tags: { [key: string ]: string } +} + export interface ModuleRegistryStatus { modules: Array } +export interface MetricRegistryStatus { + metrics: Array +} + export class StatusApi { - public baseInfo(): Promise { - return axios.get("/status/base-info").then(response => { - return response.data as BaseInfo + public static configStatus(): Promise { + return axios.get("/status/config").then(response => { + const config = JSON.parse(response.data.config) + return { + version: response.data.version, + environment: response.data.environment, + config + } }) } - public moduleRegistryStatus(): Promise { + public static moduleRegistryStatus(): Promise { return axios.get("/status/modules").then(response => { return response.data as ModuleRegistryStatus }) } + + public static metricRegistryStatus(): Promise { + return axios.get("/status/metrics").then(response => { + return response.data as MetricRegistryStatus + }) + } } \ No newline at end of file -- cgit v1.2.3