Server-Timing auf allen Endpunkten

created: Sonntag, Mai 7, 2023

Da wir nur das verbessern können, was wir messen, haben wir begonnen, die Server Timing API auf allen HTTP-Endpunkten zu implementieren.

Die API bietet einfache Mittel, um den HTTP-Header mit einigen Leistungskennzahlen zu erweitern.

Für eine allgemeine Einführung in das Thema können Sie die Mozilla-Dokumentation dazu ansehen (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Server-Timing).

Für die eigentliche Implementierung verwenden wir die folgende Rust-Implementierung, die uns Leistungsdaten für den axum-Server direkt zur Verfügung stellt (https://crates.io/crates/axum-server-timing).

Da unsere Architektur sich über mehrere Rechenzentren erstreckt, veröffentlichen wir diese Metriken nicht als einzelne Messung. Wir haben einen geschichteten Ansatz für unser Netzwerk gewählt.

layered nework

Hier sind einige Beispiel-Header, die von unserer API erzeugt werden.

server-timing: dtz-red;dur=765, dtz-blue;desc="dtz-blue(warm)";dur=538
content-length: 19276864
last-modified: Sun, 07 May 2023 10:25:33 GMT
date: Sun, 07 May 2023 10:27:52 GMT
content-type: application/octet-stream

container api timing