mirror of https://github.com/waku-org/metrics.git
22 lines
700 B
TypeScript
22 lines
700 B
TypeScript
import axios from "axios";
|
|
|
|
const promUrl: string = process.env.NEXT_PUBLIC_PROMETHEUS_URL || "https://metrics-proxy.infra.status.im";
|
|
|
|
export default class Prometheus {
|
|
|
|
static async getMetric(metric: string) {
|
|
const data = (await axios.get('/' + metric, {baseURL: promUrl})).data
|
|
if (data.status != "success") return NaN
|
|
return data
|
|
}
|
|
|
|
static async getAvgPing(): Promise<number> {
|
|
const data = await this.getMetric("avg_ping")
|
|
return data.data.result[0].value[1]
|
|
}
|
|
|
|
static async getConnectablePeers(): Promise<number> {
|
|
const data = await this.getMetric("connectable_peers")
|
|
return data.data.result[0].value[1]
|
|
}
|
|
} |