次の方法で共有


OpenCensus Python を使用した依存関係の追跡

依存関係は、アプリケーションによって呼び出される外部コンポーネントです。 依存関係データは、OpenCensus Python とそのさまざまな統合を使用して収集されます。 その後、データは Azure Monitor の Application Insights に dependencies テレメトリとして送信されます。

まず、最新の OpenCensus Python SDK を使用して Python アプリケーションをインストルメント化します。

プロセス内の依存関係

OpenCensus Python SDK for Azure Monitor を使用すると、"プロセス内" の依存関係テレメトリ (アプリケーション内で発生する情報とロジック) を送信できます。 プロセス内の依存関係には、分析で INPROC として type フィールドがあります。

from opencensus.ext.azure.trace_exporter import AzureExporter
from opencensus.trace.samplers import ProbabilitySampler
from opencensus.trace.tracer import Tracer

tracer = Tracer(exporter=AzureExporter(connection_string="InstrumentationKey=<your-ikey-here>"), sampler=ProbabilitySampler(1.0))

with tracer.span(name='foo'): # <-- A dependency telemetry item will be sent for this span "foo"
    print('Hello, World!')

"requests" 統合を使用した依存関係

OpenCensus の requests 統合を使用して、送信要求を追跡します。

PyPI から opencensus-ext-requests をダウンロードしてインストールし、トレース統合に追加します。 Python の requests ライブラリを使用して送信された要求が追跡されます。

import requests
from opencensus.ext.azure.trace_exporter import AzureExporter
from opencensus.trace import config_integration
from opencensus.trace.samplers import ProbabilitySampler
from opencensus.trace.tracer import Tracer

config_integration.trace_integrations(['requests'])  # <-- this line enables the requests integration

tracer = Tracer(exporter=AzureExporter(connection_string="InstrumentationKey=<your-ikey-here>"), sampler=ProbabilitySampler(1.0))

with tracer.span(name='parent'):
    response = requests.get(url='https://www.wikipedia.org/wiki/Rabbit') # <-- this request will be tracked

"httplib" 統合を使用した依存関係

OpenCensus の httplib 統合を使用して送信要求を追跡します。

PyPI から opencensus-ext-httplib をダウンロードしてインストールし、トレース統合に追加します。 http.client を使用して送信された要求は、Python3 または httplib for Python2 を使用して追跡されます。

import http.client as httplib
from opencensus.ext.azure.trace_exporter import AzureExporter
from opencensus.trace import config_integration
from opencensus.trace.samplers import ProbabilitySampler
from opencensus.trace.tracer import Tracer

config_integration.trace_integrations(['httplib'])
conn = httplib.HTTPConnection("www.python.org")

tracer = Tracer(
    exporter=AzureExporter(),
    sampler=ProbabilitySampler(1.0)
)

conn.request("GET", "http://www.python.org", "", {})
response = conn.getresponse()
conn.close()

"django" 統合を使用した依存関係

OpenCensus の django 統合を使用して、送信 Diango 要求を追跡します。

Note

追跡される送信 Django 要求は、データベースに対して行われた呼び出しのみです。 Django アプリケーションに対して行われた要求については、受信要求に関する記事を参照してください。

PyPI から opencensus-ext-django をダウンロードしてインストールし、次の行を Django settings.py ファイルの MIDDLEWARE セクションに追加します。

MIDDLEWARE = [
    ...
    'opencensus.ext.django.middleware.OpencensusMiddleware',
]

追加の構成を指定することもできます。詳細については、カスタマイズに関するページを参照してください。

OPENCENSUS = {
    'TRACE': {
        'SAMPLER': 'opencensus.trace.samplers.ProbabilitySampler(rate=1)',
        'EXPORTER': '''opencensus.ext.azure.trace_exporter.AzureExporter(
            connection_string="InstrumentationKey=<your-ikey-here>"
        )''',
    }
}

依存関係を使用する Django サンプル アプリケーションは、ここにある Azure Monitor OpenCensus Python サンプル リポジトリ内にあります。

"mysql" 統合を使用した依存関係

OpenCensus の mysql 統合を使用して、MYSQL 依存関係を追跡します。 この統合は、mysql コネクタ ライブラリをサポートしています。

PyPI から opencensus-ext-mysql をダウンロードしてインストールし、次の行をコードに追加します。

from opencensus.trace import config_integration

config_integration.trace_integrations(['mysql'])

"pymysql" 統合を使用した依存関係

OpenCensus の pymysql 統合を使用して、PyMySQL 依存関係を追跡します。

PyPI から opencensus-ext-pymysql をダウンロードしてインストールし、次の行をコードに追加します。

from opencensus.trace import config_integration

config_integration.trace_integrations(['pymysql'])

"postgresql" 統合を使用した依存関係

OpenCensus の postgresql 統合を使用して、PostgreSQL 依存関係を追跡します。 この統合は、psycopg2 ライブラリをサポートしています。

PyPI から opencensus-ext-postgresql をダウンロードしてインストールし、次の行をコードに追加します。

from opencensus.trace import config_integration

config_integration.trace_integrations(['postgresql'])

"pymongo" 統合を使用した依存関係

OpenCensus の pymongo 統合を使用して、MongoDB 依存関係を追跡します。 この統合は、pymongo ライブラリをサポートしています。

PyPI から opencensus-ext-pymongo をダウンロードしてインストールし、次の行をコードに追加します。

from opencensus.trace import config_integration

config_integration.trace_integrations(['pymongo'])

"sqlalchemy" 統合を使用した依存関係

OpenCensus の sqlalchemy 統合を使用して、SQLAlchemy を使用した依存関係を追跡します。 この統合により、基になるデータベースに関係なく、sqlalchemy パッケージの使用状況が追跡されます。

from opencensus.trace import config_integration

config_integration.trace_integrations(['sqlalchemy'])

次のステップ