Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework java manual instrumentation #3144

Merged
merged 26 commits into from
Sep 14, 2023
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
705cbe9
Rework java manual instrumentation
svrnm Aug 2, 2023
09140a6
updates
svrnm Aug 4, 2023
e341f0d
Merge branch 'main' into java-manual-instrumentation
svrnm Aug 8, 2023
2cc0984
finalize first draft
svrnm Aug 8, 2023
2646667
Merge branch 'main' into java-manual-instrumentation
svrnm Aug 8, 2023
6b325e1
fixes
svrnm Aug 8, 2023
bca9d34
markdown issue fixes
svrnm Aug 8, 2023
54b09d4
Updates following feedback
svrnm Aug 9, 2023
6356388
Merge branch 'main' into java-manual-instrumentation
svrnm Aug 9, 2023
0a6dd88
Update content/en/docs/instrumentation/java/manual.md
svrnm Sep 6, 2023
ff9383a
Update content/en/docs/instrumentation/java/manual.md
svrnm Sep 6, 2023
647cb7e
Update content/en/docs/instrumentation/java/exporters.md
svrnm Sep 6, 2023
bf48195
resolving suggestions
svrnm Sep 8, 2023
550e6ed
Merge branch 'main' into java-manual-instrumentation
svrnm Sep 11, 2023
e19548a
Apply suggestions from code review
svrnm Sep 11, 2023
bf2d056
Merge branch 'main' into java-manual-instrumentation
svrnm Sep 11, 2023
ea8a2a9
Update content/en/docs/instrumentation/java/manual.md
svrnm Sep 11, 2023
70d9ac9
Update content/en/docs/instrumentation/java/manual.md
svrnm Sep 11, 2023
62b4cb5
Merge branch 'main' into java-manual-instrumentation
svrnm Sep 13, 2023
0aa265d
Merge branch 'main' into java-manual-instrumentation
svrnm Sep 13, 2023
839ab5e
fixes
svrnm Sep 13, 2023
624bb55
fix typo
svrnm Sep 13, 2023
5de87c7
fix markdown issue
svrnm Sep 13, 2023
8ee2a72
Update content/en/docs/instrumentation/java/manual.md
svrnm Sep 13, 2023
307b447
Merge branch 'main' into java-manual-instrumentation
svrnm Sep 13, 2023
0fd13fb
Merge branch 'main' into java-manual-instrumentation
svrnm Sep 14, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion content/en/docs/instrumentation/java/exporters.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ public class DiceApplication {
}
```

To try out the exporters quickly, you can run Jaeger with OTLP enabled in a
To see the traces exported quickly, you can run Jaeger with OTLP enabled in a
docker container:

```shell
Expand Down
13 changes: 10 additions & 3 deletions content/en/docs/instrumentation/java/manual.md
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,10 @@ dependencies {
}
```

Throughout this documentation you will add additional dependencies. For a full
list of artifact coordinates see [releases][releases] and for semantic
convention releases see [semantic-conventions-java][semantic-conventions-java].

{{% /tab %}} {{% tab Maven %}}

```xml
Expand Down Expand Up @@ -311,7 +315,7 @@ dependencies {
implementation("io.opentelemetry:opentelemetry-sdk:{{% param javaVersion %}}");
implementation("io.opentelemetry:opentelemetry-sdk-metrics:{{% param javaVersion %}}");
implementation("io.opentelemetry:opentelemetry-exporter-logging:{{% param javaVersion %}}");
implementation("io.opentelemetry:opentelemetry-semconv:{{% param javaVersion %}}-alpha");
implementation 'io.opentelemetry.semconv:opentelemetry-semconv:{{% param semconvJavaVersion %}}-alpha'
svrnm marked this conversation as resolved.
Show resolved Hide resolved
implementation("opentelemetry-sdk-extension-autoconfigure:{{% param javaVersion %}}");
implementation("opentelemetry-sdk-extension-autoconfigure-spi:{{% param javaVersion %}}");
}
Expand Down Expand Up @@ -448,7 +452,7 @@ import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
import io.opentelemetry.sdk.logs.SdkLoggerProvider;
import io.opentelemetry.sdk.logs.export.BatchLogRecordProcessor;
import io.opentelemetry.sdk.logs.export.LogRecordExporter;
import io.opentelemetry.semconv.resource.attributes.ResourceAttributes;
import io.opentelemetry.semconv.ResourceAttributes;

