Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Leandro Moreira
Are any tip/recommendation for such use case?
Yuri Shkuro
Nothing wrong with that. Whatever makes sense for you as a business transaction, you can model it as a single trace.
Leandro Moreira
thanks @yurishkuro
Anthony De Rosa
hi folks, is there a repository for anonymized tracing data? or even data that would give a sense of how extensive tracing efforts are by location?
Nicholas Volker Moorcroft

Hey there! I'm currently looking at the NGINX-opentracing documentation and have some questions about NGINX span inheritence.


My current issue is that NGINX keeps making new spans every time a request passes through, so my spans aren't chaining together into a single trace when I use an NGINX proxy for my second app.

I currently have;

trace_1: app_1_span,
trace_2: nginx_span,
trace_3: app_2_span

Where I'd like to have;

trace_1: app_1_span -> nginx_child_span -> app_2_span


If I want to propagate an active span from my app 1 calling app 2 (through an nginx proxy) would I just need to attach the HTTP_UBER_TRACE_ID header to the request made by app 1? Will the jaegertracing_plugin use this header to create a child span of the span created in app 1 when creating the NGINX span? (Apologies if that's a bit confusing) Does this sound a bit off, if so do are there any suggestions?

Side note; congratulations on making beta with! Really excited about all of that.
1 reply
Jim Myers
Hi all. I've been trying to set up OpenTracing for a python service. I've noticed that a good number of the libraries in appear to be no longer under actively developed or even abandoned. Is this expected? Are there any good solutions besides waiting for OpenTelemetry to be ready for the prime time.
1 reply
Thiago Cândido
Hey. I would like to know if in a situation where a server is receiving multiple concurrent requests (Django Rest Framework) the scope manager can handle multiple active spans automatically. In one of my endpoints, I have a span that is initialized in the middleware and a call is made to an external service (the request is traced with the initial span). I'm wondering if during the time that the request is waiting for the response, if a new request is received, the spans will not be mixed up.
1 reply
Boris Stoyanov
Hey guys, anyone online?
Hi Everyone , I am new to Opentracing I need to implement Logging in my Helidon Microservice application so I am replacing all System.out.println with Jaeger and Opentracing for that I am looking for a help to achieve this objective please share some demo app with which I can proceed
1 reply
Tausif Mohammad
Does OpenTracing support writing to multiple backends like OpenCensus does? Also does OpenTracing provide automatic context propagation like OpenCensus ?
1 reply
Divyansh Tripathi
Hey guys, I'm trying to write tests for my opentracing instrumentation code in golang , I have used the Opentracing-go package. Can anyone help me with how can I test if the spans are injected correctly in headers and if the spans made are really finishing properly.
1 reply
I create a job, enqueue it, then execute it 0-30 minutes later (or in some cases never). What is the best way to get end to end visibility into the job? Given the time involved, and the fact that job might not execute, it doesn't seem like I can capture the whole thing in one span.
Gregor Zeitlinger
@zeitlinger seems to be an orphaned project -> I'm offering to take it over
alternatively, I would like to contribute PRs, based on my fork:
Yuri Shkuro
Have you tried putting PRs to that project? It's not clear to me that it's abandoned - there are no open issues and two open PRs had some discussions.
Gilles Robert
I’m looking for people to take over Please reach out if interested.
This message was deleted
how come Tracers inject/extract SpanContextsand not Spans?

given a SpanContext is there a way to remove all items in the baggage?

My motivation is to minimize baggage items carried along each call since the child inherits all baggage items from its parent

cc @yurishkuro
For anyone that's wondering, this shouldn't be a problem due to Jaeger's copy-on-write, though I'm trying to find documentation on this
Yuri Shkuro

If you have a need to remove items from baggage, most likely you're misusing it in the first place since the whole point is to make those items transparently available an any lower level in the call graph.

But you can always set items to null/empty.

hi guys
anybody from dynatrace?
I'm going to add some tracing into some of our apps. Currently I'm using micrometer to prometheus for metrics but we are already using Dynatrace
Ideally I would like to use open telemetry api and dynatrace to pick it up, should I code some backend myself with sdk or there's already something out there?
Yuri Shkuro
if you're interested in using OpenTelemetry, better to ask this question in
Ah ok thanks Yuri
So I read that OpenTracing+OpenCensus =OpenTelemetry
which API should I go for, strategically?
Yuri Shkuro
Alexander Tumin
documentation is not very clear on this: how long span is expected to last? Is there any inherit limitations on span lifetime?
to clarify: I have long lasting connections, spanning over days, with many events sent both ways, each possibly starting own context of work. Logically, whole connection seems like a root span, with a number of child spans. But I'm not sure if spec takes this into account. At least with jaeger go client it seems to be limited to reporting only finished root spans.
Alexander Tumin
i wonder if it was designed to accommodate only request-response communication pattern, with short lifetime of individual request.
Juraci Paixão Kröhling
there's no limit -- it can also be used to represent a batch process, where steps are executed apart from each other and taking quite a long time to execute
Hi, I'm new to opentracing, and I'm trying to incorporate it into a django project. I am instantiating a global tracer (one per process). When a request comes in, the thread generates a 'master_span', and makes it available in the thread's local storage. Later in the code, I do with master_span.tracer.start_span("foo"). This results in the spans appearing to be unrelated... I'm clearly missing something, but I'm not sure what it is. Could somebody point me in the right direction?
Is there an easy way to check the size of headers/metadata the client is sending out?
1 reply
Asking because I'm hitting the default header limit of 8Kb but it's not obvious to me how this is possible, when the baggage total bytes is around 5Kb
Marimuthu Ponnambalam
I have a need to reference Retry of span, while visualizing as graph to differentiate previous and retry paths, very common in batch workflow scenarios. By adding parentId=<Failed Span Id >and refType="RetryOf" as new reference, I shall achieve this. Does specification allow such extension of causal/non-causal relationship other than "ChildOf" and "FollowsFrom" and would this break OpenTracing API implementation in any way?
η (eta)
hi, if I wanted to split a span across a network boundary, is that something OpenTracing would support? basically, incoming requests get pushed onto a message queue and then picked up by a worker on the other end of a queue -- so can I start a span at one end of the queue, serialize it in some way, and then continue that span on the other side?
Nick Caballero
@eeeeeta i think you just need to include the b3 headers in the message when sending and then resume on your consumer - most message queues support headers as part of the message
Federico Bevione
Hi there, this is my first time here!
I'm wondering if there's way to trace a request flow like this: grpc-client -> grpc-server -> google pub/sub (or rabbitmq) -> golang-client
First of all: is it right to think of tracing a message through a queuing mechanism?
Right now I can successfully trace from the grpc-client to the publish request to google pub-sub but i don't know how to "restore" the trace after the message goes through the pub/sub topic and subscription
All the stack is written with golang
Murtaza Icecreamwala
Hey Anyone could direct how could apply to trace all java methods called in an existing project without editing any source code.
Yuri Shkuro
I am not aware of any auto-instrumentation that would do that. Distributed tracing is not particularly well suited for tracing individual function calls.
Hi, anybody here using Swagger annotated REST APIs with opentracing? Spring integration, which Swagger is based on, merely logs in request, but I wonder if that's possible to log also parameters .. without writing from scratch by hand.. ?
Anthony Voutas
@Murtaza-arif if you use an autoinstrumentation framework you only need to add annotations to the methods you want to trace for example:
If you really don't want to add the annotations then I suppose you could script that too