Puisque nous ne pouvons améliorer que ce que nous mesurons, nous avons commencé à implémenter l’API Server Timing sur tous les points de terminaison HTTP.
L’API fournit des moyens simples pour étendre l’en-tête http avec quelques mesures de performance.
Pour une introduction générale au sujet, vous pouvez consulter la documentation de Mozilla à ce sujet (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Server-Timing).
En ce qui concerne l’implémentation réelle, nous utilisons l’implémentation Rust suivante, qui nous fournit des données de performance pour le serveur axum prêt à l’emploi, (https://crates.io/crates/axum-server-timing).
Comme notre architecture s’étend sur plusieurs centres de données, nous ne publions pas ces métriques comme une mesure unique. Nous avons adopté une approche en couches pour notre réseau.

Voici quelques en-têtes d’exemple produits par notre API.
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
