Important
A distributed tracing feature is now available. Distributed tracing improves on cross application tracing and is recommended for monitoring activity in complex distributed systems.
Cross application tracing is supported by the Python agent through built in instrumentation and through the use of APIs for custom instrumentation.
The protocol used to communicate between applications involves attaching metadata to requests and responses. The metadata is processed by each application and the resulting data is reported by the agent.
Requirements
You must have Python agent version 2.92.0.78 or higher.
Custom client (HTTP)
These APIs are used for custom HTTP communication libraries that are not instrumented as part of the built in instrumentation.
HTTP cross application tracing uses HTTP headers to transport transaction metadata across applications. To generate outbound cross application tracing headers, use the generate_request_headers
API on the ExternalTrace
class. To process inbound cross application tracing headers, use the process_response_headers
API on the ExternalTrace
class.
Custom client (non-HTTP)
These APIs are used to instrument libraries that do not use the HTTP transport (and therefore may not be able to use headers as a metadata transport) and are not instrumented as part of the built in instrumentation.
Example Instrumentation
WSGI server
Tip
The agent will automatically handle processing and sending responses to cross application trace metadata for all WSGI servers.
For information on instrumenting WSGI servers, see the wsgi_application API documentation for details.
Custom non-HTTP server
Custom servers that are not WSGI based or do not use HTTP as a transport will have to process incoming cross application tracing metadata and generate cross application trace responses.
The following APIs allow processing of cross application tracing metadata sent on non-HTTP requests and generating response metadata to send back to the caller.
For more help
If you need more help, check out these support and learning resources:
- Browse the Explorers Hub to get help from the community and join in discussions.
- Find answers on our sites and learn how to use our support portal.
- Run New Relic Diagnostics, our troubleshooting tool for Linux, Windows, and macOS.
- Review New Relic's data security and licenses documentation.