• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

wsgi_application (API d'agent Python )

Syntaxe

newrelic.agent.wsgi_application(application=None, name=None, group=None, framework=None)

Monitorer les transactions Web en marquant le point d'entrée de l'application WSGI .

Description

wsgi_application est un décorateur Python utilisé pour monitorer les transactions Web en instrumentant le point d'entrée de l'application WSGI . L'agent Python prend automatiquement en charge la plupart des frameworks et serveurs qui utilisent WSGI. Si votre framework ou votre serveur Web n'est pas pris en charge, vous devrez peut-être utiliser cette API dans le cadre du processus d'intégration avancé.

Si vous ne pouvez pas utiliser le décorateur wsgi_application, vous pouvez utiliser l'un de ces autres formats d'appel :

  • The wrapper: L'appel wrapper est WSGIApplicationWrapper. Vous pouvez utiliser le wrapper à plusieurs endroits pour des composants d’application WSGI distincts qui peuvent être empilés. Dans ce cas, le premier wrapper rencontré marque le début de la transaction et l'agent détermine l'application cible en fonction de ce premier wrapper (et ignore les suivants).
  • The path-based wrapper: L'appel wrapper basé sur le chemin est wrap_wsgi_application. Utilisez ceci si vous ne pouvez pas référencer l’objet WSGI en tant que variable dans la portée de l’instrumentation. Cela prend les mêmes paramètres que le décorateur avec des paramètres module et object_path supplémentaires.

Pour une explication des raisons d'utiliser le décorateur par rapport aux wrappers, voir Différents formats d'appel.

Paramètres

Paramètre du décorateur

newrelic.agent.wsgi_application(application=None, name=None, group=None, framework=None)

Le décorateur wsgi_application utilise ces paramètres :

paramètres

Description

application

chaîne ou objet d'application

Facultatif. Le nom de l'application à associer à ces données. La valeur par défaut est None. Si aucune valeur n'est définie, l'agent utilise le nom de l'application spécifié dans la configuration de l'agent.

Si une chaîne est fournie, elle doit correspondre au nom exact application et ne peut pas être une liste de noms application . Pour en savoir plus sur la génération d’un objet d’application, consultez la méthode application .

L'application, même si elle est spécifiée, peut toujours être remplacée si newrelic.app_name est défini dans le dictionnaire d'environnement de l'application WSGI par demande.

name

chaîne

Facultatif, rarement utilisé. Définit un nom de transaction pour toutes requests capturées via le point d'entrée WSGI . Généralement non utilisé, car vous ne voudriez généralement pas que toutes les transactions aient le même nom (voir également le problème de regroupement métrique).

group

chaîne

Facultatif, rarement utilisé. Le group représente la structure de nommage pour le paramètre name . Ce paramètre crée une sous-catégorie de type de transaction. Similaire à name, cela doit être rarement utilisé car vous ne souhaitez généralement pas que l'ensemble de l'application soit signalé comme un seul nom ou une seule catégorie de transaction.

framework

uplet

Facultatif. Un uplet avec deux chaînes représentant le nom du framework et le numéro de version. Par exemple: ('Flask', '0.12.2')

Paramètres de l'enveloppe

newrelic.agent.WSGIApplicationWrapper(wrapped, application=None, name=None, group=None, framework=None)

Ceci prend tous les paramètres requis par wsgi_application en plus d'un paramètre wrapped :

paramètres

Description

wrapped

objet

Requis. L'objet WSGI à envelopper.

Paramètre de wrapper basé sur le chemin

newrelic.agent.wrap_wsgi_application(module, object_path, application=None, name=None, group=None, framework=None)

En plus du paramètre requis par wsgi_application, cet appel nécessite des paramètres supplémentaires module et object_path :

paramètres

Description

module

objet ou chaîne

Requis. Le module contenant l'objet WSGI.

object_path

chaîne

Requis. Représente la méthode de classe ou la méthode permettant de rechercher l'objet WSGI dans un fichier.

Exemples

Exemple de wsgi_application

Un exemple de décorateur appelé sans le paramètre facultatif application :

@newrelic.agent.wsgi_application()
def application(environ, start_response):
status = '200 OK'
output = 'Hello World!'
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]

Exemple de WSGIApplicationWrapper

Un exemple d'utilisation du WSGIApplicationWrapper, qui peut être nécessaire si le décorateur wsgi_application ne fonctionne pas :

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
application = newrelic.agent.WSGIApplicationWrapper(application)

Exemple de wrap_wsgi_application

Un exemple d'utilisation du wrapper basé sur le chemin :

import newrelic.agent
newrelic.agent.initialize('newrelic.ini')
class Application(object):
def application(self, environ, start_response):
status = '200 OK'
response_headers = [('Content-type', 'text/plain')]
start_response(status, response_headers)
return [b'Hello World']
newrelic.agent.wrap_wsgi_application(__name__, 'Application.application')
Droits d'auteur © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.