2016-05-02 19 views
5

Ich habe ein einfaches Anforderungsprotokoll, in dem jeder Datensatz eine Ausführungszeit in Sekunden unter exec_time Eigenschaft hat. Es sollte immer eine Nummer sein (je niedriger desto besser). Basierend auf dieser Eigenschaft habe ich ein Dashboard-Widget, das seinen Mittelwert anzeigt und bis vor kurzem gut funktionierte. Jetzt zeigt es NaN.Finden von Werten, die NaN für mittlere Statistikfunktion in Graylog2 verursachen

Meine Vermutung ist, dass es einen oder mehrere Datensätze mit exec_time gibt, die nicht numerisch ist. Wie kann ich diese Aufzeichnungen finden?

Antwort

2

Nehmen Sie Ihre Anfrageprotokolle auf und durchlaufen Sie sie mit einem einfachen Skript, um jeden Wert einzeln zu überprüfen. Drucke diejenigen aus, die falsch sind. Mit keinen anderen Informationen meine Vermutung ist, dass Sie ein falsch getaggtes Nicht-Nummernfeld in "exec_time" eingeben, einen leeren (null, none) Wert, etwas zu groß, etwas zu klein oder einen beschädigten Eintrag irgendwo.

+0

mag ich nicht die Antwort (dass ich meinen eigenen Code schreiben muss, der durch mehrere Indizes sucht, um nicht-numerische Werte zu finden), aber das scheint hier die Lösung zu sein. – Ilija