Skip to content

Commit 44554d3

Browse files
Stephan202shakuzen
authored andcommitted
Add status tag in MicrometerHttpClientInterceptor
This mimics the behavior of `MicrometerHttpRequestExecutor` and is important for users of both these with e.g. `PrometheusMeterRegistry`, as that class requires that meters with matching names have matching sets of tag keys. Closes #1943
1 parent 196c91d commit 44554d3

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

micrometer-core/src/main/java/io/micrometer/core/instrument/binder/httpcomponents/MicrometerHttpClientInterceptor.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ public MicrometerHttpClientInterceptor(MeterRegistry meterRegistry,
7474
this.responseInterceptor = (response, context) -> {
7575
Timer.Sample sample = timerByHttpContext.remove(context);
7676
sample.stop(meterRegistry, Timer.builder(METER_NAME)
77+
.tag("status", Integer.toString(response.getStatusLine().getStatusCode()))
7778
.tags(exportTagsForRoute ? HttpContextUtils.generateTagsForRoute(context) : Tags.empty())
7879
.tags(extraTags));
7980
};

micrometer-core/src/test/java/io/micrometer/core/instrument/binder/httpcomponents/MicrometerHttpClientInterceptorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ void uriIsReadFromHttpHeader(@WiremockResolver.Wiremock WireMockServer server) t
8080
HttpResponse response = future.get();
8181

8282
assertThat(response.getStatusLine().getStatusCode()).isEqualTo(200);
83-
assertThat(registry.get("httpcomponents.httpclient.request").tag("uri", "/some/pattern").timer().count())
83+
assertThat(registry.get("httpcomponents.httpclient.request").tag("uri", "/some/pattern").tag("status", "200").timer().count())
8484
.isEqualTo(1);
8585

8686
client.close();

0 commit comments

Comments
 (0)