• ログイン今すぐ開始

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

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

問題を作成する

profile_trace (PythonエージェントAPI)

構文

newrelic.agent.profile_trace(name=None, group=None, label=None, params=None, depth=3)

関数のトレース名に追加の属性を追加します。

説明

profile_trace は、追加セグメントの形で トランザクショントレース に詳細を追加するために使用されます。 profile_trace で報告されたすべてのコールは、 APM Databases ページ に表示されます。 profile_trace は、 ProfileTraceWrapper部分的な を返します。これは、プロファイラーへのコールの時間を計る関数のデコレーターとして使用できます。

アプリケーションでデコレーターを使用できない場合は、以下の呼び出し形式を使用することができます。ラッパー形式は, ProfileTraceWrapper .デコレーターを使わずにラップされた関数を返すのに使えます.

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

重要

関数は、指定された関数呼び出しのスコープ内でのみ計測されます。関数 function_a がトレースされ、それが function_b を呼び出した場合、これは function_a のスコープ内でのみ計測され、 function_b が呼び出されたがトレースされていない他の場所では計測されません。

パラメータ

デコレーターのパラメータ

newrelic.agent.profile_trace(name=None, group=None, label=None, params=None, depth=3)

このコールには、以下のパラメータが含まれています。

パラメーター

説明

name

文字列

オプションです。関数名を指定します。設定されていない場合は、キャプチャされた関数名がデフォルトとなります。

グループ

文字列

オプションです。 グループ は、 名前 パラメータの命名構造を表しています。これは、 トランザクション タイプ を分離するために UI で使用されます。

省略された場合、グループはデフォルトで Function となります。これは、名前が module:class.function または module:function のような形式で、実行される関数の名前を表していることを想定しています。カスタムグループを作成する場合は、 Python/ のようにグループの前に付けることをお勧めします。

ラベル

文字列

オプションです。トランザクション・トレース内のセグメントにコールアウト形式のフラグを追加します。デフォルトは None

params

ディクト

オプションです。トランザクション・トレースのセグメントに追加するカスタム・パラメータ。

深さ

ディクト

任意です。関数トレースの最大深度を表すパラメータです。デフォルトは3です。

ラッパーのパラメーター

newrelic.agent.ProfileTraceWrapper(wrapped, name=None, group=None, label=None, params=None, depth=3)

ラッパーのパラメータには、すべての パラメータ for profile_trace と、 wrapped パラメータが含まれます。

パラメーター

説明

ラップ

機能

必要です。ラッピングされる機能

profile_trace example

profile_trace デコレーターの使用例です。

import newrelic.agent
@newrelic.agent.profile_trace()
def some_function():
...

ラッパーの例

ProfileTraceWrapperの使用例:

import newrelic.agent
def another_function():
wrapped_function = newrelic.agent.ProfileTraceWrapper(some_function)
...
wrapped_function()
...
Copyright © 2022 New Relic株式会社。