AVIS DE FIN DE VIE
À partir d'avril 2022, nous ne prenons pas en charge la fonctionnalité C SDK. Pour plus de détails, consultez notre publication sur le forum d'assistance.
Afin de monitorer n'importe quelle application sous Linux utilisant un langage pouvant importer une bibliothèque C, vous devez :
- Créez une configuration en utilisant
newrelic_new_app_config()
, connectez-vous au daemon en utilisantnewrelic_init()
et connectez votre application en utilisantnewrelic_create_app()
. Pour plus d'informations, consultez les procédures d'installation du C SDK. - Instrumenter manuellement les transactions à l’aide du C SDK, comme décrit dans ce document.
New Relic définit un Web ou une transaction non Web comme une unité de travail logique dans une application logicielle. Après avoir instrumenté manuellement les transactions dans votre code source en ajoutant des fonctions New Relic, vous pouvez afficher les données sur la pageTransactions dans New Relic. Vous pouvez également instrumenté des segments d’une transaction et des erreurs.
instrumenter une transaction
Pour instrumenter une transaction afin de pouvoir la monitorer, encapsulez les fonctions New Relic qui démarrent et arrêtent instrumentation autour de la transaction. La fonction que vous utilisez dépend de si vous souhaitez instrumenter une transaction Web ou non Web.
Dans l'exemple suivant, l'application est créée après un appel à newrelic_create_app()
. Pour plus d'informations, consultez les procédures d'installation du C SDK ainsi que la documentation du C SDK libnewrelic.h
sur GitHub.
Ajoutez le code suivant immédiatement before à la transaction que vous souhaitez monitorer, en fournissant le paramètre requis.
Pour les transactions Web :
// Example code: newrelic_txn_t *txn; /* ... */ txn = newrelic_start_web_transaction(app, "NAME_YOUR_TRANSACTION");
Pour les transactions hors Web :
// Example code: newrelic_txn_t *txn; /* ... */ txn = newrelic_start_non_web_transaction(app, "NAME_YOUR_TRANSACTION");
Ajoutez
newrelic_end_transaction()
immédiatement après le Web ou la transaction non Web que vous souhaitez monitorer, en fournissant un pointeur vers la transaction,&txn
, comme paramètre.
segments d'instruments
Une fois que vous instrumentez une transaction à l’aide du C SDK, vous pouvez instrumenter des segments dans celle-ci. Grâce aux segments instrumentés, vous pouvez monitorer les fonctions et les appels individuels à l'intérieur d'une transaction.
Segments example
Vous avez une transaction associée à un processus de paiement, qui traite à la fois les informations d'expédition et les informations de carte de crédit. Vous pouvez instrumenter votre application pour diviser cette transaction en deux segments : un segment pour l'expédition et un segment pour le paiement.
Vous pouvez instrumenter des segments pour monitorer les types d'appels suivants :
- Services externes utilisant des segments externes
- Segments personnalisés pour code arbitraire
- Magasins de données utilisant des segments de datastore
- trace de requête lente (base de données SQL uniquement)
Pour plus d'informations, consultez les procédures d'installation du C SDK ainsi que la documentation du C SDK libnewrelic.h
sur GitHub.
erreurs d'instruments
Afin d'utiliser le C SDK pour monitorer les erreurs dans les transactions, vous devez instrumenter manuellement votre source de code en y ajoutant la fonction newrelic_notice_error()
.
Les erreurs de transaction et la trace d'erreur apparaissent sur la pageError analytics dans New Relic. Le C SDK signale le nombre total d'erreurs et jusqu'à 100 traces d'erreurs par minute. Vous pouvez également afficher, interroger et visualiser les erreurs de transaction en tant qu'événementAPM TransactionError
.
Conseil
Pour inclure les appels de fonction dans la trace d'erreur, utilisez l'indicateur de lien -rdynamic
de GNU pour lier vos applications lors de la compilation. L'indicateur de lien -rdynamic
vous donne une trace d'erreur plus significative.
Pour instrumenter les erreurs dans les transactions :
- Démarrer une transaction.
- Enregistrez une erreur avec
newrelic_notice_error()
, en fournissant le paramètre requis. - Terminez la transaction en fournissant le paramètre requis.
Pour plus d'informations, consultez les procédures d'installation du C SDK ainsi que la documentation du C SDK libnewrelic.h
sur GitHub.
Évitez les problèmes de regroupement métrique
Lorsqu'un compte ou application envoie de nombreuses métriques individuelles qui pourraient être mieux gérées en groupes, New Relic utilise le terme metric grouping issue ou MGI pour décrire cette situation. Si votre application envoie des quantités de données inutilement importantes à New Relic, cela réduit l'efficacité des graphiques, des tableaux et des rapports.
Les problèmes de regroupement métrique se produisent le plus souvent avec les transactions Web, en particulier si le nom est basé sur des URL. Pour éviter cette situation, consultez Problèmes de regroupement métrique.