• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Crea una propuesta

Rastreo distribuido para tus servicios C

Rastreo distribuido te permite ver el recorrido completo de tus solicitudes a lo largo de un sistema distribuido. El SDK de C admite rastreo estándar distribuido con muestreo head-based. No es compatible con la característica llamada Infinite Tracing o W3C Trace Context.

El SDK de C requiere que instrumentes manualmente tus servicios de C, a diferencia de la instrumentación automática de otros agentes de New Relic. Esto significa que necesita agregar algunas líneas a su código para usar el SDK de C y luego agregar una configuración adicional para habilitar rastreo distribuido.

A continuación le indicamos cómo empezar:

Sugerencia

Si desea obtener más información antes de comenzar, consulte estos temas:

  • Cómo funciona el muestreo de tramos explica las opciones de distribución del rastreo.

  • Impactos en APM le indica qué esperar si es un usuario actual

    pero no ha configurado rastreo distribuido.

Instrumento un programa de muestra (recomendado):

Esta es una forma rápida de ver cómo instalar el SDK de C y un servicio con rastreo estándar distribuido.

Antes de comenzar con los pasos principales:

  • Necesitará una cuenta de New Relic para configurar rastreo distribuido. Si aún no tiene una, puede crear rápidamente una cuenta gratuita. Tenga en cuenta que este enlace lo llevará a otro sitio para completar el registro, pero puede regresar aquí y seguir los pasos de configuración a continuación.
  • Asegúrate de cumplir con los requisitos.

Paso 1. Identificar servicios

Averigüe qué servicios se relacionan con su solicitud para que pueda instrumentar cada uno de ellos para enviar datos de traza a New Relic.

Paso 2. Instrumentar cada servicio con un agente de APM

Tenemos un ejemplo de cómo instalar el SDK de C y utilizar una aplicación de muestra para que comience a informar la telemetría a New Relic. Una vez que comprenda cómo funciona, podrá aplicar los principios a cada uno de los servicios C que participan en sus solicitudes. Si algunos de sus servicios utilizan otros idiomas, simplemente siga los pasos de instalación para esos idiomas.

Antes de pasar al servicio de muestra a continuación, tenga en cuenta que deberá crear un newrelic_app_config_t predeterminado, pero también deberá agregar distributed_tracing.enabled y configurarlo en true:

#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
/*
* A standalone example that demonstrates to users how to
* configure logging, configure an app, connect an app,
* start a transaction and a segment, and cleanly destroy
* everything.
*/
#include "libnewrelic.h"
int main(void) {
newrelic_app_t* app;
newrelic_txn_t* txn;
newrelic_app_config_t* config;
newrelic_segment_t* seg;
config = newrelic_create_app_config("<YOUR_APP_NAME>", "9931ae06b54780ab846c16fc602b5778ead3907f");
config->distributed_tracing.enabled = true;
...

Para probar el programa de muestra, haga clic aquí.

Paso 3. Ver traza

Después de instrumentar cada uno de sus servicios con el agente APM, genere algo de tráfico en su aplicación para que podamos capturar alguna traza. A continuación se muestran algunas formas de ver su traza en la UI:

Para obtener más ayuda para encontrar su traza en la UI:

Transacción de instrumentos y solicitudes HTTP.

Para transacciones que ocurren en múltiples servicios, la carga útil del rastreo distribuido contiene información que permite a New Relic unirlas en una traza de la transacción completa. Sin embargo, si los servicios de New Relic-monitor no se envían el contexto de traza entre sí, los detalles de la traza estarán incompletos. Para obtener más información, consulte la documentación sobre cómo pasar el encabezado de API de rastreo distribuido y la documentación de rastreo distribuido de C SDK en GitHub.

Si quieres...

Utilizar esta

Crear y devolver una carga útil para enviarla al servicio llamado

newrelic_create_distributed_trace_payload()

Aceptar una carga útil enviada desde el primer servicio.

Esto unirá estos servicios en una traza.

Devuelve una representación de cadena JSON codificada en base64 de la carga útil

Esto ofrece el mismo comportamiento que newrelic_create_distributed_trace_payload().

Acepte una cadena codificada en base64 para la carga útil

Esto ofrece el mismo comportamiento que newrelic_accept_distributed_trace_payload().

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.