@SpringBootApplication
public class DiceApplication {
Expand Down Expand Up @@ -841,7 +845,7 @@ First add the semantic conventions as a dependency to your application:

```kotlin
dependencies {
implementation("io.opentelemetry:opentelemetry-semconv")
implementation("io.opentelemetry.semconv:opentelemetry-semconv:{{% param semconvJavaVersion %}}-alpha")
}
```

Expand Down Expand Up @@ -1648,5 +1652,8 @@ io.opentelemetry.sdk.trace.export.BatchSpanProcessor = io.opentelemetry.extensio
[opentelemetry registry]: /ecosystem/registry/?component=exporter&language=java
[parentbased]:
https://github.com/open-telemetry/opentelemetry-java/blob/main/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/samplers/ParentBasedSampler.java
[releases]: https://github.com/open-telemetry/opentelemetry-java#releases
[semantic-conventions-java]:
https://github.com/open-telemetry/semantic-conventions-java/releases
[traceidratiobased]:
https://github.com/open-telemetry/opentelemetry-java/blob/main/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/samplers/TraceIdRatioBasedSampler.java
45 changes: 23 additions & 22 deletions content/en/docs/instrumentation/java/resources.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ resource detection below.
## Detecting resources from common environments

You can use `ResourceProvider`s for filling in attributes related to common
environments, like [Container](/docs/specs/otel/resource/semantic_conventions/container/),
environments, like
[Container](/docs/specs/otel/resource/semantic_conventions/container/),
[Host](/docs/specs/otel/resource/semantic_conventions/host/) or
[Operating System](/docs/specs/otel/resource/semantic_conventions/os/). These
can be used with or without
Expand Down Expand Up @@ -85,27 +86,27 @@ import io.opentelemetry.instrumentation.resources.ProcessRuntimeResource;
Custom resources can be configured in your code like the following:

```java
Resource resource = Resource.getDefault()
.merge(Resource.create(Attributes.builder()
.put(ResourceAttributes.SERVICE_NAME, "dice-service")
.put(ResourceAttributes.SERVICE_VERSION, "0.1.0")
.put(ResourceAttributes.SERVICE_INSTANCE_ID, "dice-service-1")
.put(ResourceAttributes.HOST_NAME, System.getenv("HOSTNAME"))
.put(ResourceAttributes.PROCESS_PID, ProcessHandle.current().pid())
.build()));

SdkTracerProvider sdkTracerProvider = SdkTracerProvider.builder()
.setResource(resource)
...
.build();
Resource resource = Resource.getDefault()
.merge(Resource.create(Attributes.builder()
.put(ResourceAttributes.SERVICE_NAME, "dice-service")
.put(ResourceAttributes.SERVICE_VERSION, "0.1.0")
.put(ResourceAttributes.SERVICE_INSTANCE_ID, "dice-service-1")
.put(ResourceAttributes.HOST_NAME, System.getenv("HOSTNAME"))
.put(ResourceAttributes.PROCESS_PID, ProcessHandle.current().pid())
.build()));

SdkMeterProvider sdkMeterProvider = SdkMeterProvider.builder()
.setResource(resource)
...
.build();
SdkTracerProvider sdkTracerProvider = SdkTracerProvider.builder()
.setResource(resource)
...
.build();

SdkLoggerProvider sdkLoggerProvider = SdkLoggerProvider.builder()
.setResource(resource)
...
.build();
SdkMeterProvider sdkMeterProvider = SdkMeterProvider.builder()
.setResource(resource)
...
.build();

SdkLoggerProvider sdkLoggerProvider = SdkLoggerProvider.builder()
.setResource(resource)
...
.build();
```