Binnenkomende aanvragen bijhouden met OpenCensus Python
Let op
De OpenCensus Python SDK wordt buiten gebruik gesteld. We raden u aan de Python-aanbieding op basis van OpenTelemetry te gebruiken en migratierichtlijnen te bieden.
OpenCensus Python en de bijbehorende integraties verzamelen binnenkomende aanvraaggegevens. U kunt binnenkomende aanvraaggegevens bijhouden die zijn verzonden naar uw webtoepassingen die zijn gebouwd op basis van de populaire webframeworks Django, Flask en Pyramid. Application Insights ontvangt de gegevens als requests
telemetrie.
Instrumenteer eerst uw Python-toepassing met de nieuwste OpenCensus Python SDK.
Django-toepassingen bijhouden
Download en installeer deze
opencensus-ext-django
vanuit PyPI. Instrumenteer uw toepassing met dedjango
middleware. Binnenkomende aanvragen die naar uw Django-toepassing worden verzonden, worden bijgehouden.Opnemen
opencensus.ext.django.middleware.OpencensusMiddleware
in uwsettings.py
bestand onderMIDDLEWARE
.MIDDLEWARE = ( ... 'opencensus.ext.django.middleware.OpencensusMiddleware', ... )
Zorg ervoor dat AzureExporter juist is geconfigureerd in uw
settings.py
onderOPENCENSUS
. Voor aanvragen van URL's die u niet wilt bijhouden, voegt u deze toe aanEXCLUDELIST_PATHS
.OPENCENSUS = { 'TRACE': { 'SAMPLER': 'opencensus.trace.samplers.ProbabilitySampler(rate=1)', 'EXPORTER': '''opencensus.ext.azure.trace_exporter.AzureExporter( connection_string="InstrumentationKey=<your-ikey-here>" )''', 'EXCLUDELIST_PATHS': ['https://example.com'], <--- These sites will not be traced if a request is sent to it. } }
U vindt een Django-voorbeeldtoepassing in de opslagplaats met Azure Monitor OpenCensus Python-voorbeelden.
Flask-toepassingen bijhouden
Download en installeer deze
opencensus-ext-flask
vanuit PyPI. Instrumenteer uw toepassing met deflask
middleware. Binnenkomende aanvragen die naar uw Flask-toepassing worden verzonden, worden bijgehouden.from flask import Flask from opencensus.ext.azure.trace_exporter import AzureExporter from opencensus.ext.flask.flask_middleware import FlaskMiddleware from opencensus.trace.samplers import ProbabilitySampler app = Flask(__name__) middleware = FlaskMiddleware( app, exporter=AzureExporter(connection_string="InstrumentationKey=<your-ikey-here>"), sampler=ProbabilitySampler(rate=1.0), ) @app.route('/') def hello(): return 'Hello World!' if __name__ == '__main__': app.run(host='localhost', port=8080, threaded=True)
U kunt uw
flask
toepassing ook configureren viaapp.config
. Voor aanvragen van URL's die u niet wilt bijhouden, voegt u deze toe aanEXCLUDELIST_PATHS
.app.config['OPENCENSUS'] = { 'TRACE': { 'SAMPLER': 'opencensus.trace.samplers.ProbabilitySampler(rate=1.0)', 'EXPORTER': '''opencensus.ext.azure.trace_exporter.AzureExporter( connection_string="InstrumentationKey=<your-ikey-here>", )''', 'EXCLUDELIST_PATHS': ['https://example.com'], <--- These sites will not be traced if a request is sent to it. } }
Notitie
Als u Flask wilt uitvoeren onder uWSGI in een Docker-omgeving, moet u eerst toevoegen
lazy-apps = true
aan het uWSGI-configuratiebestand (uwsgi.ini). Zie de beschrijving van het probleem voor meer informatie.
U vindt een Flask-voorbeeldtoepassing die aanvragen bijhoudt in de opslagplaats met Azure Monitor OpenCensus Python-voorbeelden.
Piramidetoepassingen bijhouden
Download en installeer deze
opencensus-ext-django
vanuit PyPI. Instrumenteer uw toepassing met depyramid
tween. Binnenkomende aanvragen die naar uw Pyramid-toepassing worden verzonden, worden bijgehouden.def main(global_config, **settings): config = Configurator(settings=settings) config.add_tween('opencensus.ext.pyramid' '.pyramid_middleware.OpenCensusTweenFactory')
U kunt uw
pyramid
tween rechtstreeks in de code configureren. Voor aanvragen van URL's die u niet wilt bijhouden, voegt u deze toe aanEXCLUDELIST_PATHS
.settings = { 'OPENCENSUS': { 'TRACE': { 'SAMPLER': 'opencensus.trace.samplers.ProbabilitySampler(rate=1.0)', 'EXPORTER': '''opencensus.ext.azure.trace_exporter.AzureExporter( connection_string="InstrumentationKey=<your-ikey-here>", )''', 'EXCLUDELIST_PATHS': ['https://example.com'], <--- These sites will not be traced if a request is sent to it. } } } config = Configurator(settings=settings)
FastAPI-toepassingen bijhouden
De volgende afhankelijkheden zijn vereist:
-
In een productie-instelling raden we u aan om uvicorn met gunicorn te implementeren.
Download en installeer deze
opencensus-ext-fastapi
vanuit PyPI.pip install opencensus-ext-fastapi
Instrumenteer uw toepassing met de
fastapi
middleware.from fastapi import FastAPI from opencensus.ext.fastapi.fastapi_middleware import FastAPIMiddleware app = FastAPI(__name__) app.add_middleware(FastAPIMiddleware) @app.get('/') def hello(): return 'Hello World!'
Voer uw toepassing uit. Aanroepen naar uw FastAPI-toepassing moeten automatisch worden bijgehouden. Telemetrie moet rechtstreeks worden geregistreerd bij Azure Monitor.