Skip to content

Commit 4b3a49b

Browse files
committed
Add cardinality limit demonstration
1 parent e5a2b59 commit 4b3a49b

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed

build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,13 @@ subprojects {
1414

1515
repositories {
1616
mavenCentral()
17+
maven("https://oss.sonatype.org/content/repositories/snapshots")
1718
}
1819

1920
dependencies {
2021
// using the bom ensures that all of your opentelemetry dependency versions are aligned
2122
implementation(platform("io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:2.9.0-alpha"))
23+
implementation(platform("io.opentelemetry:opentelemetry-bom-alpha:1.44.0-alpha-SNAPSHOT"))
2224
}
2325

2426
spotless {

doc-snippets/configuration/src/main/java/otel/SdkMeterProviderConfig.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,18 @@ public static SdkMeterProvider create(Resource resource) {
1515
MetricReaderConfig.periodicMetricReader(
1616
MetricExporterConfig.otlpHttpMetricExporter(
1717
"http://localhost:4318/v1/metrics")));
18+
// Uncomment to optionally register metric reader with cardinality limits
19+
// builder.registerMetricReader(
20+
// MetricReaderConfig.periodicMetricReader(
21+
// MetricExporterConfig.otlpHttpMetricExporter("http://localhost:4318/v1/metrics")),
22+
// unusedInstrumentType -> 100);
23+
1824
ViewConfig.dropMetricView(builder, "some.custom.metric");
1925
ViewConfig.histogramBucketBoundariesView(
2026
builder, "http.server.request.duration", List.of(1.0, 5.0, 10.0));
2127
ViewConfig.attributeFilterView(
2228
builder, "http.client.request.duration", Set.of("http.request.method"));
29+
ViewConfig.cardinalityLimitsView(builder, "http.server.active_requests", 100);
2330
return builder.build();
2431
}
2532
}

doc-snippets/configuration/src/main/java/otel/ViewConfig.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,11 @@ public static SdkMeterProviderBuilder attributeFilterView(
3030
InstrumentSelector.builder().setName(metricName).build(),
3131
View.builder().setAttributeFilter(keysToRetain).build());
3232
}
33+
34+
public static SdkMeterProviderBuilder cardinalityLimitsView(
35+
SdkMeterProviderBuilder builder, String metricName, int cardinalityLimit) {
36+
return builder.registerView(
37+
InstrumentSelector.builder().setName(metricName).build(),
38+
View.builder().setCardinalityLimit(cardinalityLimit).build());
39+
}
3340
}

0 commit comments

Comments
 (0)