• /
  • ログイン

C SDKでアプリケーションをインストゥルメントする

Cライブラリをインポートできる言語を使用して Linux上でアプリケーションをモニターするには、以下が必要です:

  1. newrelic_new_app_config()を使用して設定を作成し、newrelic_init()を使用してデーモンに接続し、newrelic_create_app()を使用してアプリケーションに接続します。詳細については、C SDKのインストレーション手順を参照してください。
  2. 本ドキュメントの説明通り、C SDKを使用して手動でトランザクションをインストゥルメントします。

New Relicは、ウェブまたは非ウェブトランザクションを、ソフトウェアアプリケーションの動作に対する1つの論理単位として定義します。New Relic機能を追加し、ソースコードに手動でトランザクションをインストゥルメントすると、New Relicのトランザクションページでデータを表示できます。トランザクションとエラーのセグメントのインストゥルメントも行えます。

トランザクションをインストゥルメントする

モニターできるようにトランザクションをインストゥルメントするには、トランザクションの周囲でインストゥルメンテーションを開始および停止するNew Relic機能をラップします。使用する機能は、ウェブまたは非ウェブトランザクションのいずれをインストゥルメントしたいかにより異なります。

次の例では、アプリケーションはnewrelic_create_app()を呼び出した後に作成されています。詳細については、GitHubにあるC SDKのインストレーション手順およびC SDK libnewrelic.hドキュメントを参照してください

  1. モニターしたいトランザクションの直前に次のコードを追加し、必要なパラメーターを供給します。

    ウェブトランザクションの場合:

    // Example code:
    newrelic_txn_t *txn;
    /* ... */
    txn = newrelic_start_web_transaction(app, "NAME_YOUR_TRANSACTION");

    非ウェブトランザクションの場合:

    // Example code:
    newrelic_txn_t *txn;
    /* ... */
    txn = newrelic_start_non_web_transaction(app, "NAME_YOUR_TRANSACTION");
  2. モニターしたいウェブまたは非ウェブトランザクションの直後newrelic_end_transaction()を追加し、パラメーターとしてポインタにトランザクション&txnを供給します。

セグメントをインストゥルメントする

C SDKを使用してトランザクションをインストゥルメントしたら、そこでセグメントをインストゥルメントできます。セグメントをインストゥルメントすることにより、トランザクション内の個別の機能および呼び出しをモニターできます。

セグメントの例

チェックアウトプロセスに関連するトランザクションがあり、これは、発送情報とクレジットカード情報の両方をプロセスするものです。アプリケーションをインストゥルメントし、当該トランザクションを最大2つのセグメントに分割することができます。1つのセグメントは発送、もう1つのセグメントは支払いです。

セグメントをインストゥルメントし、次のような種類の呼び出しをモニターできます:

詳細については、GitHubにあるC SDKのインストレーション手順およびC SDK libnewrelic.hドキュメントを参照してください

エラーをインストゥルメントする

トランザクションのエラーをモニターするためにC SDKを使用するには、newrelic_notice_error()機能を追加することにより、手動でソースコードをインストゥルメントする必要があります。

トランザクションのエラーおよびエラーのトレースは、New Relicのエラー解析ページに表示されます。C SDKは、エラーの総数および1分間に最大100件までのエラートレースを報告します。トランザクションのエラーは、APMTransactionErrorイベントとして表示、クエリ、可視化することもできます。

ヒント

関数の呼び出しをエラートレースに含めるには、GNUの-rdynamicリンカーフラグを使い、コンパイルする際にアプリケーションをリンクさせます-rdynamicリンカーフラグを使うと、エラートレースがより意味を持つものになります。

トランザクションのエラーをインストゥルメントするには:

  1. トランザクションを開始します
  2. newrelic_notice_error()でエラーを記録し、必要なパラメーターを供給します。
  3. トランザクションを終了し、必要なパラメーターを供給します。

詳細については、GitHubにあるC SDKのインストレーション手順およびC SDK libnewrelic.hドキュメントを参照してください

メトリクスのグループ化問題を回避する

アカウントまたはアプリケーションが、グループで管理した方がよい個別のメトリックスを送信し過ぎた場合、New Relicはメトリクスのグループ化問題またはMGIという用語でこの問題を示します。アプリケーションがNew Relicに不必要に大量なデータを送信している場合、これが原因となってチャート、表、そしてレポートの有効性が損なわれることとなります。

メトリックのグループ化問題が最も起きやすいのはWebトランザクションであり、特に当てはまるのはURLに基づく命名が行われた場合です。このような状況を回避するために、メトリクスのグループ化問題を参照してください。

その他のヘルプ

さらに支援が必要な場合は、これらのサポートと学習リソースを確認してください:

問題を作成するこのページを編集する
Copyright © 2020 New Relic Inc.