Go エージェントの属性

New Relic の Go 言語用エージェントが収集する属性の名前や詳細な情報について説明します。デフォルト属性の宛先を調整したり、カスタム属性の作成方法についても解説しています。

どんな属性があるのか?

属性は、キーバリューペアの形式となります。New Relic APM では、トランザクションイベント、エラーイベント、トレースエラーを属性として扱っています。

New Relic では、以下の宛先へ送る属性をカスタマイズできるようになっています。

  • New Relic APM へのエラートレース
  • New Relic Insights へのトランザクションイベント
  • New Relic Insights へのページビュー

また、カスタム属性を作成し、任意の属性を監視できるようになります。

Go エージェント属性

以下の表では、Go エージェントがデフォルトで収集する属性とデフォルトでどこに送信されるかを示しています。デフォルトの設定を調整し、宛先へ送る属性のオン/オフを切り替えられます。一般的なエージェントの情報については、New Relic エージェント属性をご覧ください。

httpResponseCode
ウェブリクエストのレスポンスのステータスコード。newrelic.AttributeResponseCode として参照可能。

デフォルト設定:

  • エラーコレクター (エラートレース): 有効
  • トランザクションイベント: 有効

この属性を排除する例:

config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeResponseCode)
request.headers.accept
HTTP Accept リクエストヘッダーから読み込むタイプ。newrelic.AttributeRequestMethod として参照可能。

デフォルト設定:

  • エラーコレクター (エラートレース): 有効
  • トランザクションイベント: 有効

この属性を排除する例:

config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeRequestMethod)
request.headers.contentType
Content-Length リクエストヘッダーから読み取った受信したリクエストのコンテンツタイプ。newrelic.AttributeRequestContentType として参照可能。

デフォルト設定:

  • エラーコレクター (エラートレース): 有効
  • トランザクションイベント: 有効

この属性を排除する例:

config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeRequestContentType)
request.headers.contentLength
Content-Length リクエストヘッダーから読み取った受信リクエストサイズ(単位: バイト)。newrelic.AttributeRequestContentLength として参照可能。

デフォルト設定:

  • エラーコレクター (エラートレース): 有効
  • トランザクションイベント: 有効

この属性を排除する例:

config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeRequestContentLength)
request.headers.host
HTTP host リクエストヘッダーにある名前。newrelic.AttributeRequestHost として参照可能。

デフォルト設定:

  • エラーコレクター (エラートレース): 有効
  • トランザクションイベント: 有効

この属性を排除する例:

config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeRequestHost)
request.headers.referer
Referer リクエストヘッダーから読み取った受信リクエストのリファラー。 newrelic.AttributeRequestReferer として参照可能。

デフォルト設定:

  • エラーコレクター (エラートレース): 有効
  • トランザクションイベント: 無効

この属性を排除する例:

config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeRequestReferer)
request.headers.User-Agent
User-Agent HTTP ヘッダーのコンテンツ。newrelic.AttributeRequestUserAgent として参照可能。

デフォルト設定:

  • エラーコレクター (エラートレース): 有効
  • トランザクションイベント: 無効

この属性を排除する例:

config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeRequestUserAgent)
request.method
受信リクエストの HTTP メソッド。newrelic.AttributeRequestMethod として参照可能。

デフォルト設定:

  • エラーコレクター (エラートレース): 有効
  • トランザクションイベント: 有効

この属性を排除する例:

config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeRequestMethod)
response.headers.contentLength
Content-Type レスポンスヘッダーからの読み取った送信レスポンスのサイズ(単位: バイト)。newrelic.AttributeResponseContentLength として参照可能。

デフォルト設定:

  • エラーコレクター (エラートレース): 有効
  • トランザクションイベント: 有効

この属性を排除する例:

config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeResponseContentLength)
response.headers.contentType
Content-Type レスポンスヘッダーからの読み取った送信レスポンスのコンテンツタイプ。 newrelic.AttributeResponseContentType として参照可能。

デフォルト設定:

  • エラーコレクター (エラートレース): 有効
  • トランザクションイベント: 有効

この属性を排除する例:

config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeResponseContentType)
host.displayName
現在のスクリプトが実行されているサーバーのホスト名。newrelic.AttributeHostDisplayName として参照可能。

デフォルト設定:

  • エラーコレクター (エラートレース): 有効
  • トランザクションイベント: 無効

この属性を排除する例:

config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeHostDisplayName)

属性の宛先の変更

属性の宛先を変更する方法は、以下の二通りあります。

  • 全体の宛先のオン/オフの切り替え
  • 特定の属性のオン/オフの切り替え

宛先のオン/オフの切り替え

属性の全体の宛先をオープン、クローズするには、.Enabled フラグを true または false に設定します。

例えば、APM のエラーコレクションをオフにするには、以下のコードをconfig の後に置きます。:

config.ErrorCollector.Attributes.Enabled = false

属性のオン/オフの切り替え

特定の属性のオンとオフを切り替えるには、.Include メソッドまたは .Exclude メソッドを使います。

例えば、AttributeResponseCode を無効にするには、config の後に、以下を含めます。

config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeResponseCode)

カスタム属性の作成

トランザクションにある以下のメソッドを使って、カスタム属性を追加します。

txn.AddAttribute("key", "value")

Go トランザクションの計測にあるようにtxn はトランザクションを割り当てた変数です。

以下は、カスタム属性追加の例です。

txn.AddAttribute("product", "widget")
txn.AddAttribute("price", 19.99)
txn.AddAttribute("importantCustomer", true)

カスタム属性の宛先のデフォルト設定は以下のとおりです。

  • エラーコレクター (エラートレース): 有効
  • トランザクションイベント: 有効

関連情報

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