Skip to content

Commit 8c90b76

Browse files
committed
add option to skip the shaded otel libraries
Signed-off-by: Gregor Zeitlinger <[email protected]>
1 parent 0664a96 commit 8c90b76

File tree

5 files changed

+158
-129
lines changed
  • prometheus-metrics-bom
  • prometheus-metrics-exporter-opentelemetry
  • prometheus-metrics-exporter-opentelemetry-shaded
  • prometheus-metrics-exposition-formats-shaded

5 files changed

+158
-129
lines changed

pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@
7676
<module>prometheus-metrics-exporter-servlet-javax</module>
7777
<module>prometheus-metrics-exporter-httpserver</module>
7878
<module>prometheus-metrics-exporter-opentelemetry</module>
79+
<module>prometheus-metrics-exporter-opentelemetry-shaded</module>
7980
<module>prometheus-metrics-exporter-opentelemetry-otel-agent-resources</module>
8081
<module>prometheus-metrics-exporter-pushgateway</module>
8182
<module>prometheus-metrics-instrumentation-caffeine</module>

prometheus-metrics-bom/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,11 @@
4747
<artifactId>prometheus-metrics-exporter-opentelemetry</artifactId>
4848
<version>${project.version}</version>
4949
</dependency>
50+
<dependency>
51+
<groupId>io.prometheus</groupId>
52+
<artifactId>prometheus-metrics-exporter-opentelemetry-nootel</artifactId>
53+
<version>${project.version}</version>
54+
</dependency>
5055
<dependency>
5156
<groupId>io.prometheus</groupId>
5257
<artifactId>prometheus-metrics-exporter-pushgateway</artifactId>
Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4+
<modelVersion>4.0.0</modelVersion>
5+
6+
<parent>
7+
<groupId>io.prometheus</groupId>
8+
<artifactId>client_java</artifactId>
9+
<version>10.0.0-SNAPSHOT</version>
10+
</parent>
11+
12+
<artifactId>prometheus-metrics-exporter-opentelemetry</artifactId>
13+
<packaging>bundle</packaging>
14+
15+
<name>Prometheus Metrics to OpenTelemetry Exporter</name>
16+
<description>
17+
Converts Prometheus metrics to OpenTelemetry format and pushes them to an OTLP endpoint
18+
</description>
19+
20+
<properties>
21+
<automatic.module.name>io.prometheus.metrics.exporter.opentelemetry</automatic.module.name>
22+
</properties>
23+
24+
<dependencies>
25+
<dependency>
26+
<groupId>io.prometheus</groupId>
27+
<artifactId>prometheus-metrics-exporter-opentelemetry-nootel</artifactId>
28+
<version>${project.version}</version>
29+
</dependency>
30+
</dependencies>
31+
32+
<build>
33+
<plugins>
34+
<plugin>
35+
<groupId>org.codehaus.mojo</groupId>
36+
<artifactId>build-helper-maven-plugin</artifactId>
37+
<executions>
38+
<execution>
39+
<id>regex-property</id>
40+
<goals>
41+
<goal>regex-property</goal>
42+
</goals>
43+
<configuration>
44+
<name>otel.instrumentation.string-version</name>
45+
<value>${otel.instrumentation.version}</value>
46+
<regex>[\.-]</regex>
47+
<replacement>_</replacement>
48+
<failIfNoMatch>true</failIfNoMatch>
49+
</configuration>
50+
</execution>
51+
</executions>
52+
</plugin>
53+
<plugin>
54+
<groupId>org.apache.maven.plugins</groupId>
55+
<artifactId>maven-shade-plugin</artifactId>
56+
<executions>
57+
<execution>
58+
<phase>package</phase>
59+
<goals>
60+
<goal>shade</goal>
61+
</goals>
62+
<configuration>
63+
<artifactSet>
64+
<includes>
65+
<include>io.opentelemetry:*</include>
66+
<include>io.opentelemetry.semconv:*</include>
67+
<include>io.opentelemetry.instrumentation:*</include>
68+
<include>com.squareup.*:*</include>
69+
<include>org.jetbrains:*</include>
70+
<include>org.jetbrains.*:*</include>
71+
</includes>
72+
</artifactSet>
73+
<relocations>
74+
<relocation>
75+
<pattern>io.opentelemetry</pattern>
76+
<shadedPattern>
77+
io.prometheus.metrics.shaded.io_opentelemetry_${otel.instrumentation.string-version}
78+
</shadedPattern>
79+
</relocation>
80+
<relocation>
81+
<pattern>io.opentelemetry.instrumentation</pattern>
82+
<shadedPattern>
83+
io.prometheus.metrics.shaded.io_opentelemetry_${otel.instrumentation.string-version}.instrumentation
84+
</shadedPattern>
85+
</relocation>
86+
<relocation>
87+
<pattern>io.opentelemetry.semconv</pattern>
88+
<shadedPattern>
89+
io.prometheus.metrics.shaded.io_opentelemetry_${otel.instrumentation.string-version}.semconv
90+
</shadedPattern>
91+
</relocation>
92+
<relocation>
93+
<pattern>okhttp3</pattern>
94+
<shadedPattern>
95+
io.prometheus.metrics.shaded.io_opentelemetry_${otel.instrumentation.string-version}.okhttp3
96+
</shadedPattern>
97+
</relocation>
98+
<relocation>
99+
<pattern>kotlin</pattern>
100+
<shadedPattern>
101+
io.prometheus.metrics.shaded.io_opentelemetry_${otel.instrumentation.string-version}.kotlin
102+
</shadedPattern>
103+
</relocation>
104+
<relocation>
105+
<pattern>org.intellij</pattern>
106+
<shadedPattern>
107+
io.prometheus.metrics.shaded.io_opentelemetry_${otel.instrumentation.string-version}.org.intellij
108+
</shadedPattern>
109+
</relocation>
110+
<relocation>
111+
<pattern>org.jetbrains</pattern>
112+
<shadedPattern>
113+
io.prometheus.metrics.shaded.io_opentelemetry_${otel.instrumentation.string-version}.org.jetbrains
114+
</shadedPattern>
115+
</relocation>
116+
<relocation>
117+
<pattern>okio</pattern>
118+
<shadedPattern>
119+
io.prometheus.metrics.shaded.io_opentelemetry_${otel.instrumentation.string-version}.okio
120+
</shadedPattern>
121+
</relocation>
122+
</relocations>
123+
<transformers>
124+
<transformer
125+
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
126+
</transformers>
127+
<filters>
128+
<filter>
129+
<artifact>*:*</artifact>
130+
<excludes>
131+
<exclude>lib/opentelemetry-*</exclude>
132+
<exclude>META-INF/maven/org.jctools/**</exclude>
133+
<exclude>META-INF/maven/org.jetbrains/**</exclude>
134+
<exclude>META-INF/versions/**</exclude>
135+
<exclude>META-INF/native-image/**</exclude>
136+
<exclude>META-INF/proguard/**</exclude>
137+
<exclude>META-INF/*.kotlin_module</exclude>
138+
<exclude>META-INF/MANIFEST.MF</exclude>
139+
</excludes>
140+
</filter>
141+
</filters>
142+
</configuration>
143+
</execution>
144+
</executions>
145+
</plugin>
146+
</plugins>
147+
</build>
148+
</project>

prometheus-metrics-exporter-opentelemetry/pom.xml

Lines changed: 4 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,16 @@
99
<version>10.0.0-SNAPSHOT</version>
1010
</parent>
1111

12-
<artifactId>prometheus-metrics-exporter-opentelemetry</artifactId>
12+
<artifactId>prometheus-metrics-exporter-opentelemetry-nootel</artifactId>
1313
<packaging>bundle</packaging>
1414

15-
<name>Prometheus Metrics to OpenTelemetry Exporter</name>
15+
<name>Prometheus Metrics to OpenTelemetry Exporter without OTel shaded</name>
1616
<description>
17-
Converts Prometheus metrics to OpenTelemetry format and pushes them to an OTLP endpoint
17+
Converts Prometheus metrics to OpenTelemetry format and pushes them to an OTLP endpoint without shading OpenTelemetry.
1818
</description>
1919

2020
<properties>
21-
<automatic.module.name>io.prometheus.metrics.exporter.opentelemetry</automatic.module.name>
21+
<automatic.module.name>io.prometheus.metrics.exporter.opentelemetry.nootel</automatic.module.name>
2222
</properties>
2323

2424
<dependencyManagement>
@@ -108,119 +108,5 @@
108108
<filtering>true</filtering>
109109
</resource>
110110
</resources>
111-
<plugins>
112-
<plugin>
113-
<groupId>org.codehaus.mojo</groupId>
114-
<artifactId>build-helper-maven-plugin</artifactId>
115-
<executions>
116-
<execution>
117-
<id>regex-property</id>
118-
<goals>
119-
<goal>regex-property</goal>
120-
</goals>
121-
<configuration>
122-
<name>otel.instrumentation.string-version</name>
123-
<value>${otel.instrumentation.version}</value>
124-
<regex>[\.-]</regex>
125-
<replacement>_</replacement>
126-
<failIfNoMatch>true</failIfNoMatch>
127-
</configuration>
128-
</execution>
129-
</executions>
130-
</plugin>
131-
<plugin>
132-
<groupId>org.apache.maven.plugins</groupId>
133-
<artifactId>maven-shade-plugin</artifactId>
134-
<executions>
135-
<execution>
136-
<phase>package</phase>
137-
<goals>
138-
<goal>shade</goal>
139-
</goals>
140-
<configuration>
141-
<artifactSet>
142-
<includes>
143-
<include>io.opentelemetry:*</include>
144-
<include>io.opentelemetry.semconv:*</include>
145-
<include>io.opentelemetry.instrumentation:*</include>
146-
<include>com.squareup.*:*</include>
147-
<include>org.jetbrains:*</include>
148-
<include>org.jetbrains.*:*</include>
149-
</includes>
150-
</artifactSet>
151-
<relocations>
152-
<relocation>
153-
<pattern>io.opentelemetry</pattern>
154-
<shadedPattern>
155-
io.prometheus.metrics.shaded.io_opentelemetry_${otel.instrumentation.string-version}
156-
</shadedPattern>
157-
</relocation>
158-
<relocation>
159-
<pattern>io.opentelemetry.instrumentation</pattern>
160-
<shadedPattern>
161-
io.prometheus.metrics.shaded.io_opentelemetry_${otel.instrumentation.string-version}.instrumentation
162-
</shadedPattern>
163-
</relocation>
164-
<relocation>
165-
<pattern>io.opentelemetry.semconv</pattern>
166-
<shadedPattern>
167-
io.prometheus.metrics.shaded.io_opentelemetry_${otel.instrumentation.string-version}.semconv
168-
</shadedPattern>
169-
</relocation>
170-
<relocation>
171-
<pattern>okhttp3</pattern>
172-
<shadedPattern>
173-
io.prometheus.metrics.shaded.io_opentelemetry_${otel.instrumentation.string-version}.okhttp3
174-
</shadedPattern>
175-
</relocation>
176-
<relocation>
177-
<pattern>kotlin</pattern>
178-
<shadedPattern>
179-
io.prometheus.metrics.shaded.io_opentelemetry_${otel.instrumentation.string-version}.kotlin
180-
</shadedPattern>
181-
</relocation>
182-
<relocation>
183-
<pattern>org.intellij</pattern>
184-
<shadedPattern>
185-
io.prometheus.metrics.shaded.io_opentelemetry_${otel.instrumentation.string-version}.org.intellij
186-
</shadedPattern>
187-
</relocation>
188-
<relocation>
189-
<pattern>org.jetbrains</pattern>
190-
<shadedPattern>
191-
io.prometheus.metrics.shaded.io_opentelemetry_${otel.instrumentation.string-version}.org.jetbrains
192-
</shadedPattern>
193-
</relocation>
194-
<relocation>
195-
<pattern>okio</pattern>
196-
<shadedPattern>
197-
io.prometheus.metrics.shaded.io_opentelemetry_${otel.instrumentation.string-version}.okio
198-
</shadedPattern>
199-
</relocation>
200-
</relocations>
201-
<transformers>
202-
<transformer
203-
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
204-
</transformers>
205-
<filters>
206-
<filter>
207-
<artifact>*:*</artifact>
208-
<excludes>
209-
<exclude>lib/opentelemetry-*</exclude>
210-
<exclude>META-INF/maven/org.jctools/**</exclude>
211-
<exclude>META-INF/maven/org.jetbrains/**</exclude>
212-
<exclude>META-INF/versions/**</exclude>
213-
<exclude>META-INF/native-image/**</exclude>
214-
<exclude>META-INF/proguard/**</exclude>
215-
<exclude>META-INF/*.kotlin_module</exclude>
216-
<exclude>META-INF/MANIFEST.MF</exclude>
217-
</excludes>
218-
</filter>
219-
</filters>
220-
</configuration>
221-
</execution>
222-
</executions>
223-
</plugin>
224-
</plugins>
225111
</build>
226112
</project>

prometheus-metrics-exposition-formats-shaded/pom.xml

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,6 @@
2727
<groupId>io.prometheus</groupId>
2828
<artifactId>prometheus-metrics-exposition-formats-no-protobuf</artifactId>
2929
<version>${project.version}</version>
30-
<exclusions>
31-
<exclusion>
32-
<groupId>com.google.protobuf</groupId>
33-
<artifactId>protobuf-java</artifactId>
34-
</exclusion>
35-
</exclusions>
36-
</dependency>
37-
<dependency>
38-
<groupId>com.google.protobuf</groupId>
39-
<artifactId>protobuf-java</artifactId>
40-
<version>${protobuf-java.version}</version>
4130
</dependency>
4231
</dependencies>
4332

0 commit comments

Comments
 (0)