有効期限(EOL)の通知
2022年4月以降、C SDK機能はサポートしていません。詳細については、サポートフォーラムの投稿をご覧ください。
当社のC SDKでは、コードの自動インストゥルメンテーションが行われるので、アプリケーションのモニタリングを開始できます。当社のランチャーを使用するか、本ドキュメントの説明に従って、基本的なC SDKインストレーションを実行できます。
New Relicアカウントをまだお持ちでない場合は、New Relicアカウントを新たに作成します。永久無料です。
C SDKをコードに追加する
New Relicの C SDKでアプリケーションをモニターするには、使用する機能をインストゥルメントします。
- ウェブトランザクション、トランザクションイベント、非ウェブトランザクション
- セグメント(より詳細なレベルのタイミング)
- 属性
- エラー
次に、アプリケーションをC SDK静的ライブラリに対しコンパイルしリンクします。
C SDKをアプリケーションのコードライブラリにインストールするには、この手順に従います。
手順に従い、C SDKとデーモン双方のロギングを設定します。例:
if (!newrelic_configure_log("./c_sdk.log", NEWRELIC_LOG_INFO)) {
printf("Error configuring logging.\n");
最初のアプリケーション設定で、意味のあるアプリケーション名を設定できるよう用意しておきます。例:
newrelic_app_config_t* config;
config = newrelic_create_app_config("Your Application Name", "LICENSE_KEY_HERE");
アプリケーションに対し;
で分離した、最大3つまでの異なる名前を付けることができます。アプリケーションに複数の名前を付けることにより、アプリケーション全体またはサービス全体で複数のエージェントのメトリクスを集計できます。例:
config = newrelic_create_app_config("YOUR_APP_NAME;APP_GROUP_1;ALL_APPS", "LICENSE_KEY_HERE");
アプリケーションの設定が済んだら、新しいアプリケーションを作成してそのデーモンに接続できます。
if (!newrelic_init(NULL, 0)) {
printf("Error connecting to daemon.\n");
app = newrelic_create_app(config, 10000);
newrelic_destroy_app_config(&config);
C SDKのlibnewrelic.a
は静的ライブラリで、すでにlibpcre
とlibpthread
のライブラリとリンクされています。このリンクのステップでシンボルコリジョンを回避するため、必ずこれらのライブラリの各々に対してリンクするようにします。
さらに、APMのError analyticsページにあるエラートレースをフルに活用するため、GNUの-rdynamic
リンカーフラグを使ってアプリケーションをリンクします。これにより、C SDKのnewrelic_notice_error
API呼び出しを使用して記録されるトランザクションのエラーに関し、スタックトレースでより意味のある情報を表示できるようになります。
たとえば、
$gcc -o test_app test_app.c -L. -lnewrelic -lpcre -lm -pthread -rdynamic
C SDKのデーモンを開始します。例:
$./newrelic-daemon -f -logfile newrelic-daemon.log -loglevel debug
c_sdk.log
およびnewrelic-daemon.log
ファイルの出力を確認します。
C SDKのアーキテクチャでは、デーモンはインストゥルメントされるアプリケーションを呼び出す前beforeに、最初に呼び出す必要があります。
ヒント
Cデーモンで利用可能なすべてのオプションを参照するには、コマンドラインに、以下をタイプします:
$./newrelic-daemon --help
詳細については、C SDK GUIDE.mdを参照してください。
New Relicでアプリケーションのパフォーマンスを表示する
APMでアプリケーションのパフォーマンスを表示するには:
- アプリケーションのトラフィックを生成し、アプリケーションがNew Relicにデータを送信するまで数分間待ちます。
- APM UIでアプリケーションのデータを調査します。
数分以内にデータが表示されない場合は、c_sdk.log
とnewrelic-daemon.log
ファイルにエラーがないか確認します。それでも問題が解決されない場合は、トラブルシューティングのヒントに従います。