Skip to content

Commit 7184a34

Browse files
committed
security: update Java 8 dependency baseline
1 parent 029aa7c commit 7184a34

19 files changed

Lines changed: 123 additions & 78 deletions

File tree

examples/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@
3131
<name>capa-sdk-examples</name>
3232

3333
<properties>
34-
<log4j.version>2.17.1</log4j.version>
35-
<logback.version>1.2.10</logback.version>
34+
<log4j.version>2.25.4</log4j.version>
35+
<logback.version>1.2.13</logback.version>
3636
</properties>
3737

3838
<dependencies>
@@ -117,4 +117,4 @@
117117
</plugins>
118118
</build>
119119

120-
</project>
120+
</project>

examples/src/main/java/group/rxcloud/capa/examples/telemetry/MetricTestExporter.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
package group.rxcloud.capa.examples.telemetry;
1818

1919
import io.opentelemetry.sdk.common.CompletableResultCode;
20+
import io.opentelemetry.sdk.metrics.InstrumentType;
21+
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
2022
import io.opentelemetry.sdk.metrics.data.MetricData;
2123
import io.opentelemetry.sdk.metrics.export.MetricExporter;
2224

@@ -35,6 +37,11 @@ public CompletableResultCode flush() {
3537
return CompletableResultCode.ofSuccess();
3638
}
3739

