Git-Statistiken erstellen mit Git-quick-stats 2.8.0, Texte mit Goawk 1.31.0 manipulieren, den Seed von Webservern mit P0d 0.4.7 ermitteln, die Internetverbindung mit Speedtest-go 1.7.10 testen, statische Webseiten mit Static-web-server 2.40.1 ausliefern, den Massenspeicherplatz mit Dusage 0.4.0 grafisch auswerten.
Zählmeister
Mit dem Tool Git-quick-stats 2.8.0 werten Sie unkompliziert Git-Statistiken aus.
Bei Versionsverwaltungssystemen avancierte Git über die Jahre zum Quasi-Standard. Während viele Entwicklungsumgebungen grundlegende Funktionen wie das Einpflegen von Code oder das Klonen des Codes direkt integrieren, gestaltet sich das Auswerten statistischer Daten zu einem Repository nach wie vor aufwendig. Hier will Git-quick-stats mit einer einfachen Curses-basierten Oberfläche Abhilfe schaffen. Das gehostete Shell-Skript aus dem Github-Repository lässt sich direkt einsetzen. Ohne weitere Parameter in einem lokalen Git-Repository aufgerufen, listet es alle verfügbaren Auswertungen auf. Sie entscheiden sich interaktiv für eine Statistik und erhalten das Ergebnis in der Shell. Als Konsolenwerkzeug eignet sich das Tool auch zum Einsatz über SSH-Verbindungen. Für seine Auswertungen greift es im Hintergrund auf die Git-Funktionen Diff, Show-ref und Log zurück. Darüber fragen Sie eine Tagesstatistik ebenso einfach ab wie eine nach Autor sortierte Anzahl der Beiträge. Die Anzahl der Commits analysiert das Skript auf Wunsch nach Datum, Autor, Wochentag oder Zeitzone. Möchten Sie das Tool nicht interaktiv nutzen, steuern Sie es über Aufrufparameter. So gibt -c beispielsweise alle Changelog-Einträge aus, mit -L erfolgt die Ausgabe nach Autoren sortiert. Eine detaillierte Gesamtstatistik erhalten Sie mit -T. Mit dem Schalter -j aufgerufen, gibt das Tool das Git-Log in eine JSON-Datei aus, wobei Sie den Zielpfad interaktiv angeben. Eine Übersicht über alle Parameter liefert die Onlinehilfe (-h). Weitere Anwendungsbeispiele und Beschreibungen finden Sie im Github-Repository des Projekts. Die Applikation greift für ihre Arbeit auf zahlreiche GNU-Tools zurück, die auf den meisten Systemen bereits standardmäßig vorhanden sind. Für regelmäßige Git-Nutzer stellt das Skript eine wertvolle Hilfe dar.
Flexibler Textjongleur
Das Go-basierte Goawk 1.31.0 bietet sich als flinke Awk-Alternative an.
In Shell-Skripten oder auf der Konsole ist das GNU-Tool Awk oft das Mittel der Wahl, wenn es um das Bearbeiten von Textdateien geht. Mit CSV-Dateien tut sich es sich allerdings schwer. Hier will das Go-basierte Goawk als adäquate Alternative punkten. Einige Distributionen führen bereits ältere Versionen in ihren Repositories. Das aktuellste Release erhalten Sie als Binärpaket auf der Github-Seite des Projekts. Wollen Sie die Software selbst kompilieren, benötigen Sie mindestens Go 1.20 oder neuer. Goawk ist Posix-kompatibel, entsprechend lassen sich in Awk verwendete Aufrufe oder Skripte auch in Goawk übernehmen. Darüber hinaus kann die Applikation sowohl TSV- als auch CSV-Dateien verarbeiten. Das Github-Repository des Projekts stellt dazu eine umfangreiche Dokumentation mit zahlreichen Anwendungsbeispielen bereit. So konvertiert die Software beispielsweise CSV-Dateien ins TSV-Format. Dabei soll sie deutlich schneller arbeiten als vergleichbare Python-Skripte. Kommen jedoch bei der Verarbeitung reguläre Ausdrücke ins Spiel, büßt die App den Geschwindigkeitsvorteil ein. Im Gegensatz zu Awk unterstützt Goawk auch negative Feldindizes. So liefert beispielsweise der Parameter $-2 den Inhalt des vorletzten Felds zurück. Der Parser unterstützt darüber hinaus auch einfache Anführungszeichen statt der gewohnten doppelten. Go-Entwickler können Goawk in ihre Programme integrieren und unter anderem Go-Funktionen aus einem Goawk-Skript aufrufen. Weitere Dokumentation und Anwendungsbeispiele finden Sie im Github-Repository des Tools. Die Software selbst bringt nur eine Onlinehilfe mit, die Sie mit -h aufrufen. Alles in allem platziert sich Goawk als interessante GNU-Awk-Alternative, die einige zusätzliche Funktionen mitbringt.
Server-Stoppuhr
Mit P0d 0.4.7 ermitteln Sie die Reaktionszeit von Webservern.
Um die Reaktionszeiten eines Webservers einheitlich und objektiv zu ermitteln, bietet sich P0d an. Das Go-basierte Tool fehlt in den gängigen Distributionen, Sie finden es aber als Binärpaket im Github-Repository des Projekts. Die enthaltene Readme-Datei enthält einige Anwendungsbeispiele sowie eine Beispielkonfiguration. Alle Angaben finden Sie auch im Github-Repository des Projekts. Wollen Sie keine Konfigurationsdatei verwenden, steuern Sie P0d über Aufrufparameter. Eine Übersicht aller Optionen liefert -h. Zum einfachen Prüfen der Reaktionsgeschwindigkeit geben Sie beim Aufruf die Ziel-URL an. In der Standardeinstellung öffnet P0d eine HTTP/1.1-Verbindung und sendet 10 Sekunden lang HTTP-Anfragen ans Ziel. Dabei aktualisiert es die Ausgabe in der Konsole permanent, sodass sich der Fortschritt verfolgen lässt. Eine abschließende Statistik zeigt an, wie viele KByte pro Sekunde gelesen und geschrieben wurden, wie lange der TLS-Verbindungsaufbau dauerte, welcher Webserver zum Einsatz kam und wie hoch die Latenz war. Auch die Anzahl der gesendeten und erfolgreich beantworteten HTTP-Anfragen listet das Tool auf. Um die Ausgabe zu archivieren oder weiterzuverarbeiten, erzeugen Sie mit -O eine JSON-Datei. Standardmäßig prüft die App bei jedem Aufruf die Geschwindigkeit der Internetverbindung. Für die lokale Nutzung spielt das keine Rolle, -s deaktiviert diese Funktion. Wollen Sie das Ziel länger als 10 Sekunden prüfen, geben Sie hinter -d einen anderen Zeitraum vor. Soll die App mehrere, parallele Verbindungen aufbauen, legt -c deren Anzahl fest. Alle Einstellungen lassen sich auch in einer YAML-basierten Konfiguration festhalten. Hier besteht zudem die Möglichkeit, die Anfragemethode festzulegen.
Platz da!
Mit Dusage 0.4.0 ermitteln Sie die Belegung Ihrer Massenspeicher.
Selbst große Datenträger füllen sich bekanntlich sehr schnell, und dann stellt sich die Frage, wo der Platz geblieben ist. Bewährte Tools wie Df oder Du helfen zwar bei der Suche, doch ihre Ausgabe fällt speziell bei großen Datenträgern recht unübersichtlich aus. Das Rust-basierte Tool Dusage bietet hier eine Alternative. Im Github-Repo finden Sie Binärpakete, sodass Sie sofort loslegen können. Rufen Sie das Programm ohne weitere Parameter auf, zeigt es die Belegung der Datenträger und Partitionen übersichtlich an. Neben der absoluten und prozentualen Auslastung in Zahlen zeigt es die Belegung auch als Balkendiagramm an. Jeden Mountpoint stellt es dabei in einer eigenen Zeile dar. Am Zeilenanfang steht die Datenträgerpartition, der zugehörige Einhängepunkt schließt die Zeile ab. Bei temporären Mountpoints wie /dev oder /run ohne physikalischen Datenträger nennt das Tool das Dateisystem als Datenträger. Benötigen Sie statt der Belegung des Speichers die Anzahl der genutzten Inodes, rufen Sie Dusage mit dem Parameter -i auf. Wichtige Einhängepunkte wie / oder /boot hebt das Dusage farblich hervor. Als Konsolenprogramm eignet es sich auch zum Einsatz innerhalb einer SSH-Sitzung. Allerdings fällt hier die Darstellung des Balkendiagramms etwas seltsam aus, in einem Terminalfenster ist die Ansicht ansprechender. Wünschen Sie auf jeden Fall eine konsolenkonforme Darstellung, setzen Sie den Schalter -c. Dusage punktet vor allem mit seiner übersichtlichen Ausgabe; beim Funktionsangebot haben Tools wie Df die Nase vorn.
Lange Leitung?
Das Tool Speedtest-go 1.7.10 misst die Geschwindigkeit Ihrer Internetanbindung.
Eine objektive Antwort auf die Frage, wie schnell ein Internetanschluss wirklich ist, liefert in der Regel nur ein Geschwindigkeitstest. Mit Speedtest-go steht eine Go-Implementierung des bekannten Tools Speedtest bereit. Auf Github finden Sie zahlreiche Binärpakete, auf die Sie zurückgreifen können, ein aufwendiges Kompilieren entfällt. Für den Test spielt es keine Rolle, ob Sie die Geschwindigkeit des lokalen DSL- oder Kabelanschlusses kontrollieren oder die Anbindung eines Servers bei einem Provider. Für eine schnelle Prüfung rufen Sie das Tool ohne weitere Parameter auf. Die Applikation ermittelt selbstständig, wie viele Gegenstellen für einen Test zur Verfügung stehen, und wählt die passende aus. Alternativ geben Sie mit dem Parameter -s auch eine Gegenstelle vor. Eine Liste der topologisch nächsten Server liefert ein Aufruf mit -l. Im ersten Testschritt prüft das Tool die Latenz, gefolgt von Down- und Upload-Geschwindigkeit. Interessiert Sie nur die Geschwindigkeit, überspringen Sie mit --no-download oder --no-upload den jeweiligen Test. In der Grundeinstellung startet Speedtest-go nur einen Thread, mit -t erhöhen Sie die Anzahl. Den Multi-Server-Modus aktivieren Sie mit -m. Das Tool zeigt die Ergebnisse übersichtlich in der Konsole an. Um das Ergebnis weiterzuverarbeiten, speichern Sie die Ausgabe mit --json im JSON-Format. Eine Übersicht aller Parameter liefert die Onlinehilfe mit --help. Alles in allem erweist sich Speedtest-go als einfacher und schneller Geschwindigkeitstester. Allerdings liefert es wie alle Speedtest-Clients, die die Infrastruktur von Ookla nutzen, bei manchen Einwahlanbietern, die CGNAT verwenden, zu niedrige Download-Geschwindigkeiten zurück. Korrekte Werte ermitteln Sie dann mit Werkzeugen wie Iperf3.
Klein aber fein
Der Static-web-server 2.40.1 erlaubt es, unkompliziert statische Webseiten anzubieten.
Um für den Einsatz im lokalen Netz eine statische Webseite mit Informationen bereitzustellen, benötigen Sie keinen Boliden wie Apache oder Nginx. Eine kleine, ressourcenschonende Lösung wie Static-web-server genügt dazu. Sie müssen das Rust-basierte Tool nicht selbst kompilieren, sondern greifen auf eines der Binärpakete auf Github zurück. Hier finden sich auch Pakete für den Einsatz auf einem RasPi ab der ersten Generation. Mit einer Größe von 7 MByte eignet sich das Tool auch für den Einsatz in kleinen Containern. Neben geringem Ressourcenbedarf möchte die Applikation auch durch Geschwindigkeit und Sicherheit überzeugen. Standardmäßig wartet der Webserver an Port 80 der Loopback-Schnittstelle auf Verbindungen. Mit dem Parameter -h beim Aufruf geben Sie bei Bedarf eine andere Schnittstelle vor; für einen anderen Port verwenden Sie -p. Als Dokumentenverzeichnis erwartet der Server das Unterverzeichnis public/ im lokalen Verzeichnis. Ein anderes Dokumentenverzeichnis übergeben Sie mit -d. Ohne ein Dokumentenverzeichnis quittiert das Tool den Dienst. Geben Sie -z mit an, listet der Server den Inhalt eines Verzeichnisses auf. Mit weiteren Parametern beeinflussen Sie die Anzeigereihenfolge. Eine Übersicht aller Parameter liefert die Onlinehilfe mit -h. Standardmäßig startet das Tool einen Thread je Prozessorkern. Diesen Wert passen Sie mit -n an. Eine verschlüsselte Kommunikation erlaubt der Server via HTTP/2, das Sie mit -t beim Aufruf aktivieren. Weitere Parameter legen Zertifikate und Schlüssel fest. Auch das Einrichten einer Benutzerauthentifizierung erlaubt der kleine Server. Im Github-Repository finden Sie eine umfassende Dokumentation. Insgesamt bietet Static-web-server eine interessante Möglichkeit zum Ausliefern statischer Webinhalte. (Uwe Vollbracht/tle/jlu)
Static-web-server 2.40.1
Lizenz: Apache 2.0, MIT
Quelle: https://github.com/static-web-server/static-web-server










