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

Deprecate jaeger exporters. #2858

Merged

Conversation

breedx-splk
Copy link
Contributor

@breedx-splk breedx-splk commented Oct 8, 2022

Earlier this year, jaeger acquired native support for trace ingest via OTLP. Additionally, the language-specific client libraries that contained the jaeger thrift exporter implementations were EOLed via archival. At the top of the READMEs for those archived clients, Jaeger recommends switching to OpenTelemetry.

Since the client repos were archived, they will not receive security updates. Otel languages whose jaeger exporters depend on those clients will therefore need to reimplement the exporters or drop support for them. Because jaeger is actively urging users to switch to OpenTelemetry clients, I think that deprecation makes sense.

Continued support for jaeger exporters is a maintenance burden for otel language maintainers. Furthermore, the existence of so many exporter choices often serves to confuse users (eg. "I'm running jaeger and there's an otel jaeger exporter, so I should use that one?") and makes understanding otel <-> jaeger interoperation more difficult.

Related issue: #2859

@carlosalberto
Copy link
Contributor

cc @yurishkuro

@carlosalberto
Copy link
Contributor

@yurishkuro Ping

@yurishkuro
Copy link
Member

@carlosalberto discussion still ongoing in #2859

@github-actions
Copy link

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@github-actions github-actions bot added the Stale label Oct 28, 2022
@breedx-splk
Copy link
Contributor Author

Definitely not stale. Finishing up blog post here open-telemetry/opentelemetry.io#1892 and looking into cross posting with Jaeger blog.

