Wie wir jüngst bei den Entwicklungsarbeiten zu GitHub - panodata/grafanimate: Animate timeseries data with Grafana. und den Aufbereitungsarbeiten bei Feinstaub zu Silvester 2018 - #12 by clemens ff. festgestellt haben, hat das Dashboard pm10-karte-uba-and-ldi-korrigiert-letzter-wert folgende Parameter voreingestellt:
Auf Nachfrage bei @wtf kam folgendes heraus:
Das ist daher produktiv so eingestellt, damit nur der letzte/aktuelle Wert gezeigt wird. Sonst würde das Dashboard AFAIK den kompletten Timerange abfragen, also ggf. alle einzelnen Datenpunkte über den eingestellten Zeitraum abfragen. Bei größeren Zeiträumen wie 2M oder gar 2y wären das sehr viele.
Da ist was dran, das wären dann zigtausende an Werten, die unnötig Ressourcen verschwenden. Die Einstellung ist also ein Versuch, die Serverlast, das Transfervolumen und die fürs Rendering auf Browserseite aufgewendeten CPU Zyklen und Hauptspeicher pro Abfrage möglichst zu minimieren. Top!
Eigentlich sollte aber die “current” Einstellung im Tab davor ausreichen, um die Anzahl der Datenpunkte fachgerechter einzuschränken.
Let’s investigate?
Das bezieht sich vermutlich auf den »Metrics« Tab, das genannte Dashboard hat hier derzeit folgende Einstellungen:
Aktuelle Datenbankabfrage
SELECT last("P1") AS "metric"
FROM "earth_43_sensors"
WHERE ("geohash" =~ /^u.*/ AND "sensor_type" =~ /SDS.*/) AND $timeFilter
GROUP BY "geohash", "location_id"
Bem.: Wir schränken hier derzeit also auch auf Sensoren des Typs SDS011 ein.
Todo
Wir sollten also mal die Permutationen der jeweiligen Einstellungen gegenüberhalten und dabei unter der Haube nachsehen, ob die Projektion von last("P1")
an dieser Stelle ausreicht, wie eigentlich anzunehmen wäre.
Frage I
Zur Erzeugung der Animationen unter Feinstaub zu Silvester 2018 ff. per grafanimate · PyPI verwenden wir die Projektion first("P1")
:
SELECT first("P1") AS "metric"
FROM "ldi_readings"
WHERE ("geohash" !~ /^$/) AND $timeFilter
GROUP BY "geohash", "station_id"
Außerdem haben wir o.g. Einstellungen bei “Relative time” und “Time shift” zurückgenommen.
Spricht da grundsätzlich irgendetwas dagegen? Wäre also last("P1")
gegenüber first("P1")
zu bevorzugen?
Frage II
Kann hier u.U. auch »das min time interval für auto-grouping« eine Rolle spielen bzw. ein möglicher Vektor zur fachgerechten Einflussnahme sein, wie unter Daten werden bei hoher Publikationsfrequenz nicht in Grafana angezeigt beschrieben?
Die Darstellung von Werten auf einem “normalen” Graph Panel vs. der Darstellung auf einer Karte beherbergen ja doch bestimmte Unterschiede hinsichtlich der gewollten Reduktions- bzw. Darstellungsgranularität.
Nachschlag … nope, beim world-map-plugin gibts noch im Tab “Worldmap” rechts den Punkt “Aggregation”, der derzeit auf “current” steht und auch min/max/avg/total sein könnte.
Das macht mehr Sinn, ja. Danke!