Changeset - 623836db99af
[Not reviewed]
default
0 1 1
drewp@bigasterisk.com - 19 months ago 2023-06-08 22:05:59
drewp@bigasterisk.com
fix ts warning
2 files changed with 20 insertions and 21 deletions:
0 comments (0 inline, 0 general)
light9/web/lib/parse-prometheus-text-format.d.ts
Show inline comments
 
new file 100644
 
declare module "parse-prometheus-text-format" {
 
  function parsePrometheusTextFormat(s: string): any;
 
  export default parsePrometheusTextFormat;
 
}
light9/web/metrics/StatsLine.ts
Show inline comments
 
@@ -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
 
      <div>
 
        <table>
 
          ${displayedStats.map(
 
      (row, rowNum) => html`
 
            (row, rowNum) => html`
 
              <tr>
 
                <th>${this.tightMetric(row.name)}</th>
 
                <td>
 
                  <table>
 
                    ${row.metrics.map(
 
        (v) => html`
 
                      (v) => html`
 
                        <tr>
 
                          <td>${this.tightLabel(v.labels)}</td>
 
                          <td>${this.valueDisplay(row, v)}</td>
 
                        </tr>
 
                      `
 
      )}
 
                    )}
 
                  </table>
 
                </td>
 
                ${rowNum == 0
 
          ? html`
 
                  ? html`
 
                      <td rowspan="${displayedStats.length}">
 
                        <stats-process id="proc" cpu="${this.cpu}" mem="${this.mem}"></stats-process>
 
                      </td>
 
                    `
 
          : ""}
 
                  : ""}
 
              </tr>
 
            `
 
    )}
 
          )}
 
        </table>
 
      </div>
 
    `;
0 comments (0 inline, 0 general)