diff --git a/light9/web/lib/parse-prometheus-text-format.d.ts b/light9/web/lib/parse-prometheus-text-format.d.ts
new file mode 100644
--- /dev/null
+++ b/light9/web/lib/parse-prometheus-text-format.d.ts
@@ -0,0 +1,4 @@
+declare module "parse-prometheus-text-format" {
+ function parsePrometheusTextFormat(s: string): any;
+ export default parsePrometheusTextFormat;
+}
diff --git a/light9/web/metrics/StatsLine.ts b/light9/web/metrics/StatsLine.ts
--- a/light9/web/metrics/StatsLine.ts
+++ b/light9/web/metrics/StatsLine.ts
@@ -48,7 +48,7 @@ export class StatsLine extends LitElemen
changedProperties.forEach((oldValue: any, propName: string) => {
if (propName == "name") {
const reload = () => {
- fetch("/service/"+this.name + "/metrics").then((resp) => {
+ fetch("/service/" + this.name + "/metrics").then((resp) => {
if (resp.ok) {
resp
.text()
@@ -58,7 +58,7 @@ export class StatsLine extends LitElemen
setTimeout(reload, 1000);
})
.catch((err) => {
- log(`${this.name} failing`, err)
+ log(`${this.name} failing`, err);
setTimeout(reload, 1000);
});
} else {
@@ -195,7 +195,6 @@ export class StatsLine extends LitElemen
return html`[NEW ${JSON.stringify(d)} ${path}]`;
}
-
valueDisplay(m: Metric, v: Value): TemplateResult {
if (m.type == "GAUGE") {
return html`${v.value}`;
@@ -249,22 +248,18 @@ export class StatsLine extends LitElemen
}
tightLabel(labs: { [key: string]: string }): string {
- const d: { [key: string]: string } = {}
+ const d: { [key: string]: string } = {};
for (let k in labs) {
- if (k == 'app_name') continue;
- if (k == 'output') continue;
- if (k=='status_code'&&labs[k]=="200") continue;
- d[k] = labs[k]
+ if (k == "app_name") continue;
+ if (k == "output") continue;
+ if (k == "status_code" && labs[k] == "200") continue;
+ d[k] = labs[k];
}
- const ret = JSON.stringify(d)
- return ret == "{}" ? "" : ret
+ const ret = JSON.stringify(d);
+ return ret == "{}" ? "" : ret;
}
tightMetric(name: string): string {
- return name
- .replace('starlette', '⭐')
- .replace("_request" ,"_req")
- .replace("_duration" ,"_dur")
- .replace('_seconds', '_s')
+ return name.replace("starlette", "⭐").replace("_request", "_req").replace("_duration", "_dur").replace("_seconds", "_s");
}
render() {
const now = Date.now() / 1000;
@@ -274,31 +269,31 @@ export class StatsLine extends LitElemen
${displayedStats.map(
- (row, rowNum) => html`
+ (row, rowNum) => html`
${this.tightMetric(row.name)} |
${row.metrics.map(
- (v) => html`
+ (v) => html`
${this.tightLabel(v.labels)} |
${this.valueDisplay(row, v)} |
`
- )}
+ )}
|
${rowNum == 0
- ? html`
+ ? html`
|
`
- : ""}
+ : ""}
`
- )}
+ )}
`;