Skip to content

Commit f52ce2c

Browse files
tylerbensontrask
andauthored
Add better explanation for how to configure extension classes (open-telemetry#8898)
Co-authored-by: Trask Stalnaker <[email protected]>
1 parent 300a105 commit f52ce2c

File tree

1 file changed

+24
-6
lines changed

1 file changed

+24
-6
lines changed

examples/extension/README.md

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,30 @@ For more information, see the `extendedAgent` task in [build.gradle](build.gradl
3434

3535
## Extensions examples
3636

37-
- Custom `IdGenerator`: [DemoIdGenerator](src/main/java/com/example/javaagent/DemoIdGenerator.java)
38-
- Custom `TextMapPropagator`: [DemoPropagator](src/main/java/com/example/javaagent/DemoPropagator.java)
39-
- Custom `Sampler`: [DemoSampler](src/main/java/com/example/javaagent/DemoSampler.java)
40-
- Custom `SpanProcessor`: [DemoSpanProcessor](src/main/java/com/example/javaagent/DemoSpanProcessor.java)
41-
- Custom `SpanExporter`: [DemoSpanExporter](src/main/java/com/example/javaagent/DemoSpanExporter.java)
42-
- Additional instrumentation: [DemoServlet3InstrumentationModule](src/main/java/com/example/javaagent/instrumentation/DemoServlet3InstrumentationModule.java)
37+
[DemoAutoConfigurationCustomizerProvider]: src/main/java/com/example/javaagent/DemoAutoConfigurationCustomizerProvider.java
38+
[DemoIdGenerator]: src/main/java/com/example/javaagent/DemoIdGenerator.java
39+
[DemoPropagator]: src/main/java/com/example/javaagent/DemoPropagator.java
40+
[DemoSampler]: src/main/java/com/example/javaagent/DemoSampler.java
41+
[DemoSpanProcessor]: src/main/java/com/example/javaagent/DemoSpanProcessor.java
42+
[DemoSpanExporter]: src/main/java/com/example/javaagent/DemoSpanExporter.java
43+
[DemoServlet3InstrumentationModule]: src/main/java/com/example/javaagent/instrumentation/DemoServlet3InstrumentationModule.java
44+
45+
- Custom `AutoConfigurationCustomizer`: [DemoAutoConfigurationCustomizerProvider][DemoAutoConfigurationCustomizerProvider]
46+
- Custom `IdGenerator`: [DemoIdGenerator][DemoIdGenerator]
47+
- Custom `TextMapPropagator`: [DemoPropagator][DemoPropagator]
48+
- Custom `Sampler`: [DemoSampler][DemoSampler]
49+
- Custom `SpanProcessor`: [DemoSpanProcessor][DemoSpanProcessor]
50+
- Custom `SpanExporter`: [DemoSpanExporter][DemoSpanExporter]
51+
- Additional instrumentation: [DemoServlet3InstrumentationModule][DemoServlet3InstrumentationModule]
52+
53+
`ConfigurablePropagatorProvider` and `AutoConfigurationCustomizer` implementations and custom
54+
instrumentation (`InstrumentationModule`) need the correct SPI (through `@AutoService`) in
55+
order to be loaded by the agent. Once a `ConfigurablePropagatorProvider` is added, it can be
56+
referenced by name in the `OTEL_PROPAGATORS` setting. `AutoConfigurationCustomizer` and
57+
instrumentation will be applied automatically. To apply the other extension classes to the Java
58+
Agent, include an `AutoConfigurationCustomizer` in your extension.
59+
See [DemoAutoConfigurationCustomizerProvider][DemoAutoConfigurationCustomizerProvider] for an
60+
example.
4361

4462
## Sample use cases
4563

0 commit comments

Comments
 (0)