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

Remove unneeded references to OpenTracing #4790

Merged
merged 1 commit into from
Sep 28, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ github.com/jaegertracing/jaeger
main.go
crossdock/ - Cross-repo integration test configuration
examples/
hotrod/ - Demo application that uses OpenTracing API
hotrod/ - Demo application that demonstrates the use of tracing instrumentation
idl/ - (submodule) https://github.com/jaegertracing/jaeger-idl
jaeger-ui/ - (submodule) https://github.com/jaegertracing/jaeger-ui
model/ - Where models are kept, e.g. Process, Span, Trace
Expand Down Expand Up @@ -213,7 +213,7 @@ After the merge make sure referenced issues were closed.
* Ensure all references to the flag's variables have been removed in code.
* Ensure a "Breaking Changes" entry is added in the [CHANGELOG](./CHANGELOG.md) indicating which CLI flag
is being removed and which CLI flag should be used in favor of this removed flag.

For example:
```
* Remove deprecated flags `--old-flag`, please use `--new-flag` ([#1234](<pull-request URL>), [@myusername](https://github.com/myusername))
Expand Down
17 changes: 9 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,18 +68,19 @@ Jaeger is an open source project with open governance. We welcome contributions
Jaeger backend is designed to have no single points of failure and to scale with the business needs.
For example, any given Jaeger installation at Uber is typically processing several billions of spans per day.

### Native support for OpenTracing
### Relationship with OpenTelemetry

Jaeger backend, Web UI, and instrumentation libraries have been designed from the ground up to support the [OpenTracing standard](https://opentracing.io/specification/).
* Represent traces as directed acyclic graphs (not just trees) via [span references](https://github.com/opentracing/specification/blob/master/specification.md#references-between-spans)
* Support strongly typed span _tags_ and _structured logs_
* Support general distributed context propagation mechanism via _baggage_
The Jaeger and [OpenTelemetry](https://opentelemetry.io) projects have different goals. OpenTelemetry aims to provide APIs and SDKs in multiple languages to allow applications to export various telemetry data out of the process, to any number of metrics and tracing backends. The Jaeger project is primarily the tracing backend that receives tracing telemetry data and provides processing, aggregation, data mining, and visualizations of that data. For more information please refer to a blog post [Jaeger and OpenTelemetry](https://medium.com/jaegertracing/jaeger-and-opentelemetry-1846f701d9f2).

#### OpenTelemetry
Jaeger was originally designed to support the [OpenTracing standard](https://opentracing.io/specification/). The terminology is still used in Jaeger UI, but the concepts have direct mapping to the OpenTelemetry data model of traces.

Jaeger project recommends OpenTelemetry SDKs for instrumentation, instead of Jaeger's native SDKs [that are now deprecated](https://www.jaegertracing.io/docs/latest/client-libraries/#deprecating-jaeger-clients).
| Capability | OpenTracing concept | OpenTelemetry concept |
| ------------- | ------------------- | --------------------- |
| Represent traces as directed acyclic graphs (not just trees) | [span references](https://github.com/opentracing/specification/blob/master/specification.md#references-between-spans) | [span links](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#span) |
| Strongly typed span attributes | span tags | span attributes |
| Strongly typed events/logs | span logs | span events |

The OpenTracing and OpenCensus projects have merged into a new CNCF project called [OpenTelemetry](https://opentelemetry.io). The Jaeger and OpenTelemetry projects have different goals. OpenTelemetry aims to provide APIs and SDKs in multiple languages to allow applications to export various telemetry data out of the process, to any number of metrics and tracing backends. The Jaeger project is primarily the tracing backend that receives tracing telemetry data and provides processing, aggregation, data mining, and visualizations of that data. The Jaeger client libraries do overlap with OpenTelemetry in functionality. OpenTelemetry natively supports Jaeger as a tracing backend and makes Jaeger native clients unnecessary. For more information please refer to a blog post [Jaeger and OpenTelemetry](https://medium.com/jaegertracing/jaeger-and-opentelemetry-1846f701d9f2).
Jaeger project recommends OpenTelemetry SDKs for instrumentation, instead of [now-deprecated Jaeger SDKs](https://www.jaegertracing.io/docs/latest/client-libraries/#deprecating-jaeger-clients).

### Multiple storage backends

Expand Down
13 changes: 6 additions & 7 deletions docker-compose/monitor/grafana.ini
Original file line number Diff line number Diff line change
Expand Up @@ -210,10 +210,10 @@ check_for_updates = true
check_for_plugin_updates = true

# Google Analytics universal tracking code, only enabled if you specify an id here
google_analytics_ua_id =
google_analytics_ua_id =

# Google Analytics 4 tracking code, only enabled if you specify an id here
google_analytics_4_id =
google_analytics_4_id =

# Google Tag Manager ID, only enabled if you specify an id here
google_tag_manager_id =
Expand Down Expand Up @@ -1022,7 +1022,6 @@ url = https://grafana.com
url = https://grafana.com

#################################### Distributed tracing ############
# Opentracing is deprecated use opentelemetry instead
[tracing.jaeger]
# jaeger destination (ex localhost:6831)
address =
Expand Down Expand Up @@ -1318,11 +1317,11 @@ full_reindex_interval = 5m
index_update_interval = 10s


# Move an app plugin referenced by its id (including all its pages) to a specific navigation section
# Move an app plugin referenced by its id (including all its pages) to a specific navigation section
# Dependencies: needs the `topnav` feature to be enabled
# Format: <Plugin ID> = <Section ID> <Sort Weight>
# Format: <Plugin ID> = <Section ID> <Sort Weight>
[navigation.app_sections]

# Move a specific app plugin page (referenced by its `path` field) to a specific navigation section
# Format: <Page URL> = <Section ID> <Sort Weight>
# Move a specific app plugin page (referenced by its `path` field) to a specific navigation section
# Format: <Page URL> = <Section ID> <Sort Weight>
[navigation.app_standalone_pages]
8 changes: 4 additions & 4 deletions examples/hotrod/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
This is a demo application that consists of several microservices and illustrates
the use of the OpenTelemetry API & SDK. It can be run standalone, but requires Jaeger backend
to view the traces. A tutorial / walkthrough is available:
* as a blog post [Take OpenTracing for a HotROD ride][hotrod-tutorial],
* as a blog post [Take Jaeger for a HotROD ride][hotrod-tutorial],
* as a video [OpenShift Commons Briefing: Distributed Tracing with Jaeger & Prometheus on Kubernetes][hotrod-openshift].

As of Jaeger v1.42.0 this application was upgraded to use the OpenTelemetry SDK for traces.
Expand Down Expand Up @@ -87,9 +87,6 @@ The app exposes metrics in either Go's `expvar` format (by default) or in Promet
* `expvar`: `curl http://127.0.0.1:8083/debug/vars`
* Prometheus: `curl http://127.0.0.1:8083/metrics`

[hotrod-tutorial]: https://medium.com/@YuriShkuro/take-opentracing-for-a-hotrod-ride-f6e3141f7941
[hotrod-openshift]: https://blog.openshift.com/openshift-commons-briefing-82-distributed-tracing-with-jaeger-prometheus-on-kubernetes/

## Linking to traces

The HotROD UI can generate links to the Jaeger UI to find traces corresponding
Expand All @@ -100,3 +97,6 @@ it can be customized via `-j <address>` flag passed to HotROD, e.g.
```
go run ./examples/hotrod/main.go all -j http://jaeger-ui:16686
```

[hotrod-tutorial]: https://medium.com/jaegertracing/take-jaeger-for-a-hotrod-ride-233cf43e46c2
[hotrod-openshift]: https://blog.openshift.com/openshift-commons-briefing-82-distributed-tracing-with-jaeger-prometheus-on-kubernetes/