diff --git a/src/main/java/com/swyp/picke/domain/admin/analytics/SentryClient.java b/src/main/java/com/swyp/picke/domain/admin/analytics/SentryClient.java index 55174b3..1ae6ab9 100644 --- a/src/main/java/com/swyp/picke/domain/admin/analytics/SentryClient.java +++ b/src/main/java/com/swyp/picke/domain/admin/analytics/SentryClient.java @@ -376,11 +376,9 @@ private URI analyticsEventCatalogUri(String project, LocalDate from, LocalDate t private URI analyticsEventTimeseriesUri( String project, List events, LocalDate from, LocalDate to) { - String query = events.stream() - .map(event -> "analytics_event:\"" + event.replace("\"", "\\\"") + "\"") - .reduce((left, right) -> left + " OR " + right) - .map(value -> events.size() > 1 ? "(" + value + ")" : value) - .orElse("has:analytics_event"); + String query = events.isEmpty() + ? "has:analytics_event" + : ANALYTICS_EVENT_FIELD + ":[" + String.join(",", events) + "]"; return UriComponentsBuilder.fromUriString(baseUrl) .path("/api/0/organizations/{organization}/events-stats/") .queryParam("project", project) diff --git a/src/test/java/com/swyp/picke/domain/admin/analytics/SentryClientTest.java b/src/test/java/com/swyp/picke/domain/admin/analytics/SentryClientTest.java index 2336945..45fea6d 100644 --- a/src/test/java/com/swyp/picke/domain/admin/analytics/SentryClientTest.java +++ b/src/test/java/com/swyp/picke/domain/admin/analytics/SentryClientTest.java @@ -295,6 +295,7 @@ void groupsEveryAnalyticsEventLikeMixpanel() { assertThat(transport.uris).anyMatch(uri -> uri.getPath().endsWith("/events-stats/") && uri.getQuery().contains("field=analytics_event") && uri.getQuery().contains("topEvents=2") + && uri.getQuery().contains("query=analytics_event:[ui_action,sign_up]") && uri.getQuery().contains("sort=analytics_event") && uri.getQuery().contains("partial=1") && uri.getQuery().contains("yAxis=count_unique(user)"));