Graphite zeigt Werte nicht korrekt an, wenn lange Zeitspannen verwendet werden.

8

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?

    
Jason Walton 22.10.2012, 20:16
quelle

1 Antwort

2

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;)

    
slawek 09.01.2015 11:11
quelle

Tags und Links