Skip to content

Commit cb48a73

Browse files
committed
review
1 parent a3abce1 commit cb48a73

File tree

7 files changed

+29
-42
lines changed

7 files changed

+29
-42
lines changed

quarkus/service/src/main/java/org/apache/polaris/service/quarkus/metrics/QuarkusMetricsConfiguration.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ interface RealmIdTag {
4141
* even crash the server.
4242
*/
4343
@WithDefault("false")
44-
boolean apiMetricsEnabled();
44+
boolean enableInApiMetrics();
4545

4646
/**
4747
* Whether to include the Realm ID tag in the HTTP server request metrics.
@@ -50,7 +50,7 @@ interface RealmIdTag {
5050
* even crash the server.
5151
*/
5252
@WithDefault("false")
53-
boolean httpMetricsEnabled();
53+
boolean enableInHttpMetrics();
5454

5555
/**
5656
* The maximum number of Realm ID tag values allowed for the HTTP server request metrics.

quarkus/service/src/main/java/org/apache/polaris/service/quarkus/metrics/QuarkusValueExpressionResolver.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public class QuarkusValueExpressionResolver implements ValueExpressionResolver {
3333
@Override
3434
public String resolve(@Nonnull String expression, @Nullable Object parameter) {
3535
// TODO maybe replace with CEL of some expression engine and make this more generic
36-
if (metricsConfiguration.realmIdTag().apiMetricsEnabled()
36+
if (metricsConfiguration.realmIdTag().enableInApiMetrics()
3737
&& parameter instanceof RealmContext realmContext
3838
&& expression.equals("realmIdentifier")) {
3939
return realmContext.getRealmIdentifier();

quarkus/service/src/main/java/org/apache/polaris/service/quarkus/metrics/RealmIdTagContributor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public class RealmIdTagContributor implements HttpServerMetricsTagsContributor {
4040
public Tags contribute(Context context) {
4141
// FIXME retrieve the realm context from context.requestContextLocalData()
4242
// after upgrading to Quarkus 3.24
43-
if (!metricsConfiguration.realmIdTag().httpMetricsEnabled()) {
43+
if (!metricsConfiguration.realmIdTag().enableInHttpMetrics()) {
4444
return Tags.empty();
4545
}
4646
HttpServerRequest request = context.request();

quarkus/service/src/test/java/org/apache/polaris/service/quarkus/metrics/MetricsTestBase.java

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
import org.junit.jupiter.api.TestInfo;
4040
import org.junit.jupiter.api.TestInstance;
4141
import org.junit.jupiter.api.extension.ExtendWith;
42+
import org.junit.jupiter.params.ParameterizedTest;
43+
import org.junit.jupiter.params.provider.ValueSource;
4244

4345
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
4446
@ExtendWith(TestEnvironmentExtension.class)
@@ -51,6 +53,7 @@ public abstract class MetricsTestBase {
5153

5254
@Inject PolarisIntegrationTestHelper helper;
5355
@Inject MeterRegistry registry;
56+
@Inject QuarkusMetricsConfiguration metricsConfiguration;
5457

5558
private TestEnvironment testEnv;
5659
private PolarisIntegrationTestFixture fixture;
@@ -66,7 +69,9 @@ public void clearMetrics() {
6669
registry.clear();
6770
}
6871

69-
protected void testMetricsEmittedOnSuccessfulRequest(String endpoint, boolean realmIdTagEnabled) {
72+
@ParameterizedTest
73+
@ValueSource(strings = {"%s/metrics", "%s/q/metrics"})
74+
public void testMetricsEmittedOnSuccessfulRequest(String endpoint) {
7075
sendSuccessfulRequest();
7176
Map<String, MetricFamily> allMetrics =
7277
TestMetricsUtil.fetchMetrics(fixture.client, testEnv.baseManagementUri(), endpoint);
@@ -78,7 +83,11 @@ protected void testMetricsEmittedOnSuccessfulRequest(String endpoint, boolean re
7883
.contains(
7984
Map.entry("application", "Polaris"),
8085
Map.entry("environment", "prod"),
81-
Map.entry("realm_id", realmIdTagEnabled ? fixture.realm : ""),
86+
Map.entry(
87+
"realm_id",
88+
metricsConfiguration.realmIdTag().enableInApiMetrics()
89+
? fixture.realm
90+
: ""),
8291
Map.entry(
8392
"class", "org.apache.polaris.service.admin.api.PolarisPrincipalsApi"),
8493
Map.entry("exception", "none"),
@@ -100,7 +109,7 @@ protected void testMetricsEmittedOnSuccessfulRequest(String endpoint, boolean re
100109
Map.entry("outcome", "SUCCESS"),
101110
Map.entry("status", "200"),
102111
Map.entry("uri", "/api/management/v1/principals/{principalName}"));
103-
if (realmIdTagEnabled) {
112+
if (metricsConfiguration.realmIdTag().enableInHttpMetrics()) {
104113
assertThat(metric.getLabels()).containsEntry("realm_id", fixture.realm);
105114
} else {
106115
assertThat(metric.getLabels()).doesNotContainKey("realm_id");
@@ -112,7 +121,9 @@ protected void testMetricsEmittedOnSuccessfulRequest(String endpoint, boolean re
112121
});
113122
}
114123

115-
protected void testMetricsEmittedOnFailedRequest(String endpoint, boolean realmIdTagEnabled) {
124+
@ParameterizedTest
125+
@ValueSource(strings = {"%s/metrics", "%s/q/metrics"})
126+
public void testMetricsEmittedOnFailedRequest(String endpoint) {
116127
sendFailingRequest();
117128
Map<String, MetricFamily> allMetrics =
118129
TestMetricsUtil.fetchMetrics(fixture.client, testEnv.baseManagementUri(), endpoint);
@@ -124,7 +135,11 @@ protected void testMetricsEmittedOnFailedRequest(String endpoint, boolean realmI
124135
.contains(
125136
Map.entry("application", "Polaris"),
126137
Map.entry("environment", "prod"),
127-
Map.entry("realm_id", realmIdTagEnabled ? fixture.realm : ""),
138+
Map.entry(
139+
"realm_id",
140+
metricsConfiguration.realmIdTag().enableInApiMetrics()
141+
? fixture.realm
142+
: ""),
128143
Map.entry(
129144
"class", "org.apache.polaris.service.admin.api.PolarisPrincipalsApi"),
130145
Map.entry("exception", "NotFoundException"),
@@ -145,7 +160,7 @@ protected void testMetricsEmittedOnFailedRequest(String endpoint, boolean realmI
145160
Map.entry("outcome", "CLIENT_ERROR"),
146161
Map.entry("status", "404"),
147162
Map.entry("uri", "/api/management/v1/principals/{principalName}"));
148-
if (realmIdTagEnabled) {
163+
if (metricsConfiguration.realmIdTag().enableInHttpMetrics()) {
149164
assertThat(metric.getLabels()).containsEntry("realm_id", fixture.realm);
150165
} else {
151166
assertThat(metric.getLabels()).doesNotContainKey("realm_id");

quarkus/service/src/test/java/org/apache/polaris/service/quarkus/metrics/RealmIdTagDisabledMetricsTest.java

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
import io.quarkus.test.junit.QuarkusTestProfile;
2323
import io.quarkus.test.junit.TestProfile;
2424
import java.util.Map;
25-
import org.junit.jupiter.params.ParameterizedTest;
26-
import org.junit.jupiter.params.provider.ValueSource;
2725

2826
@QuarkusTest
2927
@TestProfile(RealmIdTagDisabledMetricsTest.Profile.class)
@@ -37,16 +35,4 @@ public Map<String, String> getConfigOverrides() {
3735
"polaris.metrics.tags.environment", "prod", "polaris.realm-context.type", "test");
3836
}
3937
}
40-
41-
@ParameterizedTest
42-
@ValueSource(strings = {"%s/metrics", "%s/q/metrics"})
43-
public void testMetricsEmittedOnSuccessfulRequest(String endpoint) {
44-
super.testMetricsEmittedOnSuccessfulRequest(endpoint, false);
45-
}
46-
47-
@ParameterizedTest
48-
@ValueSource(strings = {"%s/metrics", "%s/q/metrics"})
49-
public void testMetricsEmittedOnFailedRequest(String endpoint) {
50-
super.testMetricsEmittedOnFailedRequest(endpoint, false);
51-
}
5238
}

quarkus/service/src/test/java/org/apache/polaris/service/quarkus/metrics/RealmIdTagEnabledMetricsTest.java

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
import io.quarkus.test.junit.QuarkusTestProfile;
2323
import io.quarkus.test.junit.TestProfile;
2424
import java.util.Map;
25-
import org.junit.jupiter.params.ParameterizedTest;
26-
import org.junit.jupiter.params.provider.ValueSource;
2725

2826
@QuarkusTest
2927
@TestProfile(RealmIdTagEnabledMetricsTest.Profile.class)
@@ -38,22 +36,10 @@ public Map<String, String> getConfigOverrides() {
3836
"prod",
3937
"polaris.realm-context.type",
4038
"test",
41-
"polaris.metrics.realm-id-tag.api-metrics-enabled",
39+
"polaris.metrics.realm-id-tag.enable-in-api-metrics",
4240
"true",
43-
"polaris.metrics.realm-id-tag.http-metrics-enabled",
41+
"polaris.metrics.realm-id-tag.enable-in-http-metrics",
4442
"true");
4543
}
4644
}
47-
48-
@ParameterizedTest
49-
@ValueSource(strings = {"%s/metrics", "%s/q/metrics"})
50-
public void testMetricsEmittedOnSuccessfulRequest(String endpoint) {
51-
super.testMetricsEmittedOnSuccessfulRequest(endpoint, true);
52-
}
53-
54-
@ParameterizedTest
55-
@ValueSource(strings = {"%s/metrics", "%s/q/metrics"})
56-
public void testMetricsEmittedOnFailedRequest(String endpoint) {
57-
super.testMetricsEmittedOnFailedRequest(endpoint, true);
58-
}
5945
}

quarkus/service/src/test/java/org/apache/polaris/service/quarkus/ratelimiter/RateLimiterFilterTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,8 @@ public Map<String, String> getConfigOverrides() {
7777
String.valueOf(REQUESTS_PER_SECOND))
7878
.put("polaris.rate-limiter.token-bucket.window", WINDOW.toString())
7979
.put("polaris.metrics.tags.environment", "prod")
80-
.put("polaris.metrics.realm-id-tag.api-metrics-enabled", "true")
81-
.put("polaris.metrics.realm-id-tag.http-metrics-enabled", "true")
80+
.put("polaris.metrics.realm-id-tag.enable-in-api-metrics", "true")
81+
.put("polaris.metrics.realm-id-tag.enable-in-http-metrics", "true")
8282
.put("polaris.realm-context.type", "test")
8383
.put("polaris.authentication.token-broker.type", "symmetric-key")
8484
.put("polaris.authentication.token-broker.symmetric-key.secret", "secret")

0 commit comments

Comments
 (0)