Condividi tramite


Report server.port delle metriche HttpClient in modo incondizionato

Quando le metriche HttpClient sono state aggiunte in .NET 8, server.port è stato introdotto come Conditionally Required attributo in base allo stato dello standard in quel momento. Essendo obbligatorio in modo condizionale, significa che la porta è stata segnalata solo se non corrisponde alla porta predefinita del protocollo corrispondente (80 per HTTP, 443 per HTTPS). Tuttavia, il livello di requisito standard dell'attributo è stato modificato in Required.

Per mantenere la conformità allo standard Open Telemetry mantenendo i comportamenti dello strumento coerenti tra loro, gli strumenti http.client.request.duration, http.client.connection.duratione http.client.open_connections sono stati modificati in modo non condizionale per segnalare l'attributo server.port .

Questa modifica può interrompere le query esistenti nel software di monitoraggio come Prometheus.

Versione introdotta

.NET 9 Anteprima 7

Comportamento precedente

http.client.request.duration, http.client.connection.duratione http.client.open_connections ha segnalato l'attributo server.port solo se non corrisponde alla porta predefinita del protocollo corrispondente (80 per HTTP, 443 per HTTPS).

Nuovo comportamento

L'attributo server.port è ora segnalato in modo incondizionato dagli strumenti http.client.request.duration, http.client.connection.duratione http.client.open_connections.

Tipo di modifica che causa un'interruzione

Questa è una modifica funzionale.

Motivo della modifica

La modifica mantiene la conformità con la specifica Open Telemetry mantenendo HttpClient gli strumenti coerenti tra loro.

Non è necessaria alcuna azione se non si fa affidamento sulle metriche HttpClient. Se si usano gli http.client.request.durationstrumenti , http.client.connection.durationo http.client.open_connections , questa modifica potrebbe interrompere le query esistenti nel software di monitoraggio come Prometheus.

API interessate