mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2025-03-05 15:05:51 +02:00
Create README.md for the ot bridge (#2896)
* Create README.md Some very bare-bones introductory documentation on how to use the ot bridge * Update README.md linting * Update README.md more linting * Update bridge/opentracing/README.md Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> * Update bridge/opentracing/README.md Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> * Update bridge/opentracing/README.md Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> * Update bridge/opentracing/README.md Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> * Update bridge/opentracing/README.md Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> * Update bridge/opentracing/README.md Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
This commit is contained in:
parent
2a02a55c37
commit
4475aaa8f8
40
bridge/opentracing/README.md
Normal file
40
bridge/opentracing/README.md
Normal file
@ -0,0 +1,40 @@
|
||||
# OpenTelemetry/OpenTracing Bridge
|
||||
|
||||
## Getting started
|
||||
|
||||
`go get go.opentelemetry.io/otel/bridge/opentracing`
|
||||
|
||||
Assuming you have configured an OpenTelemetry `TracerProvider`, these will be the steps to follow to wire up the bridge:
|
||||
|
||||
```go
|
||||
import (
|
||||
"go.opentelemetry.io/otel"
|
||||
otelBridge "go.opentelemetry.io/otel/bridge/opentracing"
|
||||
)
|
||||
|
||||
func main() {
|
||||
/* Create tracerProvider and configure OpenTelemetry ... */
|
||||
|
||||
otelTracer := tracerProvider.Tracer("tracer_name")
|
||||
// Use the bridgeTracer as your OpenTracing tracer.
|
||||
bridgeTracer, wrapperTracerProvider := otelBridge.NewTracerPair(otelTracer)
|
||||
// Set the wrapperTracerProvider as the global OpenTelemetry
|
||||
// TracerProvider so instrumentation will use it by default.
|
||||
otel.SetTracerProvider(wrapperTracerProvider)
|
||||
|
||||
/* ... */
|
||||
}
|
||||
```
|
||||
|
||||
## Interop from trace context from OpenTracing to OpenTelemetry
|
||||
|
||||
In order to get OpenTracing spans properly into the OpenTelemetry context, so they can be propagated (both internally, and externally), you will need to explicitly use the `BridgeTracer` for creating your OpenTracing spans, rather than a bare OpenTracing `Tracer` instance.
|
||||
|
||||
When you have started an OpenTracing Span, make sure the OpenTelemetry knows about it like this:
|
||||
|
||||
```go
|
||||
ctxWithOTSpan := opentracing.ContextWithSpan(ctx, otSpan)
|
||||
ctxWithOTAndOTelSpan := bridgeTracer.ContextWithSpanHook(ctxWithOTSpan, otSpan)
|
||||
// Propagate the otSpan to both OpenTracing and OpenTelemetry
|
||||
// instrumentation by using the ctxWithOTAndOTelSpan context.
|
||||
```
|
Loading…
x
Reference in New Issue
Block a user