Document ResourceProvider SPI and how to disable (#3720)

* add documentation around resource provider spi

* spotless

* Update sdk-extensions/autoconfigure/README.md

Co-authored-by: Fabrizio Ferri-Benedetti <fferribenedetti@splunk.com>

* Update sdk-extensions/autoconfigure/README.md

Co-authored-by: Fabrizio Ferri-Benedetti <fferribenedetti@splunk.com>

* Update sdk-extensions/autoconfigure/README.md

Co-authored-by: Fabrizio Ferri-Benedetti <fferribenedetti@splunk.com>

* add link to sdk-extension resources

* spotless meh

Co-authored-by: Fabrizio Ferri-Benedetti <fferribenedetti@splunk.com>
This commit is contained in:
jason plumb 2021-10-11 13:23:29 -07:00 committed by GitHub
parent 92c5da8088
commit 26aad090ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 27 additions and 0 deletions

View File

@ -19,6 +19,8 @@ environment variables, e.g., `OTEL_TRACES_EXPORTER=zipkin`.
+ [Logging exporter](#logging-exporter)
* [Trace context propagation](#propagator)
* [OpenTelemetry Resource](#opentelemetry-resource)
+ [Resource Provider SPI](#resource-provider-spi)
+ [Disabling automatic ResourceProviders](#disabling-automatic-resourceproviders)
* [Batch span processor](#batch-span-processor)
* [Sampler](#sampler)
* [Span limits](#span-limits)
@ -150,6 +152,31 @@ You would specify that by setting service name property in one of the following
If not specified, SDK defaults the service name to `unknown_service:java`.
### Resource Provider SPI
The [autoconfigure-spi](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure-spi),
part of the SDK extensions, provides a convenient ResourceProvider SPI that adds
[common resource attributes](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/resources) automatically. The SDK extensions include a [predefined set of common resources](https://github.com/open-telemetry/opentelemetry-java/blob/main/sdk-extensions/resources/src/main/resources/META-INF/services/io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider),
[common cloud vendor resources](https://github.com/open-telemetry/opentelemetry-java/blob/main/sdk-extensions/aws/src/main/resources/META-INF/services/io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider),
or you can create your own.
### Disabling Automatic ResourceProviders
If you are using the `ResourceProvider` SPI (many instrumentation agent distributions include this automatically),
you can disable one or more of them by using the following configuration item:
| System property | Environment variable | Description |
|---------------------------------------|---------------------------------------|------------------------------------------------------------------------------------|
| otel.java.disabled.resource-providers | OTEL_JAVA_DISABLED_RESOURCE_PROVIDERS | Disables one or more `ResourceProvider` types |
The value must be a comma separated list of fully qualified `ResourceProvider` classnames.
For example, if you don't want to expose the name of the operating system through the resource, you
can pass the following JVM argument:
```
-Dotel.java.disabled.resource-providers=io.opentelemetry.sdk.extension.resources.OsResourceProvider
```
## Batch span processor
| System property | Environment variable | Description |