Add contextualName to HTTP Observations

This commit ensures that all HTTP `ObservationConvention`
implementations provide a consistent contextual name for observations.
This name should be like "http get" where only the HTTP verb changes
depending on the request.

Fixes gh-29231
This commit is contained in:
Brian Clozel
2022-09-30 16:08:42 +02:00
parent 0cc3c6b5d1
commit b9070ae752
8 changed files with 57 additions and 5 deletions

View File

@@ -69,6 +69,11 @@ public class DefaultClientHttpObservationConvention implements ClientHttpObserva
return this.name;
}
@Override
public String getContextualName(ClientHttpObservationContext context) {
return "http " + context.getCarrier().getMethod().name().toLowerCase();
}
@Override
public KeyValues getLowCardinalityKeyValues(ClientHttpObservationContext context) {
return KeyValues.of(uri(context), method(context), status(context), exception(context), outcome(context));

View File

@@ -70,6 +70,11 @@ public class DefaultHttpRequestsObservationConvention implements HttpRequestsObs
return this.name;
}
@Override
public String getContextualName(HttpRequestsObservationContext context) {
return "http " + context.getCarrier().getMethod().toLowerCase();
}
@Override
public KeyValues getLowCardinalityKeyValues(HttpRequestsObservationContext context) {
return KeyValues.of(method(context), uri(context), status(context), exception(context), outcome(context));

View File

@@ -73,6 +73,11 @@ public class DefaultHttpRequestsObservationConvention implements HttpRequestsObs
return this.name;
}
@Override
public String getContextualName(HttpRequestsObservationContext context) {
return "http " + context.getCarrier().getMethod().name().toLowerCase();
}
@Override
public KeyValues getLowCardinalityKeyValues(HttpRequestsObservationContext context) {
return KeyValues.of(method(context), uri(context), status(context), exception(context), outcome(context));