@jack-berg jack-berg removed the Stale label Oct 31, 2022
@github-actions
Copy link

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@github-actions github-actions bot added the Stale label Nov 11, 2022
@yurishkuro yurishkuro removed the Stale label Nov 11, 2022
mateuszrzeszutek pushed a commit to open-telemetry/opentelemetry-java-examples that referenced this pull request Nov 15, 2022
Jaeger supports
[OTLP](https://www.jaegertracing.io/docs/1.39/deployment/#collector),
and there's an
[effort](open-telemetry/opentelemetry-specification#2858)
to deprecate the jaeger exporter, so it seems appropriate to demonstrate
SDK w/ OTLP exporter to Jaeger backend.
Co-authored-by: Reiley Yang <reyang@microsoft.com>
codeboten pushed a commit to codeboten/opentelemetry-collector-contrib that referenced this pull request Feb 10, 2023
As per the change in the spec open-telemetry/opentelemetry-specification#2858, we should start announcing the deprecation of the jaeger exporters to give users time to migrate.

Signed-off-by: Alex Boten <aboten@lightstep.com>
codeboten pushed a commit to open-telemetry/opentelemetry-collector-contrib that referenced this pull request Feb 13, 2023
As per the change in the spec open-telemetry/opentelemetry-specification#2858, support for Jaeger exporters is being deprecated. We should start announcing the deprecation of the jaeger exporters to give users time to migrate.

Signed-off-by: Alex Boten <aboten@lightstep.com>
Co-authored-by: Tyler Helmuth <12352919+TylerHelmuth@users.noreply.github.com>
@marcalff marcalff mentioned this pull request Jun 9, 2023
@marcalff marcalff mentioned this pull request Jun 26, 2023
3 tasks
albertteoh added a commit to jaegertracing/jaeger that referenced this pull request Aug 29, 2023
## Which problem is this PR solving?
- Supports the new spanmetrics connector by default.
- Some local developer improvements.

## Description of the changes
- Defaults the `PROMETHEUS_QUERY_SUPPORT_SPANMETRICS_CONNECTOR`
parameter to `true`.
- The next release will remove this configuration and not support the
spanmetrics processor.
- Removes the use of the deprecated jaeger exporter in OTEL config. For
more details, please refer to:
open-telemetry/opentelemetry-specification#2858.
- Simplifies the Makefile by:
- Providing defaults in the docker-compose.yml file to prefer the
spanmetrics connector.
  - Removing the `run` target in favour of `docker compose up`.
  - Removing the `run-` prefix of the remaining targets.

## How was this change tested?
- Tested the following commands to confirm metrics are visible in the
Monitor tab:

```
$ make build
$ make dev
$ make dev-processor
$ docker compose up

# No longer works
$ make run
```

## Checklist
- [x] I have read
https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
- [x] I have signed all commits
~- [] I have added unit tests for the new functionality~
- [x] I have run lint and test steps successfully
  - for `jaeger`: `make lint test`
  - for `jaeger-ui`: `yarn lint` and `yarn test`

---------

Signed-off-by: albertteoh <see.kwang.teoh@gmail.com>
Signed-off-by: Albert <26584478+albertteoh@users.noreply.github.com>
Co-authored-by: Yuri Shkuro <yurishkuro@users.noreply.github.com>
komuw added a commit to komuw/otero that referenced this pull request Jan 10, 2024
- Jaeger is deprecated and removed as an exporter. see: open-telemetry/opentelemetry-specification#2858
  But it now also supports native otlp protocol so we use that.
- We had to expand the tls cert's subjectAltName to include `jaeger`. This is so as to enable otel collector to send traces to jaeger. While at it, we added `prometheus` to subjectAltName even though we do not require it at the moment.
Chickensoupwithrice added a commit to sourcegraph/sourcegraph-public-snapshot that referenced this pull request Jul 10, 2024
)

Thread:
https://sourcegraph.slack.com/archives/C1JH2BEHZ/p1717797870638299

One problem caused by this upgrade is that the [deprecated
`jaegerexporter`](open-telemetry/opentelemetry-specification#2858)
no longer builds at all with the last published version, so for the
upgrade to go through it must be removed. I've updated local `sg start`
to work with this change, but some Release team support is needed for
deployment configuration + customer-facing docs changes:
https://sourcegraph.slack.com/archives/C1JH2BEHZ/p1718143249191349?thread_ts=1717797870.638299&cid=C1JH2BEHZ,
since current guidance asks customers to configure `jaegerexporter`.

Part of https://linear.app/sourcegraph/issue/SEC-1680

Closes https://linear.app/sourcegraph/issue/CORE-177

## Test plan

Followed steps shared in
https://sourcegraph.slack.com/archives/C04MYFW01NV/p1718136211292469 to
run locally, since `sg run jaeger otel-collector` alone is insufficient
to get updated images:

```diff
diff --git a/wolfi-images/opentelemetry-collector.yaml b/wolfi-images/opentelemetry-collector.yaml
index b995a3d531b..76de80d4f84 100644
--- a/wolfi-images/opentelemetry-collector.yaml
+++ b/wolfi-images/opentelemetry-collector.yaml
@@ -7,7 +7,11 @@ contents:
     - mailcap
 
     ## opentelemetry-collector packages
-    - opentelemetry-collector@sourcegraph
+    - opentelemetry-collector@branch
+  keyring:
+    - https://packages.sgdev.org/sourcegraph-melange-dev.rsa.pub
+  repositories:
+    - '@Branch https://packages.sgdev.org/branches/otel-collector-upgrade'
 
 paths:
   - path: /otel-collector
```

plus `sg wolfi lock opentelemetry-collector` will make `sg run
otel-collector` use the correct image.

**The above diffs SHOULD NOT be committed. The lock should happen
post-merge.**

Spot-checked some traces locally with:

```
sg run jaeger otel-collector
sg start
```


![image](https://github.com/sourcegraph/sourcegraph/assets/23356519/dff88d5a-db9a-4039-b7ba-682e120bdc41)


![image](https://github.com/sourcegraph/sourcegraph/assets/23356519/7e553894-0026-47de-ae38-ba5502b94c63)


## Changelog 

- OpenTelemetry Collector: Upgraded OpenTelemetry Collector to v0.103.0
- OpenTelemetry Collector: The [deprecated `jaegerexporter` has been
removed](open-telemetry/opentelemetry-specification#2858).
Users of `exporter: { jaeger: ... }` in the OpenTelemetry Collector
should use `exporter: { otlp/jaeger: ... }` to send traces directly to
Jaeger via its OTLP receiver.
- Users of the default Jaeger configurations now need to provide
`JAEGER_OTLP_GRPC_PORT` as well as the existing `JAEGER_HOST`
configuration.

---------

Co-authored-by: Anish Lakhwara <anish+github@lakhwara.com>
Co-authored-by: Anish Lakhwara <anish+git@lakhwara.com>
Chickensoupwithrice added a commit to sourcegraph/sourcegraph-public-snapshot that referenced this pull request Jul 10, 2024
)

Thread:
https://sourcegraph.slack.com/archives/C1JH2BEHZ/p1717797870638299

One problem caused by this upgrade is that the [deprecated
`jaegerexporter`](open-telemetry/opentelemetry-specification#2858)
no longer builds at all with the last published version, so for the
upgrade to go through it must be removed. I've updated local `sg start`
to work with this change, but some Release team support is needed for
deployment configuration + customer-facing docs changes:
https://sourcegraph.slack.com/archives/C1JH2BEHZ/p1718143249191349?thread_ts=1717797870.638299&cid=C1JH2BEHZ,
since current guidance asks customers to configure `jaegerexporter`.

Part of https://linear.app/sourcegraph/issue/SEC-1680

Closes https://linear.app/sourcegraph/issue/CORE-177

## Test plan

Followed steps shared in
https://sourcegraph.slack.com/archives/C04MYFW01NV/p1718136211292469 to
run locally, since `sg run jaeger otel-collector` alone is insufficient
to get updated images:

```diff
diff --git a/wolfi-images/opentelemetry-collector.yaml b/wolfi-images/opentelemetry-collector.yaml
index b995a3d531b..76de80d4f84 100644
--- a/wolfi-images/opentelemetry-collector.yaml
+++ b/wolfi-images/opentelemetry-collector.yaml
@@ -7,7 +7,11 @@ contents:
     - mailcap
 
     ## opentelemetry-collector packages
-    - opentelemetry-collector@sourcegraph
+    - opentelemetry-collector@branch
+  keyring:
+    - https://packages.sgdev.org/sourcegraph-melange-dev.rsa.pub
+  repositories:
+    - '@Branch https://packages.sgdev.org/branches/otel-collector-upgrade'
 
 paths:
   - path: /otel-collector
```

plus `sg wolfi lock opentelemetry-collector` will make `sg run
otel-collector` use the correct image.

**The above diffs SHOULD NOT be committed. The lock should happen
post-merge.**

Spot-checked some traces locally with:

```
sg run jaeger otel-collector
sg start
```


![image](https://github.com/sourcegraph/sourcegraph/assets/23356519/dff88d5a-db9a-4039-b7ba-682e120bdc41)


![image](https://github.com/sourcegraph/sourcegraph/assets/23356519/7e553894-0026-47de-ae38-ba5502b94c63)


## Changelog 

- OpenTelemetry Collector: Upgraded OpenTelemetry Collector to v0.103.0
- OpenTelemetry Collector: The [deprecated `jaegerexporter` has been
removed](open-telemetry/opentelemetry-specification#2858).
Users of `exporter: { jaeger: ... }` in the OpenTelemetry Collector
should use `exporter: { otlp/jaeger: ... }` to send traces directly to
Jaeger via its OTLP receiver.
- Users of the default Jaeger configurations now need to provide
`JAEGER_OTLP_GRPC_PORT` as well as the existing `JAEGER_HOST`
configuration.

---------

Co-authored-by: Anish Lakhwara <anish+github@lakhwara.com>
Co-authored-by: Anish Lakhwara <anish+git@lakhwara.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Drop support for jaeger-thrift
10 participants