Server Timing en todos los Endpoints

created: domingo, may. 7, 2023

Ya que solo podemos mejorar lo que medimos, empezamos a implementar la API de Server Timing en todos los endpoints HTTP.

La API ofrece medios simples para extender el encabezado http con algunas mediciones de rendimiento.

Para una introducción general al tema, puedes consultar la documentación de Mozilla sobre ello (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Server-Timing).

En cuanto a la implementación actual, usamos la siguiente implementación en Rust, que nos proporciona datos de rendimiento para el servidor axum de forma nativa, (https://crates.io/crates/axum-server-timing).

Debido a que nuestra arquitectura abarca múltiples centros de datos, no publicamos estas métricas como una sola medición. Hemos tomado un enfoque por capas para nuestra red.

layered nework

Aquí algunos encabezados de ejemplo producidos por nuestra 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

container api timing