カスタム属性の収集

標準の属性と同じ用にカスタム属性を収集できます。このカスタム属性は、複数の宛先へ送信します。この属性を使えば、遅かったり失敗したりしたリクエストに関連するユーザー名を追跡することなどできます。

カスタム属性の有効化

New Relic APM や New Relic Insights でカスタム属性を有効にし、使いたい場合は、以下の手順に従ってお使いのエージェントを設定してください。

Insights でカスタムパラメーターやカスタム属性を使う場合は、属性名に Insights の予約語を使わないようにしてください。
Java
Java では、カスタム属性の収集はデフォルトで有効です。

XML: ソースコードを変更せずにカスタム属性を指定するには、New Relic Java エージェント内の Extensions ディレクトリから、XML ファイルを1つ作成します。この方法には、以下の利点があります。

  • 全カスタム属性を一箇所で管理できる。
  • API だけでなく、XML ファイルも使えます。
  • 複数の論理的なファセットによってグループ化されたカスタム属性用に複数の XML ファイル持てる。
  • ソースコードを変更する必要がない。

ファイルフォーマット、メソッド、クラス、サンプルに関する詳しい内容は、XML を利用した Java カスタム計測をご覧ください。

API: カスタム属性を収集するには、関連するAPIメソッドを呼び出すだけです。

  1. 属性を記録したいときは、各メソッド内でaddCustomParameterを呼びます。
  2. オプション: attributes.includeattributes.excludeを使うと特定の属性を含めたり、除外できます。

例えば、変数名 userId を記録するには、親メソッドに以下のコードを記述します。

NewRelic.addCustomParameter("userId", userId);
.NET

.NET では、カスタム属性の収集はデフォルトで有効です。カスタム属性を収集するには関連するAPIメソッドを呼び出すだけです。

  1. 属性を記録したいときは、各メソッド内で AddCustomParameter を呼んでください。
    数字を記録(例えば、min(), max(), histogram() などの Insights の数値計算の関数を使う場合)している場合は、Single に変換していることを確認してください。そ例外の場合は、数値は文字列に変換されます。
  2. オプション: includeexclude の設定オプションを使うと特定の属性を含めるもしくは除外できます。

例えば、クーポンコード(文字列)、アイテムIDコード(Single 数値)属性を記録するには、親メソッドに以下のコードを記述します。

NewRelic.Api.Agent.AddCustomParameter("Discount Code", "Summer Super Sale");
NewRelic.Api.Agent.AddCustomParameter("Item Code", (Single)31456);
Node.js

Node.js でカスタム属性を収集するには、API を呼び出す前に newrelic.js 内の capture_params を有効にしてください。

  1. newrelic.js内のcapture_paramstrueにセットする。
  2. 属性を記録したいときは、各メソッド内でnewrelic.addCustomParameterを呼んでください。

例えば、userId という名前の変数を記録するには、親メソッドに以下のコードを記述します。

newrelic.addCustomParameter('userId', userId);
PHP
PHP ではデフォルトでカスタム属性の収集が利用できます。カスタム属性を収集するには、属性を記録したい各メソッドにて、newrelic_add_custom_parameterを呼び出すだけです。
例えば、$userIdという名前の変数を記録するには、親メソッドに以下のコードを記述します。

newrelic_add_custom_parameter (userID, $userId)
Python
Python ではデフォルトで、カスタム属性の収集が利用できます。カスタム属性を収集するには、属性を記録したい各メソッドにて、add_custom_parameterを呼び出すだけです。
例えば、user_idという名前の変数を記録するには、親メソッドに以下のコードを記述します。

newrelic.agent.add_custom_parameter('user_id', user_id)
Ruby
Ruby ではデフォルトで、カスタム属性の収集が利用できます。カスタム属性を収集するには、関連するAPIを呼び出すだけです。

バージョン 3.12.0 以上のエージェント利用している場合は、add_custom_attributes メソッドを使います。例として、@user_id という名前の変数を記録する場合は、親メソッドに以下のようなコードを追加します。

::NewRelic::Agent.add_custom_attributes({ user_id: @user.id })

3.11.2 より低いバージョンのエージェントを使っている場合は、add_custom_parameters メソッドを使います。例として、@user_id という名前の変数を記録する場合は、親メソッドに以下のようなコードを追加します。

::NewRelic::Agent.add_custom_parameters({ user_id: @user.id })

カスタム属性の記録

アプリケーション内の Web トランザクションを処理するコードであれば、どこでもカスタム属性を定義する API を呼び出すことができます。詳しくは、お使いのエージェントの API ドキュメントを参照してください。

ブラウザ属性の収集

New Relic のエージェントは、ユーザー、アカウント、および製品データを含むブラウザトレースに関する追加の情報を指定するAPIを提供します。値は、エンコードされページ読み込みタイミング(リアルユーザー監視、RUMとも呼ばれる)の JavaScript に挿入​​されます。詳しくは、ブラウザとレース用の API オプションをご覧ください。さらに Insights のユーザーは、アプリケーションサーバーから Browser へ属性を転送できます。

関連情報

関連情報は以下のとおりです。