Skip to content

Commit 64b52c6

Browse files
authored
don't use extra otel artifact (#1062)
* use ${otel.version} Signed-off-by: Gregor Zeitlinger <[email protected]> * use stable otel artifacts directly Signed-off-by: Gregor Zeitlinger <[email protected]> * use stable otel artifacts directly Signed-off-by: Gregor Zeitlinger <[email protected]> * re-enable shading Signed-off-by: Gregor Zeitlinger <[email protected]> --------- Signed-off-by: Gregor Zeitlinger <[email protected]>
1 parent 3491ab4 commit 64b52c6

31 files changed

+152
-257
lines changed

MAINTAINER_NOTES.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ The versions plugin does not catch the `otel.version` in `prometheus-metrics-exp
1313
## Update Shaded Dependencies
1414

1515
There are two modules for shaded dependencies:
16-
* `prometheus-metrics-shaded-opentelemetry`: OpenTelemetry data model.
1716
* `prometheus-metrics-shaded-protobuf`: Google's protobuf library.
1817

1918
The shaded modules are commented out in the root `pom.xml`. Instead of using the shaded dependencies from the project, we use the latest shaded dependencies from Maven central (or from the local Maven repository in `~/.m2/repository/`). This way we can `include` the shaded package name directly. We find this easier than importing the original package name and have it renamed at build time.

benchmarks/pom.xml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
<jmh.version>1.37</jmh.version>
2020
<simpleclient.version>0.16.0</simpleclient.version>
2121
<codahale.version>3.0.2</codahale.version>
22-
<opentelemetry.version>1.42.1</opentelemetry.version>
2322
<maven.javadoc.skip>true</maven.javadoc.skip>
2423
</properties>
2524

@@ -59,17 +58,17 @@
5958
<dependency>
6059
<groupId>io.opentelemetry</groupId>
6160
<artifactId>opentelemetry-api</artifactId>
62-
<version>${opentelemetry.version}</version>
61+
<version>${otel.version}</version>
6362
</dependency>
6463
<dependency>
6564
<groupId>io.opentelemetry</groupId>
6665
<artifactId>opentelemetry-sdk</artifactId>
67-
<version>${opentelemetry.version}</version>
66+
<version>${otel.version}</version>
6867
</dependency>
6968
<dependency>
7069
<groupId>io.opentelemetry</groupId>
7170
<artifactId>opentelemetry-sdk-testing</artifactId>
72-
<version>${opentelemetry.version}</version>
71+
<version>${otel.version}</version>
7372
</dependency>
7473
</dependencies>
7574
<build>

pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1919
<automatic.module.name>--module-name-need-to-be-overriden--</automatic.module.name>
2020
<junit-jupiter.version>5.11.2</junit-jupiter.version>
21+
<otel.version>1.42.1</otel.version>
2122
</properties>
2223

2324
<licenses>

prometheus-metrics-bom/pom.xml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -124,12 +124,6 @@
124124
<version>${prometheus.metrics.shaded.dependencies.version}</version>
125125
<!-- <version>${project.version}</version> -->
126126
</dependency>
127-
<dependency>
128-
<groupId>io.prometheus</groupId>
129-
<artifactId>prometheus-metrics-shaded-opentelemetry</artifactId>
130-
<version>${prometheus.metrics.shaded.dependencies.version}</version>
131-
<!-- <version>${project.version}</version> -->
132-
</dependency>
133127
</dependencies>
134128
</dependencyManagement>
135129
</project>

prometheus-metrics-exporter-opentelemetry/pom.xml

Lines changed: 62 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
</description>
1919

2020
<properties>
21-
<otel.version>1.42.1</otel.version>
2221
<automatic.module.name>io.prometheus.metrics.exporter.opentelemetry</automatic.module.name>
2322
</properties>
2423

@@ -29,10 +28,19 @@
2928
<version>${project.version}</version>
3029
</dependency>
3130
<dependency>
32-
<groupId>io.prometheus</groupId>
33-
<artifactId>prometheus-metrics-shaded-opentelemetry</artifactId>
34-
<version>1.3.1</version>
35-
<!-- <version>${project.version}</version> -->
31+
<groupId>io.opentelemetry</groupId>
32+
<artifactId>opentelemetry-api</artifactId>
33+
<version>${otel.version}</version>
34+
</dependency>
35+
<dependency>
36+
<groupId>io.opentelemetry</groupId>
37+
<artifactId>opentelemetry-sdk</artifactId>
38+
<version>${otel.version}</version>
39+
</dependency>
40+
<dependency>
41+
<groupId>io.opentelemetry</groupId>
42+
<artifactId>opentelemetry-exporter-otlp</artifactId>
43+
<version>${otel.version}</version>
3644
</dependency>
3745

3846
<!-- test dependencies -->
@@ -80,41 +88,28 @@
8088
</resources>
8189
<plugins>
8290
<plugin>
83-
<groupId>org.apache.maven.plugins</groupId>
84-
<artifactId>maven-dependency-plugin</artifactId>
91+
<groupId>org.codehaus.mojo</groupId>
92+
<artifactId>build-helper-maven-plugin</artifactId>
8593
<version>3.6.0</version>
8694
<executions>
8795
<execution>
88-
<id>copy</id>
89-
<phase>package</phase>
96+
<id>regex-property</id>
9097
<goals>
91-
<goal>copy</goal>
98+
<goal>regex-property</goal>
9299
</goals>
100+
<configuration>
101+
<name>otel.string-version</name>
102+
<value>${otel.version}</value>
103+
<regex>\.</regex>
104+
<replacement>_</replacement>
105+
<failIfNoMatch>true</failIfNoMatch>
106+
</configuration>
93107
</execution>
94108
</executions>
95-
<configuration>
96-
<artifactItems>
97-
<artifactItem>
98-
<groupId>io.opentelemetry</groupId>
99-
<artifactId>opentelemetry-api</artifactId>
100-
<version>${otel.version}</version>
101-
<outputDirectory>${project.basedir}/src/main/resources/lib/</outputDirectory>
102-
</artifactItem>
103-
<artifactItem>
104-
<groupId>io.opentelemetry</groupId>
105-
<artifactId>opentelemetry-context</artifactId>
106-
<version>${otel.version}</version>
107-
<outputDirectory>${project.basedir}/src/main/resources/lib/</outputDirectory>
108-
</artifactItem>
109-
</artifactItems>
110-
<!-- other configurations here -->
111-
</configuration>
112109
</plugin>
113-
<!--
114110
<plugin>
115111
<groupId>org.apache.maven.plugins</groupId>
116112
<artifactId>maven-shade-plugin</artifactId>
117-
<version>3.5.0</version>
118113
<executions>
119114
<execution>
120115
<phase>package</phase>
@@ -123,48 +118,74 @@
123118
</goals>
124119
<configuration>
125120
<artifactSet>
126-
<excludes>
127-
<exclude>io.prometheus:prometheus-metrics-core:${project.version}</exclude>
128-
</excludes>
121+
<includes>
122+
<include>io.opentelemetry:*</include>
123+
<include>com.squareup.*:*</include>
124+
<include>org.jetbrains:*</include>
125+
<include>org.jetbrains.*:*</include>
126+
</includes>
129127
</artifactSet>
130128
<relocations>
131129
<relocation>
132130
<pattern>io.opentelemetry</pattern>
133-
<shadedPattern>io.prometheus.metrics.shaded.io_opentelemetry_1_28_0</shadedPattern>
131+
<shadedPattern>
132+
io.prometheus.metrics.shaded.io_opentelemetry_${otel.string-version}
133+
</shadedPattern>
134134
</relocation>
135135
<relocation>
136136
<pattern>okhttp3</pattern>
137-
<shadedPattern>io.prometheus.metrics.shaded.io_opentelemetry_1_28_0.okhttp3</shadedPattern>
137+
<shadedPattern>
138+
io.prometheus.metrics.shaded.io_opentelemetry_${otel.string-version}.okhttp3
139+
</shadedPattern>
138140
</relocation>
139141
<relocation>
140142
<pattern>kotlin</pattern>
141-
<shadedPattern>io.prometheus.metrics.shaded.io_opentelemetry_1_28_0.kotlin</shadedPattern>
143+
<shadedPattern>
144+
io.prometheus.metrics.shaded.io_opentelemetry_${otel.string-version}.kotlin
145+
</shadedPattern>
146+
</relocation>
147+
<relocation>
148+
<pattern>org.intellij</pattern>
149+
<shadedPattern>
150+
io.prometheus.metrics.shaded.io_opentelemetry_${otel.string-version}.org.intellij
151+
</shadedPattern>
142152
</relocation>
143153
<relocation>
144-
<pattern>org</pattern>
145-
<shadedPattern>io.prometheus.metrics.shaded.io_opentelemetry_1_28_0.org</shadedPattern>
154+
<pattern>org.jetbrains</pattern>
155+
<shadedPattern>
156+
io.prometheus.metrics.shaded.io_opentelemetry_${otel.string-version}.org.jetbrains
157+
</shadedPattern>
146158
</relocation>
147159
<relocation>
148160
<pattern>okio</pattern>
149-
<shadedPattern>io.prometheus.metrics.shaded.io_opentelemetry_1_28_0.okio</shadedPattern>
161+
<shadedPattern>
162+
io.prometheus.metrics.shaded.io_opentelemetry_${otel.string-version}.okio
163+
</shadedPattern>
150164
</relocation>
151165
</relocations>
152166
<transformers>
153-
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
167+
<transformer
168+
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
154169
</transformers>
155170
<filters>
156171
<filter>
157172
<artifact>*:*</artifact>
158173
<excludes>
159-
<exclude>META-INF/maven/**</exclude>
174+
<exclude>lib/opentelemetry-*</exclude>
175+
<exclude>META-INF/maven/org.jctools/**</exclude>
176+
<exclude>META-INF/maven/org.jetbrains/**</exclude>
177+
<exclude>META-INF/versions/**</exclude>
178+
<exclude>META-INF/native-image/**</exclude>
179+
<exclude>META-INF/proguard/**</exclude>
180+
<exclude>META-INF/*.kotlin_module</exclude>
181+
<exclude>META-INF/MANIFEST.MF</exclude>
160182
</excludes>
161183
</filter>
162184
</filters>
163185
</configuration>
164186
</execution>
165187
</executions>
166188
</plugin>
167-
-->
168189
</plugins>
169190
</build>
170191
</project>

prometheus-metrics-exporter-opentelemetry/src/main/java/io/prometheus/metrics/exporter/opentelemetry/OpenTelemetryExporter.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
package io.prometheus.metrics.exporter.opentelemetry;
22

3+
import io.opentelemetry.exporter.otlp.http.metrics.OtlpHttpMetricExporter;
4+
import io.opentelemetry.exporter.otlp.http.metrics.OtlpHttpMetricExporterBuilder;
5+
import io.opentelemetry.exporter.otlp.metrics.OtlpGrpcMetricExporter;
6+
import io.opentelemetry.exporter.otlp.metrics.OtlpGrpcMetricExporterBuilder;
7+
import io.opentelemetry.sdk.common.InstrumentationScopeInfo;
8+
import io.opentelemetry.sdk.metrics.export.MetricExporter;
9+
import io.opentelemetry.sdk.metrics.export.PeriodicMetricReader;
10+
import io.opentelemetry.sdk.resources.Resource;
11+
import io.opentelemetry.sdk.resources.ResourceBuilder;
312
import io.prometheus.metrics.config.ExporterOpenTelemetryProperties;
413
import io.prometheus.metrics.config.PrometheusProperties;
514
import io.prometheus.metrics.model.registry.PrometheusRegistry;
6-
import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.exporter.otlp.http.metrics.OtlpHttpMetricExporter;
7-
import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.exporter.otlp.http.metrics.OtlpHttpMetricExporterBuilder;
8-
import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.exporter.otlp.metrics.OtlpGrpcMetricExporter;
9-
import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.exporter.otlp.metrics.OtlpGrpcMetricExporterBuilder;
10-
import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.sdk.common.InstrumentationScopeInfo;
11-
import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.sdk.metrics.export.MetricExporter;
12-
import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.sdk.metrics.export.PeriodicMetricReader;
13-
import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.sdk.resources.Resource;
14-
import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.sdk.resources.ResourceBuilder;
1515
import java.time.Duration;
1616
import java.util.HashMap;
1717
import java.util.Map;

prometheus-metrics-exporter-opentelemetry/src/main/java/io/prometheus/metrics/exporter/opentelemetry/PrometheusInstrumentationScope.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package io.prometheus.metrics.exporter.opentelemetry;
22

3-
import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.sdk.common.InstrumentationScopeInfo;
3+
import io.opentelemetry.sdk.common.InstrumentationScopeInfo;
44
import java.util.Properties;
55

66
class PrometheusInstrumentationScope {

prometheus-metrics-exporter-opentelemetry/src/main/java/io/prometheus/metrics/exporter/opentelemetry/PrometheusMetricProducer.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
package io.prometheus.metrics.exporter.opentelemetry;
22

3+
import io.opentelemetry.api.common.Attributes;
4+
import io.opentelemetry.api.common.AttributesBuilder;
5+
import io.opentelemetry.sdk.common.InstrumentationScopeInfo;
6+
import io.opentelemetry.sdk.metrics.data.MetricData;
7+
import io.opentelemetry.sdk.metrics.export.CollectionRegistration;
8+
import io.opentelemetry.sdk.resources.Resource;
9+
import io.opentelemetry.sdk.resources.ResourceBuilder;
310
import io.prometheus.metrics.exporter.opentelemetry.otelmodel.MetricDataFactory;
411
import io.prometheus.metrics.model.registry.PrometheusRegistry;
512
import io.prometheus.metrics.model.snapshots.CounterSnapshot;
@@ -12,13 +19,6 @@
1219
import io.prometheus.metrics.model.snapshots.StateSetSnapshot;
1320
import io.prometheus.metrics.model.snapshots.SummarySnapshot;
1421
import io.prometheus.metrics.model.snapshots.UnknownSnapshot;
15-
import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.api.common.Attributes;
16-
import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.api.common.AttributesBuilder;
17-
import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.sdk.common.InstrumentationScopeInfo;
18-
import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.sdk.metrics.data.MetricData;
19-
import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.sdk.metrics.export.CollectionRegistration;
20-
import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.sdk.resources.Resource;
21-
import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.sdk.resources.ResourceBuilder;
2222
import java.util.ArrayList;
2323
import java.util.Collection;
2424
import java.util.List;

prometheus-metrics-exporter-opentelemetry/src/main/java/io/prometheus/metrics/exporter/opentelemetry/otelmodel/DoublePointDataImpl.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package io.prometheus.metrics.exporter.opentelemetry.otelmodel;
22

3-
import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.api.common.Attributes;
4-
import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.sdk.metrics.data.DoubleExemplarData;
5-
import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.sdk.metrics.data.DoublePointData;
3+
import io.opentelemetry.api.common.Attributes;
4+
import io.opentelemetry.sdk.metrics.data.DoubleExemplarData;
5+
import io.opentelemetry.sdk.metrics.data.DoublePointData;
66
import java.util.List;
77

88
class DoublePointDataImpl extends PointDataImpl implements DoublePointData {

prometheus-metrics-exporter-opentelemetry/src/main/java/io/prometheus/metrics/exporter/opentelemetry/otelmodel/ExponentialHistogramBucketsImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package io.prometheus.metrics.exporter.opentelemetry.otelmodel;
22

3-
import io.prometheus.metrics.shaded.io_opentelemetry_1_38_0.sdk.metrics.data.ExponentialHistogramBuckets;
3+
import io.opentelemetry.sdk.metrics.data.ExponentialHistogramBuckets;
44
import java.util.ArrayList;
55
import java.util.List;
66

0 commit comments

Comments
 (0)