• EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

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.

問題を作成する

CSDKAPIの使用ガイド

NewRelicのCSDKは、アプリケーションとマイクロサービスを監視して、パフォーマンスの問題を特定して解決するのに役立ちます。 Cアプリケーションは、コンパイルされたネイティブバイナリファイルから実行されます。トランザクションを監視するには、NewRelicメソッドを追加してコードを手動でインストルメント化する必要があります。

このガイドは、使用する方法を決定するのに役立ちます。メソッドのコード、必要なパラメーター、および例は、 GitHubにあるNewRelicのCSDKドキュメントにあります。

カスタマイズがスレッドセーフであることを確認してください

C SDKはマルチスレッドアプリケーションのインストルメンテーションをサポートしていますが、複数のスレッドをインストルメントする前に初期化する必要があります。次の関数のいずれかを呼び出すときは、他のC SDK関数が呼び出される前に、それらがメインスレッドで呼び出されていることを確認してください。

トランザクションの監視

トランザクションを監視するためにコードを手動でインストルメントする前に:

  1. アプリのCSDKの互換性と要件を確認してください。
  2. 最新バージョンのCSDKライブラリを使用していることを確認し、必要に応じて更新します。

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

この方法を使用してください...

Webトランザクションのタイミングを開始します

newrelic_start_web_transaction()

Web以外のトランザクションのタイミングを開始します

newrelic_start_non_web_transaction()

トランザクションのタイミングを停止します

newrelic_end_transaction()

トランザクションがNewRelicに報告されないようにする

newrelic_ignore_transaction()

セグメントを使用した時間固有の方法

トランザクションがNewRelicにすでに表示されているが、そのトランザクション中に呼び出された特定のメソッドに関する十分なデータがない場合は、セグメントをインストルメント化できます。たとえば、複雑なロジックを持つメソッドの時間を計測する場合は、トランザクション内のメソッドごとにセグメントを作成できます。

既存のトランザクション内でメソッドをインストルメント化するには、次のいずれかのセグメントを作成します。

  • 外部サービス
  • 関数またはその他の任意のコードブロック(カスタムセグメントを使用)
  • データストア
  • 遅いクエリトレース(SQLデータストアのみ)

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

この方法を使用してください...

セグメントのタイミングを開始します

newrelic_start_datastore_segment()
newrelic_start_external_segment()
newrelic_start_segment()

セグメントのタイミングを停止します

newrelic_end_segment()

手動で親セグメント

newrelic_set_segment_parent() および newrelic_set_segment_parent_root()

これは、たとえば、トランザクションの最上位呼び出しの子としてセグメントを視覚化する場合の非同期プロセスで役立ちます。詳細については、 GitHubの手動セグメントペアレント化ドキュメントを参照してください。

セグメントはアクティブなトランザクションに記録されます。アクティブなトランザクションにセグメントを追加するときは、 newrelic_start_web_transaction()またはnewrelic_start_non_web_transaction()によって返されるnewrelic_txn_t*またはトランザクションポインタにアクセスする必要があります。

トランザクションのメタデータを強化する

NewRelicがトランザクションについて報告するメタデータを管理できます。これは、トランザクションに異なるレベルの詳細が必要な場合に役立ちます。例えば:

  • メトリックのグループ化の問題が発生している場合は、トランザクションのデフォルト名を変更して、トランザクションをより識別しやすくすることができます。

  • 作成したい場合

    トランザクションには、カスタム属性を追加できます。

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

この方法を使用してください...

メタデータ(顧客のアカウント名やサブスクリプションレベルなど)をトランザクションに追加します

タイプに基づいてトランザクションにカスタム属性を追加します。

外部サービスへの機器呼び出し

次の方法を使用して、アプリと他のアプリまたはデータベースとの接続に関するデータを収集します。

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

この方法を使用してください...

リクエストが分散システムを通過するときにたどるパスを確認する

手順に従って、分散トレースを有効にして計測します。

外部リソース(外部サービス、データベースサーバー、メッセージキューなど)への呼び出しの時間を計測します

外部セグメントへのインストルメントコールの手順に従います。

エラーを収集またはログに記録する

CSDKはエラーを自動的に検出します。 New Relicにエラーを報告する方法を変更する場合は、エラーコレクターの構成を変更してください。

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

この方法を使用してください...

アプリのログレベルを設定する

newrelic_configure_log()を使用してCSDKログを構成し、コマンドラインフラグを使用してCデーモンログを構成します。詳細については、 CSDKロギングのドキュメントを参照してください。

エラーを報告する

newrelic_notice_error()

アプリからカスタムデータを送信する

C SDKを使用してカスタムデータを記録するには、次のいずれかの方法を使用できます。

  • カスタムイベント: New Relicでは、イベントデータは基本的なデータ型です。イベントデータは、特定の時点での単一のイベントの記録を表します。これは、特定の詳細を表示または照会するのに役立ちます。
  • カスタムイベント属性:イベントに関する追加のメタデータを含めるために、キーと値のペア(カスタム属性)をカスタムイベントに追加できます。
  • カスタムメトリクス:メトリクスタイムスライスデータは、New Relicが集計するデータの統計的尺度であり、UIで表示してグラフ化できます。通常、メトリックデータの保存期間はイベントデータよりも長くなります。

カスタムデータを使用するいくつかの方法があります。これらのオプションのコードの詳細と例については、GitHubのNewRelicグローバルドキュメントを参照してください。

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

この方法を使用してください...

カスタムイベントを作成して、タイムスタンプと属性を入力します。

newrelic_create_custom_event()

タイムスタンプを付けてカスタムイベントを現在のトランザクションに追加し、クエリまたは視覚化できるようにします。

newrelic_record_custom_event()

追加のメタデータを使用してカスタムイベントを強化します。

タイプに基づいて、カスタムイベント属性をカスタムイベントに追加します。

カスタムイベントが作成された後、トランザクションが終了する前に破棄して、NewRelicに報告されないようにします。

newrelic_discard_custom_event

これは、プログラムのリークを回避するために、不要なカスタムイベント用に割り当てられたメモリを解放するために必要です。

検索またはグラフ化できるカスタムパフォーマンス期間を報告します。

newrelic_record_custom_metric()

デスクトップブラウザのパフォーマンスを監視する

アプリケーションのデスクトップブラウザのパフォーマンスを監視するには、 コピー/貼り付け方法を使用してブラウザエージェントをインストールします。

構成設定の変更

通常、アプリケーションの構成のデフォルト設定を変更する必要はありません。ただし、必要に応じて、一部の設定を調整できます。詳細については、 CSDK構成のドキュメントを参照してください。

Copyright © 2024 New Relic株式会社。

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