メトリクスの種類

New Relic が収集しているメトリックの時系列データについて理解することは、メトリックの時系列データの構造を理解するために役に立ちます。メトリック名は / で区切られたパスであり、通常、以下のパターンに従っています。

<category>/<class>/<method>

この文書では、いくつかの主要なメトリックのカテゴリについて説明します。自身のメトリクスを収集する方法については、カスタムメトリクス を参照してください。

メトリックの時系列データを検索したり、チャート化する方法については、Insights のメトリックエクスプローラーをお使いください。

ActiveMerchant

New Relic は ActiveMerchant トランザクションの様々なメトリクスを追跡します。ビジネス分析と同様にパフォーマンス監視にも使用できます。メトリクスは操作やゲートウェイごとにまとめられています。

正規表現 サンプルメトリック 凡例名
ActiveMerchant/.** ActiveMerchant/
PayJunctionGateway
ActiveMerchant/gateway/.** ActiveMerchant/gateway/
PayJunctionGateway/purchase
PayJunctionGateway
ActiveMerchant/operation/.** ActiveMerchant/
operation/purchase
purchase

詳細については ActiveMerchant のサイト [external link] をご覧ください。

ActiveRecord

ActiveRecord は、Ruby on Rails アプリケーションで使用されるオブジェクトリレーショナルマッピングAPIです。以下のメトリクスは、ActiveRecord の findsave メソッドのパフォーマンスを計測しています。

正規表現 サンプルメトリック 凡例名
ActiveRecord/.*/find ActiveRecord/User/find User#find
ActiveRecord/.*/save ActiveRecord/Product/save Product#save

詳細については ActiveRecord API ドキュメント [英語][external link] を参照してください。

Apdex

Apdex とはページ読み込み時間を利用したユーザーの満足度の尺度です。

Controller

Ruby on Rails アプリでは、コントローラーのアクションがHTTPリクエストを処理します。Rails アプリケーションのコントローラーには通常、複数アクションがあります。Rails アプリがHTTP リクエストを受信すると、そのリクエストの URL に基​​づき適切なコントローラーとアクションにルーティングされます。そのアクションは、HTTP レスポンスを作成するために必要な処理を行います。多くの場合、それはウェブページの作成となります。ページフラグメント、XML ドキュメントなどクライアントが要求した他の形式でも問題ありません。

以下のメトリクスは、ルーティングに関係なく、ネットワークやウェブサーバーの影響を考慮せずにコントローラーのアクションのパフォーマンスを追跡します。

正規表現 サンプルメトリック 凡例名
Controller/.* Controller/Users/show /Users/show
Controller/.*/(?!(other)).* Controller/Users/show /Users/show
Controller$ Controller All Controller Actions
ControllerCPU/ ControllerCPU/Users/Show /Users/show

詳しくは ActionController の API ドキュメント [英語][external link]をご覧ください。

エラー

このメトリックはエラーやリクエストの処理中に発生した例外の回数を数えます。

正規表現 サンプルメトリック 凡例名
Errors/all Errors/all

外部サービス

外部サービスの計測は、Web サービス、クラウド内のリソースおよびその他のネットワーク呼び出しなどのプロセス外のサービスの呼び出しをキャプチャします。MemCache やデータベースなどのその他のバックエンドコンポーネントは含みません。

Ruby アプリケーションでは、すべての HTTP サービスをキャプチャするために、Net::Http ライブラリを計測します。

正規表現 サンプルメトリック 凡例名
External/[^/]+/all$ External/service.example.com/all All service.example.com calls
External/ External/host.aws.com/Net::Http::POST Net::Http::POST[host.aws.com]
External/all$ External/all External Services
External/[^/]+/(?!all)/ External/service.example.com/all All service.example.com calls

HTTP ディスパッチャ

以下のメトリックは、すべての Web リクエストのスループットと応答時間の要約を表します。

正規表現 サンプルメトリック 凡例名
^ HttpDispatcher$ HttpDispatcher HttpDispatcher

Memcache

MemCacheは、アプリケーションは複数の物理マシンの共有メモリをグローバルキャッシュとしてアクセスできる人気ある技術です。高負荷の状態でデータベースを使用するアプリケーションの多くは、パフォーマンスとスケーラビリティ確保のため、MemCache を使用しています。

これらのメトリックは、キャッシュのデータを読み書きするためにMemCacheを呼び出す頻度と応答時間を測定します。MemCache をデプロイ後、応答時間は(5秒未満)低くなっているはずです。

正規表現 サンプルメトリック 凡例名
MemCache/.* MemCache/read MemCache read operations (MemCache の読み取り操作)
MemCache/read MemCache/read MemCache read operations (MemCache の読み取り操作)
MemCache/write MemCache/write MemCache write operations (MemCache の書き込み操作)

Mongrel

このメトリックは、mongrel のキューの長さを計測します。キューでは mongrel が処理する保留中の HTTP リクエストを保持している。HTTP のアクティビティグラフの指定された期間上にキュー最大長を表示します。mongrel のリクエスト処理中に、そのキュー内の待ちリクエストがない場合は、値はゼロとなります。

mongrel の集計クラスタ全体でこの値を見てみると、全 mongrel のキューの長さは、すべて加算した、すべてのキューの長さの合計です。

mongrel のキューの長さは、ゼロかほぼゼロであるべきです。一貫して高いレベルのままの場合は、Railsアプリの負荷要件を越えた状態が続いていることを示しています。

正規表現 サンプルメトリック 凡例名
Mongrel/Queue Length Mongrel/Queue Length キューの長さ

View

ActionView は Rails のパッケージです。HTML ページや XML ドキュメントのような http リクエストに応答する出力をレンダリングします。View はリクエストを処理するコントローラによってレンダリングされます。

View メトリックがコントローラの応答時間の大部分を表している場合、ビューテンプレート内で多くのデータベース操作を行っている場合があります。

正規表現 サンプルメトリック 凡例名
View/.* View/Users/_child.html.erb/Partial Users/_child.html.erb
View/.*/Partial View/Users/_child.html.erb/Partial Users/_child.html.erb
View/.*/Rendering View/Users/show.html.erb/Rendering Users/show.html.erb

詳細については ActionView の API ドキュメント[external link] をご覧ください。