Skip to content

Commit c710bc2

Browse files
authored
Merge branch '8.x.x' into feat/graphql-22-update-instrumentation
2 parents dd032f7 + 30f169f commit c710bc2

File tree

11 files changed

+91
-12
lines changed

11 files changed

+91
-12
lines changed

.craft.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ targets:
4444
maven:io.sentry:sentry-opentelemetry-agent:
4545
maven:io.sentry:sentry-opentelemetry-agentcustomization:
4646
maven:io.sentry:sentry-opentelemetry-core:
47+
# maven:io.sentry:sentry-opentelemetry-agentless:
4748
maven:io.sentry:sentry-apollo:
4849
maven:io.sentry:sentry-jdbc:
4950
maven:io.sentry:sentry-graphql:

.github/ISSUE_TEMPLATE/bug_report_java.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ body:
1515
- sentry-apollo-3
1616
- sentry-kotlin-extensions
1717
- sentry-opentelemetry-agent
18+
- sentry-opentelemetry-agentless
1819
- sentry-opentelemetry-core
1920
- sentry-servlet
2021
- sentry-servlet-jakarta

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22

33
## Unreleased
44

5+
### Features
6+
7+
- Add `sentry-opentelemetry-agentless` module ([#3961](https://github.com/getsentry/sentry-java/pull/3961))
8+
- This module can be added as a dependency when using Sentry with OpenTelemetry but don't want to use our Agent. It takes care of configuring OpenTelemetry for use with Sentry.
9+
- To enable the auto configuration of it, please set `-Dotel.java.global-autoconfigure.enabled=true` on the `java` command, when starting your application.
10+
- You may also want to set `OTEL_LOGS_EXPORTER=none;OTEL_METRICS_EXPORTER=none;OTEL_TRACES_EXPORTER=none` env vars to not have the log flooded with error messages regarding OpenTelemetry features we don't use.
11+
512
### Fixes
613
- Replace deprecated `SimpleInstrumentation` with `SimplePerformantInstrumentation` for graphql 22 ([#3974](https://github.com/getsentry/sentry-java/pull/3974))
714

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# sentry-opentelemetry-agentless
2+
3+
*NOTE: Our OpenTelemetry modules are still experimental. Any feedback is welcome.*
4+
5+
## How to use it
6+
7+
Add the latest `sentry-opentelemetry-agentless` module as a dependency and add a `sentry.properties`
8+
configuration file to your project that could look like this:
9+
10+
```properties
11+
# NOTE: Replace the test DSN below with YOUR OWN DSN to see the events from this app in your Sentry project/dashboard
12+
dsn=https://[email protected]/5428563
13+
traces-sample-rate=1.0
14+
```
15+
16+
For more details on configuring Sentry via `sentry.properties` please see the
17+
[docs page](https://docs.sentry.io/platforms/java/configuration/).
18+
19+
As an alternative to the `SENTRY_PROPERTIES_FILE` environment variable you can provide individual
20+
settings as environment variables (e.g. `SENTRY_DSN=...`) or you may initialize `Sentry` inside
21+
your target application. If you do so, please make sure to apply OpenTelemetry specific options, e.g.
22+
like this:
23+
24+
```
25+
Sentry.init(
26+
options -> {
27+
options.setDsn("...");
28+
...
29+
OpenTelemetryUtil.applyOpenTelemetryOptions(options, false);
30+
}
31+
)
32+
```
33+
34+
## Getting rid of exporter error messages
35+
36+
In case you are using this module without needing to use any OpenTelemetry exporters you can add
37+
the following environment variables to turn off exporters and stop seeing error messages about
38+
servers not being reachable in the logs.
39+
40+
Example log message:
41+
```
42+
ERROR io.opentelemetry.exporter.internal.grpc.OkHttpGrpcExporter - Failed to export spans. The request could not be executed. Full error message: Failed to connect to localhost/[0:0:0:0:0:0:0:1]:4317
43+
ERROR io.opentelemetry.exporter.internal.grpc.OkHttpGrpcExporter - Failed to export metrics. The request could not be executed. Full error message: Failed to connect to localhost/[0:0:0:0:0:0:0:1]:4317
44+
```
45+
46+
### Traces
47+
48+
To turn off exporting of traces you can set `OTEL_TRACES_EXPORTER=none`
49+
see [OpenTelemetry GitHub](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure#otlp-exporter-span-metric-and-log-exporters)
50+
51+
### Metrics
52+
53+
To turn off exporting of metrics you can set `OTEL_METRICS_EXPORTER=none`
54+
see [OpenTelemetry GitHub](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure#otlp-exporter-span-metric-and-log-exporters)
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
plugins {
2+
`java-library`
3+
}
4+
5+
configure<JavaPluginExtension> {
6+
sourceCompatibility = JavaVersion.VERSION_1_8
7+
targetCompatibility = JavaVersion.VERSION_1_8
8+
}
9+
10+
dependencies {
11+
api(projects.sentry)
12+
api(projects.sentryOpentelemetry.sentryOpentelemetryBootstrap)
13+
implementation(projects.sentryOpentelemetry.sentryOpentelemetryAgentcustomization)
14+
api(Config.Libs.OpenTelemetry.otelSdk)
15+
api(Config.Libs.OpenTelemetry.otelSemconv)
16+
api(Config.Libs.OpenTelemetry.otelSemconvIncubating)
17+
api(Config.Libs.OpenTelemetry.otelExtensionAutoconfigure)
18+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
package io.sentry.opentelemetry.agent;
2+
3+
public final class AgentlessMarker {}

sentry-samples/sentry-samples-console-opentelemetry-noagent/build.gradle.kts

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,5 @@ configure<JavaPluginExtension> {
1414
}
1515

1616
dependencies {
17-
implementation(projects.sentry)
18-
19-
implementation(projects.sentryOpentelemetry.sentryOpentelemetryAgentcustomization)
20-
implementation(projects.sentryOpentelemetry.sentryOpentelemetryBootstrap)
21-
implementation(Config.Libs.OpenTelemetry.otelSdk)
22-
implementation(Config.Libs.OpenTelemetry.otelExtensionAutoconfigure)
23-
implementation(Config.Libs.OpenTelemetry.otelSemconv)
24-
implementation(Config.Libs.OpenTelemetry.otelSemconvIncubating)
17+
implementation(projects.sentryOpentelemetry.sentryOpentelemetryAgentless)
2518
}

sentry-samples/sentry-samples-console-opentelemetry-noagent/src/main/java/io/sentry/samples/console/Main.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import io.sentry.SentryEvent;
1515
import io.sentry.SentryLevel;
1616
import io.sentry.SpanStatus;
17+
import io.sentry.opentelemetry.OpenTelemetryUtil;
1718
import io.sentry.protocol.Message;
1819
import io.sentry.protocol.User;
1920
import java.util.Collections;
@@ -28,6 +29,8 @@ public static void main(String[] args) throws InterruptedException {
2829
options.setDsn(
2930
"https://[email protected]/5428563");
3031

32+
OpenTelemetryUtil.applyOpenTelemetryOptions(options, false);
33+
3134
// All events get assigned to the release. See more at
3235
// https://docs.sentry.io/workflow/releases/
3336
options.setRelease("[email protected]+1");

sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry-noagent/build.gradle.kts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,7 @@ dependencies {
5353
implementation(projects.sentryGraphql22)
5454
implementation(projects.sentryQuartz)
5555
implementation(Config.Libs.springBoot3StarterOpenTelemetry)
56-
implementation(projects.sentryOpentelemetry.sentryOpentelemetryBootstrap)
57-
implementation(projects.sentryOpentelemetry.sentryOpentelemetryAgentcustomization)
56+
implementation(projects.sentryOpentelemetry.sentryOpentelemetryAgentless)
5857

5958
// database query tracing
6059
implementation(projects.sentryJdbc)

sentry-samples/sentry-samples-spring-boot-opentelemetry-noagent/build.gradle.kts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,7 @@ dependencies {
5353
implementation(projects.sentryGraphql)
5454
implementation(projects.sentryQuartz)
5555
implementation(Config.Libs.springBoot3StarterOpenTelemetry)
56-
implementation(projects.sentryOpentelemetry.sentryOpentelemetryBootstrap)
57-
implementation(projects.sentryOpentelemetry.sentryOpentelemetryAgentcustomization)
56+
implementation(projects.sentryOpentelemetry.sentryOpentelemetryAgentless)
5857

5958
// database query tracing
6059
implementation(projects.sentryJdbc)

0 commit comments

Comments
 (0)