• ログイン無料アカウント

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

Cアプリケーションの分散型トレースを実現

EOL通知

2022年4月をもって、CSDKを含むいくつかの機能のサポートを終了します。この移行に簡単に備える方法など、詳細については、 ExplorersHubの投稿をご覧ください。

New Relic の C SDK で 分散型トレーシング を有効にして計測する方法についてはこちらをご覧ください。

ディストリビューティッド(分散)トレーシングの有効化

New Relic が監視している C アプリケーションの分散トレースを有効にするには、以下の手順に従います。

  1. デフォルトのnewrelic_app_config_tを作成し、 distributed_tracing.enabledフィールドをtrueに設定します。

    newrelic_app_config_t* config
    = newrelic_create_app_config(app_name, license_key);
    config->distributed_tracing.enabled = true;
  2. 続けて、 楽器のトランザクションとHTTPリクエスト の手順を行います。

重要

スパンイベント は、分散型トレースとは別に有効化/無効化することができます。

トランザクションとHTTPリクエストの計測

複数のサービスで発生したトランザクションについては、分散型トレースのペイロードには、New Relic がそれらをつなぎ合わせて完全なトランザクションのトレースにするための情報が含まれています。ただし、New Relic が監視しているサービスが互いにトレースコンテキストを送信していない場合は、トレースの詳細が不完全になってしまいます。詳細については、 distributed tracing API ヘッダーの渡し方についてのドキュメント と、GitHub の C SDK の distributed tracing ドキュメント を参照してください。

あなたがしたい場合は...

これを使用

呼び出されたサービスに送信されるペイロードの作成と返却

newrelic_create_distributed_trace_payload()

最初のサービスから送信されたペイロードを受け入れる

これにより、これらのサービスがトレースで結ばれます。

ペイロードのBase64エンコードされたJSON文字列表現を返す

これは、 newrelic_create_distributed_trace_payload()と同じ動作を提供します。

ペイロードにBase64エンコードされた文字列を受け入れる

これは、 newrelic_accept_distributed_trace_payload()と同じ動作を提供します。

トレースの詳細についてログを調べる

ログとアプリケーションのデータを統合して、トラブルシューティングをより簡単かつ迅速に行うことができます。コンテキストのログでは、エラーとトレースに関連するログメッセージをアプリケーションのUIで直接表示できます。

  1. Transactionsページでトレースをクリックして、Trace detailsページに移動します。
  2. トレースの詳細ページで、See logsをクリックします。
  3. 各ログメッセージに関連する詳細を表示するには、メッセージを直接クリックしてください。

また、Kubernetesクラスターなどのインフラストラクチャデータのコンテキストでログを表示することもできます。別のUIページに切り替える必要はありません。

Copyright © 2022 New Relic株式会社。