تتبع التبعيات مع 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'])

الخطوات التالية