tim winter

05/23/2023, 8:20 PM
I managed to get the node-app example working with signoz, but for some reason instrumenting my django app is beyond my ability

Vishal Sharma

05/24/2023, 9:13 AM
Did you follow the Django instrumentation tutorial? Let us know if you face any problems

tim winter

05/24/2023, 1:40 PM
I've been following the django opentelemetry example instructions- these are also very helpful
Currently, it looks like my issue is that when I set up telemetry, I somehow default to the proxy tracer, which has a real_tracer as None and only contains the noop tracer
The entirety of my setup is stuffed into the file, rather than handling env vars in another layer, so it should be easy to debug:
I successfully trigger traces on requests to django, however the code in opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__::OTLPSpanExporter.export looks like it is never called. This is consistent with what I see in Signoz- nada
Tried replacing the ProxyTraceProvider with the TraceProvider, which got me a real trace provider! Now I am looking at an empty list of span processors
Is there a bunch of magic that was supposed to happen by the opentelemetry bootstrap process that just failed to occur in my project? It's a django project but it has plenty of frontend code, I could see an automatic system getting confused and assuming this is a node project
The instructions I've been following are here, which explains a lot: It looks like this is an example of setting up django for a proxy trace setup, which means to exporters and the proxy tracer, and without a client to do the forwarding nothing happens
So if I want to use the django instrumentor, I need to have my own client to forward content to signoz
Classic mistake of drifting away from signoz documentation (as the tutorial you posted has key issues for my use case) into the tutorials of a dependency library, which is agnostic to the endpoint being used.
It lives!