Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,17 @@ public void test() throws Exception {

Assertions.assertEquals(2, registry.find("http.server.requests").tag("uri", "UNKNOWN").timers().size()); // 2 different set of tags
Assertions.assertEquals(1, registry.find("http.server.requests").tag("uri", "/api/failure/{message}").timers().size());

RestAssured.get("/api/not-there").then().statusCode(404);
Util.waitForMeters(registry.find("http.server.requests").timers(), 17);
Assertions.assertEquals(1, registry.find("http.server.requests").tag("uri", "NOT_FOUND").timers().size());

RestAssured.get("/api/not-there/").then().statusCode(404);
Util.waitForMeters(registry.find("http.server.requests").timers(), 18);
// no other uri tags and count should be 2
Assertions.assertEquals(1, registry.find("http.server.requests").tag("uri", "NOT_FOUND").timers().size());
Assertions.assertEquals(2,
registry.find("http.server.requests").tag("uri", "NOT_FOUND").timers().iterator().next().count());
}

@Path("/")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,8 @@ public static Tag uri(String pathInfo, String initialPath, int code, boolean sup

private static boolean isTemplatedPath(String pathInfo, String initialPath) {
// only include the path info if it has been matched to a template (initialPath != pathInfo) to avoid a metrics explosion with lots of entries
return initialPath != null && !Objects.equals(initialPath, pathInfo);
// /not-there/ must have the same behaviour as /not-there
return initialPath != null && !(Objects.equals(initialPath, pathInfo) ||
Objects.equals(initialPath, pathInfo + "/"));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ public void testUriDefaults() {
Assertions.assertEquals(HttpCommonTags.URI_ROOT, HttpCommonTags.uri("/", null, 404, false));
Assertions.assertEquals(Tag.of("uri", "/known/ok"), HttpCommonTags.uri("/known/ok", null, 200, false));
Assertions.assertEquals(HttpCommonTags.URI_NOT_FOUND, HttpCommonTags.uri("/invalid", null, 404, false));
Assertions.assertEquals(HttpCommonTags.URI_NOT_FOUND, HttpCommonTags.uri("/invalid", "/invalid", 404, false));
Assertions.assertEquals(HttpCommonTags.URI_NOT_FOUND, HttpCommonTags.uri("/invalid/", "/invalid/", 404, false));
Assertions.assertEquals(HttpCommonTags.URI_NOT_FOUND, HttpCommonTags.uri("/invalid", "/invalid/", 404, false));
Assertions.assertEquals(Tag.of("uri", "/invalid/{id}"),
HttpCommonTags.uri("/invalid/{id}", "/invalid/111", 404, false));
Assertions.assertEquals(Tag.of("uri", "/known/bad/request"),
Expand All @@ -49,6 +52,10 @@ public void testUriDefaultsWithSuppression() {
Assertions.assertEquals(HttpCommonTags.URI_ROOT, HttpCommonTags.uri("/", null, 404, true));
Assertions.assertEquals(Tag.of("uri", "/known/ok"), HttpCommonTags.uri("/known/ok", null, 200, true));
Assertions.assertEquals(HttpCommonTags.URI_NOT_FOUND, HttpCommonTags.uri("/invalid", null, 404, true));
Assertions.assertEquals(HttpCommonTags.URI_NOT_FOUND, HttpCommonTags.uri("/invalid/", null, 404, true));
Assertions.assertEquals(HttpCommonTags.URI_NOT_FOUND, HttpCommonTags.uri("/invalid", "/invalid", 404, true));
Assertions.assertEquals(HttpCommonTags.URI_NOT_FOUND, HttpCommonTags.uri("/invalid/", "/invalid/", 404, true));
Assertions.assertEquals(HttpCommonTags.URI_NOT_FOUND, HttpCommonTags.uri("/invalid", "/invalid/", 404, true));
Assertions.assertEquals(Tag.of("uri", "/invalid/{id}"), HttpCommonTags.uri("/invalid/{id}", "/invalid/111", 404, true));
Assertions.assertEquals(HttpCommonTags.URI_UNKNOWN, HttpCommonTags.uri("/known/bad/request", null, 400, true));
Assertions.assertEquals(Tag.of("uri", "/known/bad/{request}"),
Expand Down
Loading