transactionという単語は、ソフトウェア業界ではいくつかの異なる意味を持つことがあります。 このドキュメントでは、New Relic でこの用語がどのように使用され、トランザクションがどのように報告されるかについて説明します。
トランザクションとは何ですか?
New Relic では、 transactionはソフトウェア アプリケーション内の 1 つの論理作業単位として定義されます。 具体的には、その作業単位を構成する関数呼び出しとメソッド呼び出しを指します。 APM の場合、これは多くの場合、アプリケーションが Web 要求を受信してから応答が送信されるまでに発生するアクティビティを表すweb transactionを指します。
サポートされているシステムに APM をインストールすると、Web リクエストやその他の重要な機能やメソッドのレポートが自動的に開始されます。デフォルトの監視レベルを補うために、追加のトランザクションをレポートする カスタム インストルメンテーション を設定できます。
一部のフレームワークには、トランザクションという本来の概念がありません。言い換えれば、トランザクションとして簡単に認識または監視できる事前定義された経路は存在しません。このようなフレームワークでトランザクションを定義するには、 カスタム インストルメンテーションを使用できます。
トランザクションのタイプ
トランザクションの累積データは、APMの「 Transactions」ページ に表示されます。トランザクションには大きく分けてウェブと非ウェブの2種類があります。
- Web: トランザクションは HTTP リクエストによって開始されます。 ほとんどの組織にとって、これらは顧客中心のインタラクションを表しており、したがってモニターにとって最も重要なトランザクションです。
- Non-web: 非ウェブ ブラウザはWeb リクエストによって開始されません。 これらには、Web 以外のワーカー プロセス、バックグラウンド プロセス、スクリプト、メッセージキュー アクティビティ、その他のタスクが含まれます。
トランザクションのサブタイプ
当社のエージェントは、これらのトランザクションのサブタイプを持っています。
トランザクションセグメント
トランザクションを構成する個々の関数と呼び出しはsegmentsと呼ばれます。 たとえば、外部サービス呼び出しとデータベース呼び出しはセグメントであり、どちらも APM に独自の UI ページを持っています。
APM Transactionsページには、集計されたトランザクション セグメント データが表示されます。
- セグメントをトランザクションに追加するには、 カスタム インストルメンテーションを使用します。
- 特定のトランザクションのセグメントを見るには、 transaction traces を使用します。
トランザクションのネーミング
サポートされているフレームワークでは、トランザクション名は、フレームワークによってトランザクションに与えられた名前、トランザクション中に検出された関数名、またはウェブリクエストのURLなど、さまざまなソースから得られます。
同様の形式で多くの名前を生成するトランザクションの場合、それらを一般的なトランザクションカテゴリに統合します。たとえば、トランザクションは/user/*/control_panel
として表示される場合があります。ここで、 *
はさまざまなユーザー名を表します。
トランザクションの名前を変更したり、名前の統合方法を調整するには、 カスタム インストルメンテーションを使用します。
トランザクションの監視
ここでは、APMを利用したトランザクションの監視方法をご紹介します。
モニタリングをするなら | これを使って... |
---|---|
お客様のビジネスにとって重要な取引 | キートランザクションを作成 UIで強調し、カスタムレベルの監視を設定することができます。 |
非同期アクティビティ | 手順に従って、特定のAPM言語エージェントの非同期アクティビティを設定します。 |
アプリケーション間のアクティビティ | アプリケーション間でトランザクションをリンクすることで、ビジネスに関連するアプリケーションのアクティビティをより詳しく知ることができます。詳細については、 分散型トレース および クロスアプリケーショントレース に関するドキュメントを参照してください。 ヒントすべてのアプリケーションとサービスの概要を取得するには、 エンティティ エクスプローラーを使用します。 |
トランザクションの検索
トランザクションは、 デフォルトの属性 が添付された詳細なセットでクエリを実行することができます。これらの属性を使用して、APMがデフォルトで提供していないクエリを実行したり、カスタムチャートを作成することができます。
当社の UI や NRQL を使用してデータを照会する方法については、 New Relic データの照会 を参照してください。