Sintaxis
newrelic.agent.insert_distributed_trace_headers(list_of_headers)
Este método se utiliza para insertar encabezados utilizados para conectar transacciones dentro de un rastreo distribuido.
Requisitos
Agente Python versión 5.6.0.135 o superior.
rastreo distribuido debe estar habilitado.
Descripción
Esta API requiere que rastreo distribuido esté habilitado.
Para obtener instrucciones sobre cómo utilizar esta llamada, junto con su llamada de socio accept_distributed_trace_headers
, consulte Habilitar rastreo distribuido con API de agente.
Esta convocatoria se utiliza para implementar rastreo distribuido. Inserta encabezados en una lista que la aplicación receptora puede leer con el método accept_distributed_trace_headers
.
Parámetros
Parámetro | Descripción |
---|---|
lista | Requerido. Una lista de encabezados. Esta lista será mutada por la llamada (los encabezados se insertarán en la lista en forma de |
Valores de retorno
Devuelve None
. La lista de entrada se actualizará mediante una llamada a esta función.
Ejemplos
Importante
Para mantener el orden correcto de los tramos en una traza, se debe generar la carga útil en el contexto del tramo que la envía.
Crear una carga útil rastreo distribuida dentro de una tarea en segundo plano
Un ejemplo del uso de insert_distributed_trace_headers
para crear una traza externa desde una única tarea en segundo plano:
@newrelic.agent.background_task()def main(url): with newrelic.agent.ExternalTrace('my_external_library', url, method='GET'): # Generate the payload in the context of the ExternalTrace # span that sends it headers = [] newrelic.agent.insert_distributed_trace_headers(headers) response = my_external_library._get(url, headers=headers)
data = _process_response(response)
Crear una carga útil rastreo distribuida dentro de una traza externa
Un ejemplo del uso insert_distributed_trace_headers
para crear una traza externa:
def _bind_url(url, *args, **kwargs): # _bind_url is called with the args and kwargs sent to the `get` # method below return url
@newrelic.agent.external_trace('my_external_library', _bind_url, method='GET')def get(url): headers = [] newrelic.agent.insert_distributed_trace_headers(headers) return my_external_library._get(url, headers=headers)