40+
@Override
41+
public AggregationTemporality getAggregationTemporality(InstrumentType instrumentType) {
42+
return AggregationTemporality.CUMULATIVE;
43+
}
44+
3845
@Override
3946
public CompletableResultCode shutdown() {
4047
return CompletableResultCode.ofSuccess();

pom.xml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,8 @@
8585
<reactor-core.version>3.3.22.RELEASE</reactor-core.version>
8686
<slf4j.version>1.7.21</slf4j.version>
8787
<grpc.version>1.39.0</grpc.version>
88-
<jackson.version>2.12.7.1</jackson.version>
89-
<open.telemetry.version>1.9.0</open.telemetry.version>
90-
<open.telemetry.version.alpha>1.9.0-alpha</open.telemetry.version.alpha>
88+
<jackson.version>2.18.8</jackson.version>
89+
<open.telemetry.version>1.62.0</open.telemetry.version>
9190
<junit.version>5.3.1</junit.version>
9291
<mockito-core.version>3.6.0</mockito-core.version>
9392
<powermock.version>2.0.2</powermock.version>
@@ -137,6 +136,12 @@
137136
<groupId>group.rxcloud</groupId>
138137
<artifactId>cloud-runtimes-api</artifactId>
139138
<version>${cloud-runtimes.version}</version>
139+
<exclusions>
140+
<exclusion>
141+
<groupId>io.opentelemetry</groupId>
142+
<artifactId>opentelemetry-api-metrics</artifactId>
143+
</exclusion>
144+
</exclusions>
140145
</dependency>
141146

142147
<!-- reactor -->
@@ -173,11 +178,6 @@
173178
<artifactId>opentelemetry-api</artifactId>
174179
<version>${open.telemetry.version}</version>
175180
</dependency>
176-
<dependency>
177-
<groupId>io.opentelemetry</groupId>
178-
<artifactId>opentelemetry-api-metrics</artifactId>
179-
<version>${open.telemetry.version.alpha}</version>
180-
</dependency>
181181

182182
<!-- unit test -->
183183
<dependency>

sdk-component/pom.xml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@
3131
<description>SDK Component for Capa</description>
3232

3333
<properties>
34-
<okhttp.version>4.9.1</okhttp.version>
35-
<kotlin-stdlib.version>1.4.10</kotlin-stdlib.version>
36-
<log4j.version>2.17.1</log4j.version>
37-
<logback.version>1.2.10</logback.version>
34+
<okhttp.version>4.12.0</okhttp.version>
35+
<kotlin-stdlib.version>1.8.21</kotlin-stdlib.version>
36+
<log4j.version>2.25.4</log4j.version>
37+
<logback.version>1.2.13</logback.version>
3838
</properties>
3939

4040
<dependencies>
@@ -53,7 +53,7 @@
5353
<dependency>
5454
<groupId>io.opentelemetry</groupId>
5555
<artifactId>opentelemetry-sdk-metrics</artifactId>
56-
<version>${open.telemetry.version.alpha}</version>
56+
<version>${open.telemetry.version}</version>
5757
</dependency>
5858

5959
<!-- okhttp -->
@@ -170,4 +170,4 @@
170170
</plugins>
171171
</build>
172172

173-
</project>
173+
</project>

sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/metrics/CapaDoubleHistogramBuilder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import io.opentelemetry.api.metrics.DoubleHistogram;
2020
import io.opentelemetry.api.metrics.DoubleHistogramBuilder;
2121
import io.opentelemetry.api.metrics.LongHistogramBuilder;
22-
import io.opentelemetry.api.metrics.internal.NoopMeter;
22+
import io.opentelemetry.api.metrics.MeterProvider;
2323

2424
/**
2525
*
@@ -69,7 +69,7 @@ public DoubleHistogram build() {
6969
.loadHistogramNullable(meterName, schemaUrl, version, name, description, unit,
7070
CapaDoubleHistogram.class);
7171
if (histogram == null) {
72-
return NoopMeter.getInstance().histogramBuilder(name).build();
72+
return MeterProvider.noop().get(meterName).histogramBuilder(name).build();
7373
}
7474
return histogram;
7575
}

sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/metrics/CapaLongHistogramBuilder.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import io.opentelemetry.api.metrics.DoubleHistogramBuilder;
2020
import io.opentelemetry.api.metrics.LongHistogram;
2121
import io.opentelemetry.api.metrics.LongHistogramBuilder;
22-
import io.opentelemetry.api.metrics.internal.NoopMeter;
22+
import io.opentelemetry.api.metrics.MeterProvider;
2323

2424
/**
2525
*
@@ -57,7 +57,6 @@ public LongHistogramBuilder setUnit(String unit) {
5757
return this;
5858
}
5959

60-
@Override
6160
public DoubleHistogramBuilder ofDoubles() {
6261
return new CapaDoubleHistogramBuilder(meterName, schemaUrl, version, name).setDescription(description)
6362
.setUnit(unit);
@@ -68,7 +67,7 @@ public LongHistogram build() {
6867
LongHistogram histogram = CapaMeterWrapper
6968
.loadHistogramNullable(meterName, schemaUrl, version, name, description, unit, CapaLongHistogram.class);
7069
if (histogram == null) {
71-
return NoopMeter.getInstance().histogramBuilder(name).ofLongs().build();
70+
return MeterProvider.noop().get(meterName).histogramBuilder(name).ofLongs().build();
7271
}
7372
return histogram;
7473
}

sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/metrics/CapaMeterProviderBuilder.java

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
2323
import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder;
2424
import io.opentelemetry.sdk.metrics.export.MetricExporter;
25-
import io.opentelemetry.sdk.metrics.export.MetricReaderFactory;
25+
import io.opentelemetry.sdk.metrics.export.MetricReader;
2626
import io.opentelemetry.sdk.metrics.export.PeriodicMetricReader;
2727
import org.jetbrains.annotations.NotNull;
2828

@@ -62,9 +62,9 @@ public class CapaMeterProviderBuilder implements CapaMeterProviderSettings {
6262
* @param readerConfigs metrics reader configs.
6363
* @return metrics reader factories.
6464
*/
65-
private static List<MetricReaderFactory> bulidReaderFactories(List<MetricsReaderConfig> readerConfigs,
66-
Supplier<SamplerConfig> samplerConfig) {
67-
List<MetricReaderFactory> factories = new ArrayList<>();
65+
private static List<MetricReader> buildReaders(List<MetricsReaderConfig> readerConfigs,
66+
Supplier<SamplerConfig> samplerConfig) {
67+
List<MetricReader> readers = new ArrayList<>();
6868
for (MetricsReaderConfig config : readerConfigs) {
6969
MetricExporter exporter = SpiUtils
7070
.newInstance(config.getExporterType(), CapaMetricsExporter.class, new Class[]{Supplier.class},
@@ -85,12 +85,12 @@ public Thread newThread(@NotNull Runnable r) {
8585
}
8686
});
8787

88-
factories.add(PeriodicMetricReader.builder(exporter)
89-
.setInterval(config.getExportIntervalMillis(), TimeUnit.MILLISECONDS)
90-
.setExecutor(worker)
91-
.newMetricReaderFactory());
88+
readers.add(PeriodicMetricReader.builder(exporter)
89+
.setInterval(config.getExportIntervalMillis(), TimeUnit.MILLISECONDS)
90+
.setExecutor(worker)
91+
.build());
9292
}
93-
return factories;
93+
return readers;
9494
}
9595

9696
@Override
@@ -136,12 +136,13 @@ public MeterProvider buildMeterProvider() {
136136
return MeterProvider.noop();
137137
}
138138

139-
List<MetricReaderFactory> factories = bulidReaderFactories(metricsReaderConfigs, samplerConfig);
140-
139+
List<MetricReader> readers = buildReaders(metricsReaderConfigs, samplerConfig);
141140

142141
SdkMeterProviderBuilder builder = SdkMeterProvider.builder()
143-
.setExemplarFilter(new CapaMetricsSampler(samplerConfig));
144-
factories.forEach(f -> builder.registerMetricReader(f));
142+
.setExemplarFilter(
143+
new CapaMetricsSampler(samplerConfig)
144+
.getExemplarFilter());
145+
readers.forEach(builder::registerMetricReader);
145146
SdkMeterProvider provider = builder.build();
146147
return new CapaMeterProvider(provider);
147148
}

sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/metrics/CapaMetricsExporter.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818

1919
import group.rxcloud.capa.component.telemetry.SamplerConfig;
2020
import io.opentelemetry.sdk.common.CompletableResultCode;
21+
import io.opentelemetry.sdk.metrics.InstrumentType;
22+
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
2123
import io.opentelemetry.sdk.metrics.data.MetricData;
2224
import io.opentelemetry.sdk.metrics.export.MetricExporter;
2325

@@ -55,6 +57,11 @@ public CompletableResultCode flush() {
5557
return doFlush();
5658
}
5759

60+
@Override
61+
public AggregationTemporality getAggregationTemporality(InstrumentType instrumentType) {
62+
return AggregationTemporality.CUMULATIVE;
63+
}
64+
5865
protected abstract CompletableResultCode doExport(Collection<MetricData> metrics);
5966

6067
protected abstract CompletableResultCode doFlush();

sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/metrics/CapaMetricsSampler.java

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import group.rxcloud.capa.component.telemetry.SamplerConfig;
2020
import io.opentelemetry.api.common.Attributes;
2121
import io.opentelemetry.context.Context;
22-
import io.opentelemetry.sdk.metrics.exemplar.ExemplarFilter;
22+
import io.opentelemetry.sdk.metrics.ExemplarFilter;
2323

2424
import java.util.function.Supplier;
2525

@@ -38,22 +38,20 @@ public CapaMetricsSampler(Supplier<SamplerConfig> samplerConfigSupplier) {
3838
this.samplerConfigSupplier = samplerConfigSupplier;
3939
}
4040

41-
@Override
4241
public boolean shouldSampleMeasurement(long value, Attributes attributes, Context context) {
43-
return get().shouldSampleMeasurement(value, attributes, context);
42+
return isMetricsEnabled();
4443
}
4544

46-
@Override
4745
public boolean shouldSampleMeasurement(double value, Attributes attributes, Context context) {
48-
return get().shouldSampleMeasurement(value, attributes, context);
46+
return isMetricsEnabled();
4947
}
5048

51-
private ExemplarFilter get() {
52-
SamplerConfig config = samplerConfigSupplier.get();
53-
if (config != null && !config.isMetricsEnable()) {
54-
return ExemplarFilter.neverSample();
55-
}
49+
public ExemplarFilter getExemplarFilter() {
50+
return isMetricsEnabled() ? ExemplarFilter.alwaysOn() : ExemplarFilter.alwaysOff();
51+
}
5652

57-
return ExemplarFilter.alwaysSample();
53+
private boolean isMetricsEnabled() {
54+
SamplerConfig config = samplerConfigSupplier.get();
55+
return config == null || config.isMetricsEnable();
5856
}
5957
}

sdk-component/src/test/java/group/rxcloud/capa/component/telemetry/metrics/CapaDoubleHistogramBuilderTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@
1717
package group.rxcloud.capa.component.telemetry.metrics;
1818

1919
import io.opentelemetry.api.metrics.DoubleHistogramBuilder;
20-
import io.opentelemetry.api.metrics.LongHistogramBuilder;
21-
import io.opentelemetry.api.metrics.internal.NoopMeter;
20+
import io.opentelemetry.api.metrics.MeterProvider;
2221
import org.junit.jupiter.api.Test;
2322

2423
import static org.junit.jupiter.api.Assertions.*;
@@ -34,14 +33,15 @@ public void build() {
3433
CapaDoubleHistogramBuilder builder = new CapaDoubleHistogramBuilder("", "", "", "");
3534
assertEquals(builder, builder.setDescription("aaa"));
3635
assertEquals(builder, builder.setUnit("bbb"));
37-
assertTrue(builder.build() instanceof NoopMeter.NoopDoubleHistogram);
36+
assertEquals(MeterProvider.noop().get("test").histogramBuilder("test").build().getClass(),
37+
builder.build().getClass());
3838

39-
LongHistogramBuilder longHistogramBuilder = builder.ofLongs();
39+
CapaLongHistogramBuilder longHistogramBuilder = (CapaLongHistogramBuilder) builder.ofLongs();
4040
assertEquals(longHistogramBuilder, longHistogramBuilder.setDescription("ccc"));
4141
assertEquals(longHistogramBuilder, longHistogramBuilder.setUnit("ddd"));
4242
assertTrue(longHistogramBuilder.build() instanceof TestLongHistogram);
4343

4444
DoubleHistogramBuilder doubleHistogramBuilder = longHistogramBuilder.ofDoubles();
4545
assertTrue(doubleHistogramBuilder instanceof CapaDoubleHistogramBuilder);
4646
}
47-
}
47+
}

0 commit comments

Comments
 (0)