pgBadger 10.x – Versionshinweise
Diese Einträge geben den vollständigen Upstream-Änderungsverlauf für pgBadger 10.x wieder, beginnend mit der neuesten Version.
v10.3 · 2019-02-14
Dieses Wartungsrelease von pgBadger behebt einige Probleme bei der automatischen Erkennung des Logformats sowie ein weiteres, von Benutzern gemeldetes Problem beim Parsen von PgBouncer-Logs. Es enthält außerdem eine neue Funktion:
Die Option -o | --outfile kann nun mehrfach verwendet werden, um
Ausgaben mit einem einzigen Befehl in mehreren Formaten zu erzeugen. Beispiel:
pgbadger -o out.html -o out.json /log/pgsql-11.log
Dadurch entstehen zwei Berichte im HTML- und JSON-Format, die in den
beiden entsprechenden Dateien gespeichert werden.
Darüber hinaus enthält das Release Fehlerkorrekturen und Funktionsverbesserungen.
- Korrigiert Statistikberichte bei Verwendung eines Filters nach Datenbank, Benutzer, Client oder Anwendung; einige Abfragen fehlten in den Berichten.
- Korrigiert die automatische Erkennung des standardmäßigen Logzeilenpräfixes für pg>=10.
- Korrigiert die automatische Erkennung von Logdateien mit einem „nicht standardmäßigen“ Logzeilenpräfix. Wenn –prefix %t, %m, %n und %p oder %c angibt, wird stderr als Format verwendet. Dank an Alex Danvy für die Meldung.
- Entfernt ein überflüssiges Leerzeichen am Zeilenende.
- Fügt einen Minimaltest für den Syslog-Parser hinzu.
- Korrigiert einen Aufruf von autodetect_format().
- Kürzt Anweisungen bei Verwendung von maxlength. Dank an Thibaud Madelaine für den Patch.
- Fügt einen Test für mehrere Ausgabeformate hinzu.
- Die Option -o | –outfile kann nun mehrfach verwendet werden, um mit einem einzigen Befehl Ausgaben in mehreren Formaten zu erzeugen. Beispiel: pgbadger -o out.txt -o out.html -o - -x json /log/pgsql-11.log pgbadger erstellt dabei zwei Berichte im Text- und HTML-Format und speichert sie in den beiden entsprechenden Dateien. Zusätzlich gibt es einen JSON-Bericht auf der Standardausgabe aus. Dank an Nikolay für den Funktionswunsch.
- Verschiebt die Erkennung des Ausgabeformats und die Festlegung des Ausgabedateinamens in die eigene Funktion set_output_extension().
- Behebt ein weiteres Problem beim Parsen von PgBouncer-Logs. Dank an Douglas J. Hunley für die Meldung.
v10.2 · 2018-12-27
Dieses Wartungsrelease von pgBadger behebt Probleme, die Benutzer in den vergangenen drei Monaten gemeldet haben. Es enthält außerdem einige neue Funktionen:
- Unterstützt das Stats-Logformat von PgBouncer 1.8.
- Passt die Zeitzone von JavaScript-Diagrammen automatisch an.
Hinzu kommen neue Befehlszeilenoptionen:
Fügt die Option –exclude-db hinzu, um einen Bericht über alles außer der angegebenen Datenbank zu erstellen.
Unterstützt das Herunterladen entfernter PostgreSQL-Logdateien über HTTP oder FTP. Die Logdatei wird während des Downloads mit dem Befehl curl geparst und nie auf der Festplatte gespeichert. Bei der entfernten Logauswertung über SSH lässt sich die PostgreSQL-Logdatei über eine URI als Befehlszeilenargument angeben. ssh://localhost/postgresql-10-main.log http://localhost/postgresql-10-main.log.gz ftp://localhost/postgresql-10-main.log
Bei den Protokollen HTTP und FTP muss das Logdateiformat am Ende der URI angegeben werden:
http://localhost/postgresql-10-main.log:stderrFür die zu parsenden Logdateien können mehrere URIs angegeben werden. Das ist praktisch, wenn sich eine PgBouncer-Logdatei auf einem entfernten Rechner und die PostgreSQL-Logs auf dem lokalen Rechner befinden.
Beim Protokoll SSH lassen sich wie im Remote-Modus ebenfalls Platzhalter verwenden, beispielsweise: ssh://localhost/postgresql-10-main.log*
Die alte Syntax zum Parsen entfernter Logdateien mit der Option -r funktioniert weiterhin, ist jedoch veraltet und könnte in künftigen Versionen entfallen.
Darüber hinaus enthält das Release Fehlerkorrekturen und Funktionsverbesserungen.
- Passt das Ende der Fortschrittsanzeige bei Dateien mit geschätzter Größe an (bz2-komprimierte und komprimierte Dateien auf entfernten Rechnern).
- Aktualisiert die Jahresangabe im Copyright.
- Ergänzt Informationen zur URI-Notation für das Parsen entfernter Logdateien.
- Stellt sicher, dass die Fortschrittsanzeige nach dem Parsen einer komprimierten Datei auf einem entfernten Rechner 100% erreicht.
- Extrahiert Informationen zu PL/pgSQL-Funktionsaufrufen aus Abfragen in Berichten zu temporären Dateien und ergänzt sie im Detailanzeigeblock.
- Korrigiert die Fortschrittsanzeige für CSV-Dateien.
- Korrigiert die Verarbeitung einer Binärdatei als Eingabedatei statt als Logdatei.
- Kodiert die HTML-Ausgabe von Abfragen als UTF8, um die Meldung „Wide character in print“ zu vermeiden. Dank an Colin ’t Hart für die Meldung.
- Fügt das Schlüssel-Wert-Paar Checkpoints distance für die Abstandsspitze hinzu.
- Korrigiert das PgBouncer-Parsing und die Berichte zum Anfragedurchsatz. Dank an Levente Birta für die Meldung.
- Korrigiert die Verwendung von csvlog statt csv als Eingabeformat.
- Unterstützt das Stats-Logformat von PgBouncer 1.8. Dank an Levente Birta für die Meldung.
- Fügt eine Warnung hinzu, dass die parallele Verarbeitung mit csvlog deaktiviert ist. Dank an cstdenis für die Meldung.
- Ergänzt die Ausgabe der Nutzungshinweise um Informationen zum erzwungenen Einzelprozessbetrieb mit dem Format csvlog und den Optionen -j und -J. Dank an cstdenis für die Meldung.
- Behebt den Fehler „unknown line format“ bei mehrzeiligen Logs während der inkrementellen Analyse über SSH. Dank an Wooyoung Cho für die Meldung.
- Fügt dem Befehl curl die Option -k (–insecure) hinzu, damit Logs von Servern mit selbstsigniertem Zertifikat heruntergeladen werden können.
- Passt die Zeitzone von JavaScript-Diagrammen automatisch an. Dank an Massimino Sala für den Funktionswunsch.
- Unterstützt das Herunterladen von Logdateien über HTTP durch pgBadger, beispielsweise: /usr/bin/pgbadger http://www.mydom.com/postgresql-10.log
- Parst die Datei während des Downloads mit dem Befehl curl.
- Korrigiert die Dokumentation. Dank an 0xflotus für den Patch.
- Wendet die Korrektur für die fehlende Ersetzung von Bind-Parametern nach weiterer Codebereinigung erneut an. Dank an Bernhard J. M. Grun für die Meldung.
- Fügt die Option –exclude-db hinzu, um einen Bericht über alles außer der angegebenen Datenbank zu erstellen. Die Option kann mehrfach verwendet werden.
v10.1 · 2018-09-12
Dieses Wartungsrelease von pgBadger behebt Fehler in Berichten im inkrementellen Modus sowie bei der Mehrprozessverarbeitung mit der Option -j. Auch das Parsen von Logs aus der Standardeingabe war fehlerhaft. Wenn Sie v10.0 verwenden, sollten Sie jetzt aktualisieren.
- Fügt einen Test für den PgBouncer-Logparser hinzu.
- Verbessert die Leistung geringfügig.
- Behebt den Fehler „not a valid file descriptor at pgbadger line 12314“.
- Behebt einen unerwünschten Zeilenumbruch in der Fortschrittsanzeige beim Start.
- Entfernt die CircleCI-Dateien aus dem Projekt.
- Entfernt die Abhängigkeiten von bats und jq aus der Testsuite; sie wurden durch Test::Simple und JSON::XS ersetzt.
- Fügt weitere Tests hinzu, insbesondere für den inkrementellen Modus und die in Version 10.0 fehlerhafte Eingabe über stdin.
- Synchronisiert pgbadger, pod und README und behebt einige Syntaxfehler. Dank an Christoph Berg für den Patch.
- Ergänzt eine Anleitung zur Installation des Perl-Moduls JSON::XS aus den Repositories von apt und yum.
- Korrigiert die URI für CSS im inkrementellen Modus. Dank an Floris van Nee für die Meldung.
- Behebt einen fatalen Fehler bei der Suche nach einem Log über STDIN. Dank an Jacek Szpot für die Meldung.
- Korrigiert die Verwendung von SED für OSX-Builds. Dank an Steve Newson für den Patch.
- Behebt den Fehler „illegal division by zero“ im inkrementellen Modus. Dank an aleszeleny für die Meldung.
- Ersetzt SQL::Beautify durch v3.1 von pgFormatter::Beautify.
v10.0 · 2018-09-09
Dieses Major-Release von pgBadger führt neue Funktionen ein und behebt alle seit dem vorherigen Release von Benutzern gemeldeten Probleme.
- Unterstützt das Syslog-Logdateiformat von PgBouncer.
- Unterstützt alle auto_explain-Formate (text, xml, json und yaml).
- Unterstützt den Platzhalter %q in log_line_prefix.
- Unterstützt das jsonlog-Format der Erweiterung von Michael Paquier; mit -f jsonlog kann pgbadger das Log parsen.
- Ersetzt den SQL-Formatter/Beautifier durch v3.0 von pgFormatter.
Hinzu kommen neue Befehlszeilenoptionen:
- Fügt die Befehlszeilenoption –prettify-json hinzu, um die JSON-Ausgabe leserfreundlich zu formatieren.
- Fügt die Befehlszeilenoption –log-timezone +/-XX hinzu. Sie gibt an, um wie viele Stunden die verwendete Zeitzone von GMT abweicht, damit Datum/Uhrzeit aus der Logdatei vor dem Parsen entsprechend angepasst werden. Wenn der Client eine andere Zeitzone verwendet, muss die Zeitzone der Diagramme möglicherweise weiterhin mit -Z angepasst werden.
- Fügt die Option –include-time hinzu. Damit lassen sich die gewünschten Zeiträume auswählen, anstatt alle unerwünschten Zeiträume auszuschließen (–exclude-time).
Das pgBadger-Projekt und die Urheberrechte wurden von Dalibo auf den Autor und offiziellen Maintainer des Projekts übertragen. Bitte aktualisieren Sie Ihre Links:
- Website: http://pgbadger.darold.net/
- Quellcode: https://github.com/darold/pgbadger
Ich danke dem großartigen Team bei Dalibo für sein langjähriges Engagement für pgBadger, insbesondere Damien Clochard und Jean-paul argudo für ihre Unterstützung bei der Bekanntmachung von pgBadger.
- Korrigiert die fehlende Anzeige von Checkpoint-Abstand und -Schätzung im inkrementellen Modus. Dank an aleszeleny für die Meldung.
- Korrigiert den Titel des Berichts zu gleichzeitigen PgBouncer-Sitzungen. Dank an Jehan Guillaume De Rorthais für die Meldung.
- Unterstützt das Syslog-Logdateiformat von PgBouncer. Dank an djester für den Funktionswunsch.
- Behebt einen Fehler bei einem leeren Remote-Log. Dank an Parasit Hendersson für die Meldung.
- Korrigiert den Test für das Binärformat. Die Binärdatei muss erzeugt werden, da sie plattformabhängig ist. Dank an Michal Nowak für die Meldung.
- Korrigiert einen Fall, in dem ein leerer explain-Plan erzeugt wird.
- Korrigiert das Parsing des automatisch erkannten Standardformats bei Angabe eines Präfixes auf der Befehlszeile.
- Entfernt die Abhängigkeit vom Befehl git in Makefile.PL.
- Passt die Dokumentation an die geänderten Optionen an und entfernt den Teil [%l-1] aus dem vorgeschriebenen Präfix.
- Korrigiert das Parsing der Systemauslastung für vacuum / analyze unter PostgreSQL 10. Dank an Achilleas Mantzios für den Patch.
- Korrigiert die Tabelle Temporary File Activity.
- Entfernt die Abhängigkeit von git während der Installation.
- Fügt die Befehlszeilenoption –log-timezone +/-XX hinzu. Sie gibt an, um wie viele Stunden die verwendete Zeitzone von GMT abweicht, damit Datum/Uhrzeit aus der Logdatei vor dem Parsen entsprechend angepasst werden. Die Option erschwert die Logsuche nach Datum/Uhrzeit, weil die gesuchte Uhrzeit dann nicht mehr mit der Uhrzeit im Log übereinstimmt. Wenn der Client eine andere Zeitzone verwendet, muss die Zeitzone der Diagramme möglicherweise weiterhin mit -Z angepasst werden. Dank an xdexter für den Funktionswunsch und an Julien Tachoire für den Patch.
- Unterstützt das auto_explain-Ausgabeformat json. Dank an dmius für die Meldung.
- Korrigiert den auto_explain-Parser und verhindert die doppelte Zählung von Abfragen. Dank an zam6ak für die Meldung.
- Passt die checkpoint-RegEx an die Logmeldungen von PostgreSQL 10 an. Dank an Edmund Horner für den Patch.
- Ergänzt die Beschreibung der Option -f | –format um Informationen zum Format jsonlog.
- Korrigiert die Abfragenormalisierung, damit sich Bind-Abfragen nicht duplizieren. Werte werden nun zu einem einzelnen ? normalisiert, statt Zahlen durch 0 und Zeichenketten durch zwei einfache Anführungszeichen zu ersetzen. Dank an vadv für die Meldung.
- Korrigiert die Zählung der Logebenen. Dank an Jean-Christophe Arnu für die Meldung.
- Passt pgbadger besser an die Anforderungen von B::Lint für bare sub name an.
- Stellt perlcritic zufrieden.
- Fügt die Befehlszeilenoption –prettify-json hinzu, um die JSON-Ausgabe leserfreundlich zu formatieren. Standardmäßig besteht die Ausgabe aus einer einzigen Zeile.
- Korrigiert den Bericht Events distribution.
- Behebt einen Fehler bei –prefix, wenn log_line_prefix mehrere %% enthält. Dank an svb007 für die Meldung.
- Fügt die Befehlszeilenoption –log-timezone +/-XX hinzu. Sie gibt an, um wie viele Stunden die verwendete Zeitzone von GMT abweicht, damit Datum/Uhrzeit aus der Logdatei vor dem Parsen entsprechend angepasst werden. Die Option erschwert die Logsuche nach Datum/Uhrzeit, weil die gesuchte Uhrzeit dann nicht mehr mit der Uhrzeit im Log übereinstimmt. Wenn der Client eine andere Zeitzone verwendet, muss die Zeitzone der Diagramme möglicherweise weiterhin mit -Z angepasst werden. Dank an xdexter für den Funktionswunsch.
- Entfernt INDEXES aus der Schlüsselwortliste und fügt BUFFERS hinzu.
- Korrigiert die Normalisierung von Abfragen mit Cursors.
- Entfernt Dockerfile und die Dokumentation zu docker run. pgBadger wird als einzelnes Perl-Skript ohne Abhängigkeiten ausgeliefert und kann auf jeder Plattform eingesetzt werden. Der Einsatz von Docker für pgbadger ist daher unnötig: Wer nichts installieren möchte, kann die Datei pgbadger einfach an die gewünschte Stelle kopieren und ausführen.
- Korrigiert ein fehlerhaftes Raster bei fehlender Aktivität temporärer Dateien. Dank an Pierre Giraud für den Patch.
- Ergänzt die Dokumentation um eine Warnung zu log_in_duration_statement gegenüber log_duration + log_statement. Dank an Julien Tachoire für den Patch.
- Wendet den Zeitzonenversatz auf Balkendiagramme an. Dank an Julien Tachoire für den Patch.
- Löscht aktuelle Informationen zu temporären Dateien, wenn für dieselbe PID ein Fehler auftritt. Dank an Julien Tachoire für den Patch.
- Vereinheitlicht app= in Beispielen und unterstützt appname=. Einige Anwendungsbeispiele verwendeten appname= im Präfix, der Code erkannte dieses Token jedoch nicht. Nun verwenden alle Beispiele app=, und der Präfixparser unterstützt zusätzlich appname=. Dank an Christoph Berg für den Patch.
- Korrigiert den falschen Langnamen der Option -J: Er lautet –Jobs statt –job_per_file. Dank an Chad Trabant für die Meldung und an Etienne Bersac für den Patch.
- Ignoriert blib-Dateien. Dank an Etienne Bersac für den Patch.
- Fügt Konsistenztests hinzu. Dank an damien clochard für den Patch.
- Aktualisiert die Dokumentation: stderr ist für -f kein Standardwert. Dank an Christophe Courtois für den Patch.
- Aktualisiert pod und README nun immer. Dank an Etienne Bersac für den Patch.
- Fügt einige Regressionstests hinzu. Dank an Etienne Bersac für den Patch.
- Fügt eine editorconfig-Konfiguration hinzu. Dank an Etienne Bersac für den Patch.
- Entfernt temporäre vi-Dateien aus gitignore. Dank an Etienne Bersac für den Patch.
- Fügt die Option –include-time hinzu, um die anzuzeigenden Zeiträume auszuwählen, anstatt alle übrigen auszuschließen. Das ist praktisch, wenn nur ein oder zwei Tage aus den Logs einer Woche angezeigt werden sollen (mehrere Verwendungen von –exlucde-time werden durch eine einzige Verwendung von –include-time ersetzt). Dank an Wesley Bowman für den Patch.
- Prüft die pod-Syntax. Dank an Etienne Bersac für den Patch.
- Fügt HACKING zur Dokumentation der Tests hinzu. Dank an Etienne Bersac für den Patch.
- Entfernt die veraltete Option –bar-graph. Dank an Etienne Bersac für den Patch.
- Entfernt die irreführende .perltidyrc. Die Datei stammt aus 2012, und der pgbadger-Code entspricht ihren Regeln bei Weitem nicht. Der vereinheitlichte Diff von perltidy umfasst 10k Zeilen; daher wurde die Datei entfernt. Dank an Etienne Bersac für den Patch.
- Korrigiert die Verwendung eines nicht initialisierten Werts bei der SQL-Formatierung. Dank an John Krugger für die Meldung und an Jean-paul Argudo für die Meldung.