تتبع التبعيات مع OpenCensus Python
ملاحظة
تم إهمال OpenCensus Python SDK، ولكن Microsoft تدعمه حتى الإيقاف في 30 سبتمبر 2024. نوصي الآن بعرض Python المستند إلى OpenTelemetry وتوفير إرشادات الترحيل.
التبعية هي مكون خارجي يُستدعى من قبل التطبيق الخاص بك. يتم جمع بيانات التبعية باستخدام OpenCensus Python وتكاملاتها المختلفة. ثم يتم إرسال البيانات إلى Application Insights ضمن Azure Monitor باعتبارها بيانات تتبع الاستخدام dependencies
.
أولًا، ضع علامة على تطبيق Python باستخدام أحدث إصدار لـOpenCensus Python SDK.
تبعيات قيد المعالجة
OpenCensus Python SDK لـAzure Monitor يسمح لك بإرسال بيانات تتبع الاستخدام التبعية "قيد التنفيذ" (المعلومات والمنطق الذي يحدث داخل التطبيق). سيكون للتبعيات الجارية type
الحقل كما هو INPROC
في التحليلات.
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.
تحميل وتثبيت opencensus-ext-requests
من PyPI وإضافته إلى تكاملات التتبع. سيتم تعقب الطلبات المرسلة باستخدام مكتبة طلبات Python.
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"
تعقب الطلبات الصادرة الخاصة بك مع تكامل httplib
OpenCensus.
تحميل وتثبيت opencensus-ext-httplib
من PyPI وإضافته إلى تكاملات التتبع. سيتم تعقب الطلبات المرسلة باستخدام http.client لـPython3 أو httplib لـ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"
تعقب طلبات Django الصادرة الخاصة بك مع تكامل django
OpenCensus.
ملاحظة
طلبات Django الصادرة فقط التي يتم تعقبها هي الاستدعاءات التي تم إجراؤها إلى قاعدة بيانات. للطلبات المقدمة إلى تطبيق Django، راجع الطلبات الواردة.
تحميل وتثبيت opencensus-ext-django
من PyPI وإضافة السطر التالي إلى المقطع MIDDLEWARE
في ملف settings.py
جانغو.
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 الذي يستخدم التبعيات في مستودع عينات Python Azure Monitor OpenCensus الموجود هنا.
تبعيات مع تكامل "mysql"
تعقب تتبعات MYSQL الخاصة بك مع تكامل mysql
OpenCensus. يدعم هذا التكامل مكتبة mysql-connector
تحميل وتثبيت opencensus-ext-mysql
من PyPI وإضافة الأسطر التالية إلى التعليمات البرمجية الخاصة بك.
from opencensus.trace import config_integration
config_integration.trace_integrations(['mysql'])
تبعيات مع تكامل "pymysql"
تعقب تتبعات PyMySQL الخاصة بك مع تكامل pymysql
OpenCensus.
تحميل وتثبيت opencensus-ext-pymysql
من PyPI وإضافة الأسطر التالية إلى التعليمات البرمجية الخاصة بك.
from opencensus.trace import config_integration
config_integration.trace_integrations(['pymysql'])
تبعيات مع تكامل "postgresql"
تعقب تتبعات PostgreSQL الخاصة بك مع تكامل postgresql
OpenCensus. يدعم هذا التكامل مكتبة psycopg2.
تحميل وتثبيت opencensus-ext-postgresql
من PyPI وإضافة الأسطر التالية إلى التعليمات البرمجية الخاصة بك.
from opencensus.trace import config_integration
config_integration.trace_integrations(['postgresql'])
تبعيات مع تكامل "pymongo"
تعقب تتبعات MongoDB الخاصة بك مع تكامل pymongo
OpenCensus. يدعم هذا التكامل مكتبة pymongo.
تحميل وتثبيت opencensus-ext-pymongo
من PyPI وإضافة الأسطر التالية إلى التعليمات البرمجية الخاصة بك.
from opencensus.trace import config_integration
config_integration.trace_integrations(['pymongo'])
تبعيات مع تكامل "sqlalchemy"
تعقب التبعيات الخاصة بك باستخدام SQLAlchemy باستخدام تكامل sqlalchemy
OpenCensus. يتتبع هذا التكامل استخدام حزمة sqlalchemy بغض النظر عن قاعدة البيانات الأساسية.
from opencensus.trace import config_integration
config_integration.trace_integrations(['sqlalchemy'])