Ich versuche Daten mit statsd und graphite zu zeichnen. Ich habe einen einfachen Zähler, ich inkrementiere ihn um 1, und wenn ich die Werte für den Zähler über den Tag grafisch darstelle, sehe ich merkwürdige Werte wie 0,09 als Spitze in meinem Graphen (siehe Ссылка )
Dieses Diagramm sollte zwei Logins anzeigen, zeigt aber stattdessen 0,09. Wenn ich die Zeitskala von 1 Tag auf die letzten 15 Minuten ändere, werden die beiden Logins korrekt angezeigt (siehe Ссылка )
Ich habe meine beste Retention so eingerichtet, dass sie sich in storage-schemas.conf in 10er-Schritten befindet:
%Vor%Ich habe meine Datei "storage-aggregation.conf" auf die Anzahl der Summen eingerichtet:
%Vor%(Und bevor Sie fragen, ja; das ist ein .count).
Wenn ich meine URL mit &rawData=true
versuche, dann sehe ich in jedem Fall einige None
s, einige 0.0
s und ein Paar 1.0
s getrennt durch einige 0.0
s. Ich sehe niemals diese Bruchwerte, die irgendwie auf dem Graphen erscheinen. Also ... Ist das ein Fehler? Mache ich etwas falsch?
Es gibt auch die Funktion consolidateBy , die Graphit mitteilt, was zu tun ist, wenn es nicht genug Pixel gibt, um alles genau zu zeichnen. Standardmäßig verwendet es die "avg" -Funktion und daher seltsame Ergebnisse, wenn die Zeitbereiche größer sind. Hier Auszug aus der Dokumentation:
Wenn ein Diagramm gezeichnet wird, in dem die Breite des Diagramms in Pixeln angegeben ist kleiner als die Anzahl der grafisch darzustellenden Datenpunkte, Graphit konsolidiert die Werte um Zeilenüberlappungen zu vermeiden. Das Die Funktion consolidateBy () ändert die Konsolidierungsfunktion von Standard von 'Durchschnitt' zu einem von 'Summe', 'Max' oder 'Min'. Das ist besonders nützlich in Verkaufsgraphen, wo Bruchwerte nein machen Sinn und eine "Summe" von konsolidierten Werten ist angemessen.
Eine weitere nützliche Funktion ist hitcount . Kurzer Auszug aus hier warum es nützlich ist:
Diese Funktion ist wie summarize (), außer dass sie kompensiert automatisch für verschiedene Zeitskalen (so dass eine ähnliche Grafik Ergebnisse aus der Verwendung feinkörniger oder grobkörniger Datensätze) und verarbeitet selten auftretende Ereignisse ordnungsgemäß.
Ich habe einige Zeit damit verbracht, mir den Kopf zu kratzen, warum ich Brüche für meinen Zähler bekomme, wenn die Zeitspannen länger als ein paar Stunden sind, wenn meine Aggregationsregel max. Es ist ziemlich verwirrend, besonders am Anfang, wenn Sie mit einzelnen Zählern spielen, um zu sehen, ob alles funktioniert. Das Überprüfen von rawData ist eine ziemlich gute Möglichkeit, die Plausibilitätsprüfung zu überprüfen;)
Tags und Links graphite