Skip to content

Commit d0b6ade

Browse files
committed
Demosntrate declarative config 0.3 with otel java agent
1 parent 549235e commit d0b6ade

File tree

5 files changed

+290
-8
lines changed

5 files changed

+290
-8
lines changed

build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ subprojects {
1313
version = "0.1.0-SNAPSHOT"
1414

1515
repositories {
16+
mavenLocal()
1617
mavenCentral()
1718
}
1819

javaagent/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ By default, this example uses the [environment variable configuration schema](ht
5252
To use file configuration instead of the environment variable scheme, add the following before starting the application and collector:
5353

5454
```shell
55-
export OTEL_CONFIG_FILE=/sdk-config.yaml
55+
export OTEL_EXPERIMENTAL_CONFIG_FILE=/sdk-config.yaml
5656
```
5757

5858
Note that toggling file configuration causes the environment variable configuration scheme to be ignored completely. However, there is support for environment variable substitution within configuration files.

javaagent/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ dependencies {
2424
//spring modules
2525
implementation("org.springframework.boot:spring-boot-starter-web")
2626

27-
agent("io.opentelemetry.javaagent:opentelemetry-javaagent:2.8.0")
27+
agent("io.opentelemetry.javaagent:opentelemetry-javaagent:2.9.0-SNAPSHOT")
2828
}
2929

3030
val copyAgent = tasks.register<Copy>("copyAgent") {

javaagent/docker-compose.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ services:
88
# Logs are disabled by default
99
OTEL_LOGS_EXPORTER: "otlp"
1010
# Optional specify file configuration instead of using environment variable scheme
11-
# To use, call "export OTEL_CONFIG_FILE=/sdk-config.yaml" before calling docker compose up
12-
OTEL_CONFIG_FILE:
11+
# To use, call "export OTEL_EXPERIMENTAL_CONFIG_FILE=/sdk-config.yaml" before calling docker compose up
12+
OTEL_EXPERIMENTAL_CONFIG_FILE: /sdk-config.yaml
1313
ports:
1414
- "8080:8080"
1515
volumes:

javaagent/sdk-config.yaml

Lines changed: 285 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,32 @@ file_format: "0.1"
22

33
resource:
44
attributes:
5-
service.name: agent-example-app
5+
- name: service.name
6+
value: agent-example-app
67

78
logger_provider:
89
processors:
910
- batch:
1011
exporter:
1112
otlp:
12-
endpoint: http://collector:4318
13+
endpoint: http://collector:4318/v1/logs
1314
protocol: http/protobuf
1415

1516
tracer_provider:
1617
processors:
1718
- batch:
1819
exporter:
1920
otlp:
20-
endpoint: http://collector:4318
21+
endpoint: http://collector:4318/v1/traces
2122
protocol: http/protobuf
2223

2324
meter_provider:
2425
readers:
2526
- periodic:
27+
interval: 5000
2628
exporter:
2729
otlp:
28-
endpoint: http://collector:4318
30+
endpoint: http://collector:4318/v1/metrics
2931
protocol: http/protobuf
3032
# Example of how to use view to drop a metric which isn't needed.
3133
# This configuration is not available with the environment variable configuration scheme.
@@ -36,3 +38,282 @@ meter_provider:
3638
stream:
3739
aggregation:
3840
drop:
41+
42+
instrumentation:
43+
java:
44+
common:
45+
default-enabled: true
46+
methods:
47+
enabled: true
48+
external-annotations:
49+
enabled: true
50+
akka-actor:
51+
enabled: true
52+
akka-http:
53+
enabled: true
54+
axis2:
55+
enabled: true
56+
camel:
57+
enabled: true
58+
cassandra:
59+
enabled: true
60+
cxf:
61+
enabled: true
62+
apache-dbcp:
63+
enabled: true
64+
apache-dubbo:
65+
enabled: true
66+
geode:
67+
enabled: true
68+
apache-httpasyncclient:
69+
enabled: true
70+
apache-httpclient:
71+
enabled: true
72+
kafka:
73+
enabled: true
74+
jsf-myfaces:
75+
enabled: true
76+
pekko-actor:
77+
enabled: true
78+
pekko-http:
79+
enabled: true
80+
pulsar:
81+
enabled: true
82+
rocketmq-client:
83+
enabled: true
84+
apache-shenyu:
85+
enabled: true
86+
struts:
87+
enabled: true
88+
tapestry:
89+
enabled: true
90+
tomcat:
91+
enabled: true
92+
wicket:
93+
enabled: true
94+
armeria:
95+
enabled: true
96+
async-http-client:
97+
enabled: true
98+
aws-lambda:
99+
enabled: true
100+
aws-sdk:
101+
enabled: true
102+
azure-core:
103+
enabled: true
104+
clickhouse:
105+
enabled: true
106+
couchbase:
107+
enabled: true
108+
c3p0:
109+
enabled: true
110+
dropwizard-views:
111+
enabled: true
112+
dropwizard-metrics:
113+
enabled: true
114+
grizzly:
115+
enabled: true
116+
jersey:
117+
enabled: true
118+
jetty:
119+
enabled: true
120+
jetty-httpclient:
121+
enabled: true
122+
metro:
123+
enabled: true
124+
jsf-mojarra:
125+
enabled: true
126+
vertx-http-client:
127+
enabled: true
128+
vertx-kafka-client:
129+
enabled: true
130+
vertx-redis-client:
131+
enabled: true
132+
vertx-rx-java:
133+
enabled: true
134+
vertx-sql-client:
135+
enabled: true
136+
vertx-web:
137+
enabled: true
138+
elasticsearch-transport:
139+
enabled: true
140+
elasticsearch-rest:
141+
enabled: true
142+
finagle-http:
143+
enabled: true
144+
guava:
145+
enabled: true
146+
google-http-client:
147+
enabled: true
148+
gwt:
149+
enabled: true
150+
grails:
151+
enabled: true
152+
graphql-java:
153+
enabled: true
154+
grpc:
155+
enabled: true
156+
hibernate:
157+
enabled: true
158+
hibernate-reactive:
159+
enabled: true
160+
hikaricp:
161+
enabled: true
162+
influxdb:
163+
enabled: true
164+
java-http-client:
165+
enabled: true
166+
http-url-connection:
167+
enabled: true
168+
jdbc:
169+
enabled: true
170+
jdbc-datasource:
171+
enabled: true
172+
rmi:
173+
enabled: true
174+
runtime-telemetry:
175+
enabled: false
176+
servlet:
177+
enabled: true
178+
executors:
179+
enabled: true
180+
java-util-logging:
181+
enabled: true
182+
javalin:
183+
enabled: true
184+
jaxrs-client:
185+
enabled: true
186+
jaxrs:
187+
enabled: true
188+
jaxws:
189+
enabled: true
190+
jboss-logmanager-appender:
191+
enabled: true
192+
jboss-logmanager-mdc:
193+
enabled: true
194+
jms:
195+
enabled: true
196+
jodd-http:
197+
enabled: true
198+
jsp:
199+
enabled: true
200+
kubernetes-client:
201+
enabled: true
202+
ktor:
203+
enabled: true
204+
kotlinx-coroutines:
205+
enabled: true
206+
log4j-appender:
207+
enabled: true
208+
log4j-mdc:
209+
enabled: true
210+
log4j-context-data:
211+
enabled: true
212+
logback-appender:
213+
enabled: true
214+
logback-mdc:
215+
enabled: true
216+
micrometer:
217+
enabled: true
218+
mongo:
219+
enabled: true
220+
mybatis:
221+
enabled: true
222+
hystrix:
223+
enabled: true
224+
netty:
225+
enabled: true
226+
okhttp:
227+
enabled: true
228+
liberty:
229+
enabled: true
230+
opentelemetry-extension-annotations:
231+
enabled: true
232+
opentelemetry-instrumentation-annotations:
233+
enabled: true
234+
opentelemetry-api:
235+
enabled: true
236+
oracle-ucp:
237+
enabled: true
238+
oshi:
239+
enabled: true
240+
play:
241+
enabled: true
242+
play-ws:
243+
enabled: true
244+
quarkus:
245+
enabled: true
246+
quartz:
247+
enabled: true
248+
r2dbc:
249+
enabled: true
250+
rabbitmq:
251+
enabled: true
252+
ratpack:
253+
enabled: true
254+
rxjava:
255+
enabled: true
256+
reactor:
257+
enabled: true
258+
reactor-kafka:
259+
enabled: true
260+
reactor-netty:
261+
enabled: true
262+
jedis:
263+
enabled: true
264+
lettuce:
265+
enabled: true
266+
rediscala:
267+
enabled: true
268+
redisson:
269+
enabled: true
270+
restlet:
271+
enabled: true
272+
scala-fork-join:
273+
enabled: true
274+
spark:
275+
enabled: true
276+
spring-batch:
277+
enabled: true
278+
spring-core:
279+
enabled: true
280+
spring-data:
281+
enabled: true
282+
spring-jms:
283+
enabled: true
284+
spring-integration:
285+
enabled: true
286+
spring-kafka:
287+
enabled: true
288+
spring-rabbit:
289+
enabled: true
290+
spring-rmi:
291+
enabled: true
292+
spring-scheduling:
293+
enabled: true
294+
spring-web:
295+
enabled: true
296+
spring-webflux:
297+
enabled: true
298+
spring-webmvc:
299+
enabled: true
300+
spring-ws:
301+
enabled: true
302+
spymemcached:
303+
enabled: true
304+
tomcat-jdbc:
305+
enabled: true
306+
twilio:
307+
enabled: true
308+
finatra:
309+
enabled: true
310+
undertow:
311+
enabled: true
312+
vaadin:
313+
enabled: true
314+
vibur-dbcp:
315+
enabled: true
316+
xxl-job:
317+
enabled: true
318+
zio:
319+
enabled: true

0 commit comments

Comments
 (0)