LM Java OpenTelemetry SDK is a wrapper around OpenTelemetry SDK. If you are using LM OpenTelemetry SDK in the application then no need to add OpenTelemetry SDK dependency as it is fetched transitively.
./gradlew clean build publishToMavenLocal
Above command will build the sdk and install in your local maven repository.
dependencies {
implementation ('com.logicmonitor:lm-opentelemetry-sdk:0.1.0-alpha')
}
<dependency>
<groupId>com.logicmonitor</groupId>
<artifactId>lm-opentelemetry-sdk</artifactId>
<version>0.1.0-alpha</version>
</dependency>
Resource serviceResource = LMResourceDetector.detect();
//Create Span Exporter
OtlpGrpcSpanExporter spanExporter = OtlpGrpcSpanExporter.builder()
.setEndpoint("http://localhost:55680")
.build();
//Create SdkTracerProvider
SdkTracerProvider sdkTracerProvider = SdkTracerProvider.builder()
.addSpanProcessor(BatchSpanProcessor.builder(spanExporter)
.setScheduleDelay(100, TimeUnit.MILLISECONDS).build())
.setResource(serviceResource)
.build();
You can also use environment variable or system properties listed on OpenTelemetry Document to provide resource information.
System property | Environment variable | Description |
---|---|---|
otel.resource.attributes | OTEL_RESOURCE_ATTRIBUTES | Specify resource attributes in the following format: key1=val1,key2=val2,key3=val3 |
otel.service.name | OTEL_SERVICE_NAME | Specify logical service name. Takes precedence over service.name defined with otel.resource.attributes |
List of OpenTelemetry Component Dependencies
Component | Version |
---|---|
Trace API | v1.6.0 |
Trace SDK | v1.6.0 |
OpenTelemetry SDK Autoconfigure | v1.6.0-alpha |
OpenTelemetry AWS Utils | v1.6.0 |
OpenTelemetry Semantic Conventions | v1.6.0 |
OpenTelemetry Resource Providers | v1.6.0 |