Lacak dependensi dengan OpenCensus Python
Catatan
OpenCensus Python SDK tidak digunakan lagi, tetapi Microsoft mendukungnya hingga penghentian pada 30 September 2024. Kami sekarang merekomendasikan penawaran Python berbasis OpenTelemetry dan memberikan panduan migrasi.
Dependensi adalah komponen eksternal yang dipanggil oleh aplikasi Anda. Data dependensi masuk dikumpulkan menggunakan OpenCensus Python dan berbagai integrasinya. Data selanjutnya dikirim ke Application Insights di bawah Azure Monitor sebagai telemetri dependencies
.
Pertama, lengkapi aplikasi Python Anda dengan OpenCensus Python SDK terbaru.
Dependensi dalam proses
OpenCensus Python SDK untuk Azure Monitor memungkinkan Anda untuk mengirim telemetri dependensi "dalam proses" (informasi dan logika yang terjadi dalam aplikasi Anda). Dependensi dalam proses akan memiliki type
bidang seperti INPROC
dalam analitik.
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!')
Dependensi dengan integrasi "permintaan"
Lacak permintaan keluar Anda dengan integrasi requests
OpenCensus.
Unduh dan pasangopencensus-ext-requests
dari PyPI dan tambahkan ke integrasi jejak. Permintaan yang dikirim menggunakan pustakanpermintaan Python akan dilacak.
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
Dependensi dengan integrasi "httplib"
Lacak permintaan keluar Anda dengan integrasi httplib
OpenCensus.
Unduh dan pasangopencensus-ext-httplib
dari PyPI dan tambahkan ke integrasi jejak. Permintaan yang dikirim menggunakan http.client untuk Python3 atau httplib untuk Python2 akan dilacak.
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()
Ketergantungan dengan integrasi "django"
Lacak permintaan Django keluar Anda dengan integrasi django
OpenCensus.
Catatan
Satu-satunya permintaan keluar Django yang dilacak adalah panggilan yang dilakukan ke database. Untuk permintaan yang dibuat ke aplikasi Django, lihat permintaan masuk.
Unduh dan pasang opencensus-ext-django
dari PyPI dan tambahkan baris berikut ke MIDDLEWARE
bagian dalam file settings.py
Django.
MIDDLEWARE = [
...
'opencensus.ext.django.middleware.OpencensusMiddleware',
]
Konfigurasi tambahan dapat disediakan, baca kustomisasi untuk referensi lengkap.
OPENCENSUS = {
'TRACE': {
'SAMPLER': 'opencensus.trace.samplers.ProbabilitySampler(rate=1)',
'EXPORTER': '''opencensus.ext.azure.trace_exporter.AzureExporter(
connection_string="InstrumentationKey=<your-ikey-here>"
)''',
}
}
Anda dapat menemukan aplikasi contoh Django yang dapat menggunakan dependensi di repositori sampel Python OpenCensus Azure Monitor yang terletak di sini.
Dependensi dengan integrasi "mysql"
Lacak dependensi MYSQL Anda dengan integrasi mysql
OpenCensus. Integrasi ini mendukung pustaka konektor mysql.
Unduh dan pasangopencensus-ext-mysql
dari PyPI dan tambahkan baris berikut untuk kode Anda.
from opencensus.trace import config_integration
config_integration.trace_integrations(['mysql'])
Dependensi dengan integrasi "pymysql"
Lacak dependensi PyMySQL Anda dengan integrasi pymysql
OpenCensus.
Unduh dan pasangopencensus-ext-pymysql
dari PyPI dan tambahkan baris berikut untuk kode Anda.
from opencensus.trace import config_integration
config_integration.trace_integrations(['pymysql'])
Dependensi dengan integrasi "postgresql"
Lacak dependensi PostgreSQL Anda dengan integrasi postgresql
OpenCensus. Integrasi ini mendukung pustaka psycopg2.
Unduh dan pasangopencensus-ext-postgresql
dari PyPI dan tambahkan baris berikut untuk kode Anda.
from opencensus.trace import config_integration
config_integration.trace_integrations(['postgresql'])
Dependensi dengan integrasi "pymongo"
Lacak dependensi MongoDB Anda dengan integrasi pymongo
OpenCensus. Integrasi ini mendukung pustaka pymongo.
Unduh dan pasangopencensus-ext-pymongo
dari PyPI dan tambahkan baris berikut untuk kode Anda.
from opencensus.trace import config_integration
config_integration.trace_integrations(['pymongo'])
Dependensi dengan integrasi "sqlalchemy"
Lacak dependensi Anda menggunakan SQLAlchemy menggunakan integrasi sqlalchemy
OpenCensus. Integrasi ini melacak penggunaan paket sqlalchemy, terlepas dari database yang mendasarinya.
from opencensus.trace import config_integration
config_integration.trace_integrations(['sqlalchemy'])