aboutsummaryrefslogtreecommitdiff
path: root/kamon-status/src/api/StatusApi.ts
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-status/src/api/StatusApi.ts')
-rw-r--r--kamon-status/src/api/StatusApi.ts40
1 files changed, 35 insertions, 5 deletions
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<Module>
}
+export interface MetricRegistryStatus {
+ metrics: Array<MetricInfo>
+}
+
export class StatusApi {
- public baseInfo(): Promise<BaseInfo> {
- return axios.get("/status/base-info").then(response => {
- return response.data as BaseInfo
+ public static configStatus(): Promise<Config> {
+ 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<ModuleRegistryStatus> {
+ public static moduleRegistryStatus(): Promise<ModuleRegistryStatus> {
return axios.get("/status/modules").then(response => {
return response.data as ModuleRegistryStatus
})
}
+
+ public static metricRegistryStatus(): Promise<MetricRegistryStatus> {
+ return axios.get("/status/metrics").then(response => {
+ return response.data as MetricRegistryStatus
+ })
+ }
} \ No newline at end of file