• ログイン今すぐ開始

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

external_trace (PythonエージェントAPI)

構文

newrelic.agent.external_trace(library, url, method=None)

外部サービスへの呼び出しをトランザクション・トレース・セグメントとして報告する。

説明

external_trace 追加セグメントの形式でトランザクション追跡に詳細を追加するために使用されます。external_traceで報告された呼び出しは、APM の外部タブに表示されます。external_traceは、外部サービスを呼び出す関数のデコレータとして使用できるExternalTraceWrapper部分を返します。

external_traceデコレーターは、エージェント バージョン 2.102.0.85 以降のジェネレーターとコルーチンで使用できます。これらのオブジェクトのタイミングは、消費が開始されたときに始まり、オブジェクトが使い果たされるか範囲外になると終了します。これは、メトリックがジェネレータまたはコルーチン オブジェクト自体の作成にかかった時間を表す以前のバージョンからの変更です。

アプリケーションでデコレーターを使用できない場合は、これらの他の呼び出しフォーマットのいずれかを使用することができます。

  • コンテキスト マネージャー: コンテキスト マネージャーの形式はExternalTraceです。
  • ラッパー: ラッパー形式はExternalTraceWrapperです。デコレータを使用せずにラップされた関数を返すために使用できます。
  • パスベースのラッパー: パスベースのラッパー形式はwrap_external_traceです。これにより、モンキー パッチによってExternalTraceWrapperが特定のオブジェクトに適用されます。これは、デコレーターと同じパラメーターに加えて、追加のmoduleおよびobject_pathパラメーターを取ります。

これらの異なるコールフォーマットの用途についての説明は、 Different call formats を参照してください。通話例については、 をご覧ください。

パラメーター

external_traceのパラメータ

newrelic.agent.external_trace(library, url, method=None)

external_traceデコレータは次のパラメータを使用します:

パラメータ

説明

library

文字列 または 機能

必須項目です。使用している外部ライブラリの名前(またはタイプ)。定義した文字列か、それを返す関数を渡します。

url

文字列 または 機能

必須です。ライブラリーコールによって要求されたURLです。それを定義する文字列か、それを返す関数を渡します。

method

文字列 または 機能

オプション。行われる呼び出しのタイプを定義するメソッド。これらは通常、 getpostput 、またはdeleteです。

ExternalTraceのパラメータ

newrelic.agent.ExternalTrace(library, url, method=None)

ExternalTraceコンテキスト マネージャーは、 external_traceによって取得されたすべてのパラメーターを取得します。

ExternalTraceWrapperのパラメータ

newrelic.agent.ExternalTraceWrapper(wrapped, library, url, method=None)

ExternalTraceWrapperは、最初のwrappedパラメータに加えて、デコレータと同じパラメータをすべて受け取ります。

パラメータ

説明

wrapped

機能

必要です。外部時刻に帰属させる外部呼出機能です。

wrap_external_traceのパラメータ

newrelic.agent.wrap_external_trace(module, object_path, library, url, method=None)

wrap_external_traceは、 moduleパラメータとobject_pathパラメータに加えて、デコレータが行うすべてのパラメータを受け取ります。

パラメータ

説明

module

物体

必要です。ラップされるオブジェクトを含むモジュール。

object_path

ストリング

必要です。ラップされるオブジェクトへのパス。

戻り値

external_trace ExternalTraceWrapper()パーシャルを返します。

external_traceの例

external_traceの使用例:

@external_trace('library', 'http://example.com', 'get')
def foo():
pass

ネイティブ コルーチンでexternal_traceを使用する例:

@external_trace('library', 'http://example.com', 'get')
async def foo():
pass

ExternalTraceの例

ExternalTraceコンテキスト マネージャーの使用例:

def fetch_example_dot_com():
with ExternalTrace('library', 'http://example.com', 'get'):
pass

ExternalTraceWrapperの例

ExternalTraceWrapperの使用例:

wrapped_fetch_example_dot_com = newrelic.agent.ExternalTraceWrapper(fetch_example_dot_com, 'library', 'http://example.com', 'get')
response = wrapped_fetch_example_dot_com()

wrap_external_traceの例

wrap_external_traceパスベースのラッパーの使用例:

wrap_external_trace('module', 'Foo.bar', 'library', 'http://example.com', 'get')
Copyright © 2022 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.