Merge branch '6.2.x'
This commit is contained in:
commit
2cdc406e71
|
|
@ -285,7 +285,7 @@ Instrumentation uses the `org.springframework.http.client.observation.ClientRequ
|
|||
|===
|
||||
|Name | Description
|
||||
|`method` _(required)_|Name of the HTTP request method or `"none"` if not a well-known method.
|
||||
|`uri` _(required)_|URI template used for HTTP request, or `"none"` if none was provided. Only the path part of the URI is considered.
|
||||
|`uri` _(required)_|URI template used for HTTP request, or `"none"` if none was provided. The protocol, host and port part of the URI are not considered.
|
||||
|`client.name` _(required)_|Client name derived from the request URI host.
|
||||
|`status` _(required)_|HTTP response raw status code, or `"IO_ERROR"` in case of `IOException`, or `"CLIENT_ERROR"` if no response was received.
|
||||
|`outcome` _(required)_|Outcome of the HTTP client exchange.
|
||||
|
|
@ -313,7 +313,7 @@ Instrumentation uses the `org.springframework.http.client.observation.ClientRequ
|
|||
|===
|
||||
|Name | Description
|
||||
|`method` _(required)_|Name of the HTTP request method or `"none"` if the request could not be created.
|
||||
|`uri` _(required)_|URI template used for HTTP request, or `"none"` if none was provided. Only the path part of the URI is considered.
|
||||
|`uri` _(required)_|URI template used for HTTP request, or `"none"` if none was provided. The protocol, host and port part of the URI are not considered.
|
||||
|`client.name` _(required)_|Client name derived from the request URI host.
|
||||
|`status` _(required)_|HTTP response raw status code, or `"IO_ERROR"` in case of `IOException`, or `"CLIENT_ERROR"` if no response was received.
|
||||
|`outcome` _(required)_|Outcome of the HTTP client exchange.
|
||||
|
|
@ -342,7 +342,7 @@ Instrumentation uses the `org.springframework.web.reactive.function.client.Clien
|
|||
|===
|
||||
|Name | Description
|
||||
|`method` _(required)_|Name of the HTTP request method or `"none"` if not a well-known method.
|
||||
|`uri` _(required)_|URI template used for HTTP request, or `"none"` if none was provided. Only the path part of the URI is considered.
|
||||
|`uri` _(required)_|URI template used for HTTP request, or `"none"` if none was provided. The protocol, host and port part of the URI are not considered.
|
||||
|`client.name` _(required)_|Client name derived from the request URI host.
|
||||
|`status` _(required)_|HTTP response raw status code, or `"IO_ERROR"` in case of `IOException`, or `"CLIENT_ERROR"` if no response was received.
|
||||
|`outcome` _(required)_|Outcome of the HTTP client exchange.
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ public enum ClientHttpObservationDocumentation implements ObservationDocumentati
|
|||
/**
|
||||
* URI template used for HTTP request, or {@value KeyValue#NONE_VALUE} if
|
||||
* none was provided.
|
||||
* <p>Only the path part of the URI is considered.
|
||||
* <p>The protocol, host and port part of the URI are not considered.
|
||||
*/
|
||||
URI {
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -88,6 +88,17 @@ class DefaultClientRequestObservationConventionTests {
|
|||
assertThat(this.observationConvention.getHighCardinalityKeyValues(context)).contains(KeyValue.of("http.url", "https://example.org/resource/42"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void addsKeyValuesForRequestWithUriTemplateWithHostAndQuery() {
|
||||
ClientRequestObservationContext context = createContext(
|
||||
new MockClientHttpRequest(HttpMethod.GET, "https://example.org/resource/{id}?queryKey={queryValue}", 42, "Query"), response);
|
||||
context.setUriTemplate("https://example.org/resource/{id}?queryKey={queryValue}");
|
||||
assertThat(this.observationConvention.getLowCardinalityKeyValues(context))
|
||||
.contains(KeyValue.of("exception", "none"), KeyValue.of("method", "GET"), KeyValue.of("uri", "/resource/{id}?queryKey={queryValue}"),
|
||||
KeyValue.of("status", "200"), KeyValue.of("client.name", "example.org"), KeyValue.of("outcome", "SUCCESS"));
|
||||
assertThat(this.observationConvention.getHighCardinalityKeyValues(context)).contains(KeyValue.of("http.url", "https://example.org/resource/42?queryKey=Query"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void addsKeyValuesForRequestWithUriTemplateWithoutPath() {
|
||||
ClientRequestObservationContext context = createContext(
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ public enum ClientHttpObservationDocumentation implements ObservationDocumentati
|
|||
/**
|
||||
* URI template used for HTTP request, or {@value KeyValue#NONE_VALUE} if
|
||||
* none was provided.
|
||||
* <p>Only the path part of the URI is considered.
|
||||
* <p>The protocol, host and port part of the URI are not considered.
|
||||
*/
|
||||
URI {
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -119,6 +119,13 @@ class DefaultClientRequestObservationConventionTests {
|
|||
assertThat(this.observationConvention.getLowCardinalityKeyValues(context)).contains(KeyValue.of("uri", "/resource/{id}"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldKeepQueryParameterForUriKeyValue() {
|
||||
ClientRequestObservationContext context = createContext(ClientRequest.create(HttpMethod.GET, URI.create("https://example.org/resource/42?queryKey=Query")));
|
||||
context.setUriTemplate("https://example.org/resource/{id}?queryKey={queryValue}");
|
||||
assertThat(this.observationConvention.getLowCardinalityKeyValues(context)).contains(KeyValue.of("uri", "/resource/{id}?queryKey={queryValue}"));
|
||||
}
|
||||
|
||||
private ClientRequestObservationContext createContext(ClientRequest.Builder request) {
|
||||
ClientRequestObservationContext context = new ClientRequestObservationContext(request);
|
||||
context.setResponse(ClientResponse.create(HttpStatus.OK).build());
|
||||
|
|
|
|||
Loading…
Reference in New Issue