Server Timing on all Endpoints

created: Sonntag, Mai 7, 2023

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

Die API bietet einfache Möglichkeiten, 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).

Was die eigentliche Implementierung betrifft, 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 mehrere Rechenzentren umfasst, veröffentlichen wir diese Metriken nicht als eine einzelne Messung. Wir haben einen mehrschichtigen Ansatz für unser Netzwerk gewählt.

layered nework

Hier einige Beispiel-Header, die unsere API erzeugt.

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