NEWS
Grafana Werte addieren pro Tag
-
@marc-berg So, jetzt habe ich es hinbekommen und es gibt nur noch eine einzige Frage an der ich mir ie Zähne ausbeiße:

Gibt es eine Möglichkeit, eventuell über den Code im Query die Anzeige der Stunden korrekt darzustellen?Weil 2,92 Std sind ja eigentlich 2 Std. 55 Minuten
Weißt Du wie man das macht?
Der Code sieht bisher so aus:
import "timezone" option location = timezone.location(name: "Europe/Berlin") from(bucket: "DBANDY1") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "Laufzeit_Imac") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start")@damrak2022 sagte in Grafana Werte addieren pro Tag:
Gibt es eine Möglichkeit, eventuell über den Code im Query die Anzeige der Stunden korrekt darzustellen?
Weil 2,92 Std sind ja eigentlich 2 Std. 55 Minuten
Weißt Du wie man das macht?
Schwieriges Problem, für das es bestimmt eine ganz einfache Lösung gibt, die ich aber nicht kenne. Mit dieser Query hier kannst Du Werte als "h:mi" formatieren. Dann hast Du aber im Ergebnis einen String, mit dem die Charts wiederum nichts anfangen können.
import "timezone" import "math" import "strings" option location = timezone.location(name: "Europe/Berlin") from(bucket: "DBANDY1") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "Laufzeit_Imac") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start") |> map(fn: (r) => ({r with _value: math.trunc(x:r._value/60.0) + math.trunc(x:r._value - math.trunc(x:r._value/60.0)*60.0)/100.0})) |> toString() |> map(fn: (r) => ({r with _value: strings.replace(v: r._value, t: ".", u: ":", i: 1)})) -
@damrak2022 sagte in Grafana Werte addieren pro Tag:
Gibt es eine Möglichkeit, eventuell über den Code im Query die Anzeige der Stunden korrekt darzustellen?
Weil 2,92 Std sind ja eigentlich 2 Std. 55 Minuten
Weißt Du wie man das macht?
Schwieriges Problem, für das es bestimmt eine ganz einfache Lösung gibt, die ich aber nicht kenne. Mit dieser Query hier kannst Du Werte als "h:mi" formatieren. Dann hast Du aber im Ergebnis einen String, mit dem die Charts wiederum nichts anfangen können.
import "timezone" import "math" import "strings" option location = timezone.location(name: "Europe/Berlin") from(bucket: "DBANDY1") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "Laufzeit_Imac") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start") |> map(fn: (r) => ({r with _value: math.trunc(x:r._value/60.0) + math.trunc(x:r._value - math.trunc(x:r._value/60.0)*60.0)/100.0})) |> toString() |> map(fn: (r) => ({r with _value: strings.replace(v: r._value, t: ".", u: ":", i: 1)}))@marc-berg Ja, Du hast recht. So geht es leider nicht. Habe es gerade mal ausprobiert. Ich habe jetzt mal in der Grafana Community gepostet. Eventuell können die Mädels und Jungs weiterhelfen.
-
@damrak2022 sagte in Grafana Werte addieren pro Tag:
Gibt es eine Möglichkeit, eventuell über den Code im Query die Anzeige der Stunden korrekt darzustellen?
Weil 2,92 Std sind ja eigentlich 2 Std. 55 Minuten
Weißt Du wie man das macht?
Schwieriges Problem, für das es bestimmt eine ganz einfache Lösung gibt, die ich aber nicht kenne. Mit dieser Query hier kannst Du Werte als "h:mi" formatieren. Dann hast Du aber im Ergebnis einen String, mit dem die Charts wiederum nichts anfangen können.
import "timezone" import "math" import "strings" option location = timezone.location(name: "Europe/Berlin") from(bucket: "DBANDY1") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "Laufzeit_Imac") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start") |> map(fn: (r) => ({r with _value: math.trunc(x:r._value/60.0) + math.trunc(x:r._value - math.trunc(x:r._value/60.0)*60.0)/100.0})) |> toString() |> map(fn: (r) => ({r with _value: strings.replace(v: r._value, t: ".", u: ":", i: 1)}))@marc-berg Mit Hilfe von jemand anderem habe ich es nun hinbekommen die Zeit vernünftig darzustellen:
Bei Unit muss "duration h:mm:ss" rein
Der Code benötigt zusätzlich folgende Zeile:

Dann sieht das Ergebnis so aus:

Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden