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

@@ -36,6 +36,18 @@ class DefaultClientObservationConventionTests {
private DefaultClientObservationConvention observationConvention = new DefaultClientObservationConvention();
@Test
void shouldHaveName() {
assertThat(this.observationConvention.getName()).isEqualTo("http.client.requests");
}
@Test
void shouldHaveContextualName() {
ClientObservationContext context = new ClientObservationContext();
context.setCarrier(ClientRequest.create(HttpMethod.GET, URI.create("/test")).build());
assertThat(this.observationConvention.getContextualName(context)).isEqualTo("http get");
}
@Test
void shouldOnlySupportWebClientObservationContext() {
assertThat(this.observationConvention.supportsContext(new ClientObservationContext())).isTrue();