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.
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