C SDKの導入

C SDKは、しばしば複雑で複数スレッドに基づくC/C++ アプリケーションに対応するよう設計されています。これまでになく高いレベルの可視性が得られるので、パフォーマンス上の問題を特定し解決しやすくなります。さらにデータを収集して分析し、顧客体験の向上およびビジネスにおけるデータ主導型の意思決定を支援することもできます。

C SDKは、CやC++よりも広範なアプリケーションをインストゥルメントするために使用できます。アプリケーションが他のNew Relic APMエージェント言語を使用しない場合でもCライブラリをインポートできれば、New RelicのC SDKを使用してNew Relicのモニタリング機能と特性を活用できます。

New Relicは、Apache 2.0 licenseの下でC SDKをオープンソースコミュニティに提供しています。

アプリケーションパフォーマンスの監視

C SDK:APM概要
rpm.newrelic.com > (アプリケーションを選択) > Monitoring > Overview: 以下は、C SDKをアプリケーションにデプロイした後にNew Relic APMで表示できるデータの例をいくつか示したものです。たとえば、トランザクション、トランザクショントレース、エラーなど様々なデータがあるダッシュボードへのリンクを使用し、ウェブの外部セグメントにおけるパフォーマンスの急上昇をトラブルシューティングできます。

使用アプリケーションがLinux環境でC SDKの互換性と要件を満たす場合は、ジェネリックライブラリをNew Relicと通信できるようにカスタマイズしてから、New Relic APMを使用してアプリケーションのパフォーマンスのモニターを開始できます。

New Relicでできること 設定方法
全体像の把握
  • アプリケーションとサービスのスループット、レスポンスタイム、エラー、メモリ、CPU使用トランザクションのモニターをするには、まずAPM概要ページから始め、その後に追加APMダッシュボードで他のアプリケーションの詳細を調べるようにします。
  • デプロイメントマーカーを使い、コードの変更がアプリケーションのパフォーマンスとヘルスにどう影響するかを確認します。
  • New Relic Infrastructureを使い、ホストとサーバーの詳しいデータを見る。InfrastructureとAPMを同じホストにインストールすると、それぞれが自動的にお互いを検出します。その後APM UIでホストのリストを見て、Infrastructure UIでAPMアプリケーションによりInfrastructureホストをフィルタリングできます。
エラーを特定し修正する
  • エラー分析ツールを使用して、データベースの呼び出し、外部システムの呼び出し、重要なコード部分に費やされた時間を見てボトルネックを突き止めます。
  • ユーザーに影響が及ぶ前に、問題やエラーについてアラート通知を受信します。
  • 重要なメトリックスに対してカスタムダッシュボードを作成します。
ビジネスデータを分析する
これ以外にも!
  • New Relic Browserを使用して、ページロードタイミングの問題、JavaScriptのエラー、セッショントレースのタイムラインなど、自分のアプリケーションを使っているユーザーがデスクトップで体験していることをモニターしトラブルシューティングします。
  • New Relic Syntheticsを使用してウェブサイト、重要なビジネストランザクション、およびAPIエンドポイントをモニターするために、自動化されたスクリプト可能なツールを使用します。
  • New Relic Mobileを使用して、AndroidおよびiOSアプリケーションのパフォーマンスの分析および微調整、クラッシュのトラブルシューティング、複数バージョンの比較、HTTPその他のネットワークコンポーネントにおけるパフォーマンスの調査を行います。

アーキテクチャ:Cライブラリおよびデーモン

C SDKは、以下の2つのコンポーネントに依拠して、使用アプリケーションからNew Relicへデータを送信します:

  • New Relic C SDKのライブラリ呼び出し:このライブラリをダウンロードしてから、アプリケーションのコードに呼び出しとインストゥルメンテーションを追加します。これにより、自分にとって最も重要な種類のデータを特定しカスタマイズできるようになります。
  • C SDKデーモン:これは別のファイルで、使用アプリケーションのコードからの呼び出しで特定されたデータを蓄積し、New Relicに送信するものです。
C SDKアーキテクチャ
C SDKアーキテクチャ: 使用アプリケーションからNew Relicへデータを送信するには、アプリケーションのC SDKインストゥルメンテーションライブラリへの呼び出しを行うに、デーモンを呼び出す必要があります。

C SDKインストゥルメンテーションとデーモンが同時に稼働することにより、ライブラリの呼び出しを使用したトランザクションに関するデータの表示とクエリが可能になります。使用アプリケーションとNew Relicの間のワークフローは、以下の順番で起こる必要があります:

  1. デーモンとNew Relicの間で、HTTPSリンクが確立されます。デーモンはインストゥルメントされたアプリケーションを呼び出す前に、最初に呼び出す必要があります。
  2. 次に、インストゥルメントされたアプリケーションとデーモンの間で、ソケットコミュニケーションが確立されます。これは、newrelic_new_app_config()およびnewrelic_create_app()への呼び出しが首尾よく行われた後に起こります。

newrelic_create_app()への呼び出しはノンブロッキングです。2つ目のパラメーターにより、ソケットコミュニケーションが適切に確立されるよう、使用しているインストゥルメントされたアプリケーションが待つ時間を指定できます。例えば:

newrelic_app_t* app = newrelic_create_app(config, 10000);

デーモンの接続とアプリケーションのソケットコミュニケーションの両方が確立される前に、インストゥルメントされたアプリケーションがトランザクションを送信した場合、アプリケーションから報告されたデータは失われます。

C SDKを使って作業を始める

使用アプリケーションがC SDKに関する互換性と要件を満たすことを確認し、まだアカウントがない場合は、無料のNew Relicアカウントにサインアップしてください。その後、インストレーションとインストゥルメンテーションの手順に従います。数分以内に、使用アプリケーションから、New RelicアカウントのUIでデータを表示できるようになります。

その他のヘルプ

推奨する詳細情報:

  • C SDKに関するドキュメントについては、Docsサイトのランディングページを参照してください。
  • GitHubにあるNew RelicのC SDKドキュメントを参照してください。
  • C SDKエージェントに関するコミュニティ内の議論については、New RelicのExplorers Hubを参照してください。
  • お好みの検索エンジンを使用して、New Relicのその他のリソースを検索してください。