• /
  • EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

wsgi_application (API del agente Python)

Sintaxis

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

Monitor la transacción web marcando el punto de entrada de la aplicación WSGI.

Descripción

wsgi_application es un decorador de Python utilizado para monitor transacciones web instrumentado el punto de entrada de la aplicación WSGI. El agente Python admite automáticamente la mayoría de los marcos y servidores que utilizan WSGI. Si su framework o servidor web no es compatible, es posible que necesite utilizar esta API como parte del proceso de integración avanzado.

Si no puede utilizar el decorador wsgi_application , puede utilizar uno de estos otros formatos de llamada:

  • The wrapper:

    La llamada contenedora es WSGIApplicationWrapper. Puede utilizar el contenedor en más de un lugar para distintos componentes de la aplicación WSGI que pueden apilarse. En ese caso, el primer contenedor encontrado marca el inicio de la transacción y el agente determina la aplicación de destino en función de ese primer contenedor (e ignora los siguientes).

  • The path-based wrapper:

    La llamada contenedora basada en ruta es wrap_wsgi_application. Úselo si no puede hacer referencia al objeto WSGI como una variable en el alcance de la instrumentación. Esto toma el mismo parámetro que el decorador con parámetros module y object_path adicionales.

Para obtener una explicación de los motivos para utilizar el decorador frente a los contenedores, consulte Diferentes formatos de llamada.

Parámetros

Parámetro decorador

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

El decorador wsgi_application utiliza estos parámetros:

Parámetro

Descripción

application

cadena u objeto de aplicación

Opcional. El nombre de la aplicación para asociar con estos datos. El valor predeterminado es None. Si se deja sin valor, el agente usa el nombre de la aplicación especificado en la configuración del agente.

Si se proporciona una cadena, debe ser el nombre exacto de la aplicación y no puede ser una lista de nombres de aplicaciones. Para obtener más información sobre cómo generar un objeto de aplicación, consulte el método application .

La aplicación, incluso si se especifica, aún se puede anular si newrelic.app_name está definido dentro del diccionario de entorno de solicitud por aplicación WSGI.

name

cadena

Opcional, raramente usado. Establece un nombre de transacción para todas las solicitudes capturadas a través del punto de entrada WSGI. Generalmente no se usa, porque normalmente no se desea que todas las transacciones tengan el mismo nombre (consulte también el tema de agrupación métrica).

group

cadena

Opcional, raramente usado. El group representa la estructura de nombres para el parámetro name . Configurar esto crea una subcategoría de tipo de transacción. Al igual que name, esto rara vez se debe utilizar porque normalmente no desea que toda la aplicación se informe como un nombre o categoría de transacción.

framework

tupla

Opcional. Una tupla con dos cadenas que representan el nombre del framework y el número de versión. Por ejemplo: ('Flask', '0.12.2')

Parámetro de envoltura

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

Esto toma todos los parámetros requeridos por wsgi_application además de un parámetro wrapped :

Parámetro

Descripción

wrapped

objeto

Requerido. El objeto WSGI que se va a empaquetar.

Parámetro contenedor basado en ruta

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

Además del parámetro requerido por wsgi_application, esta llamada requiere parámetros module y object_path adicionales:

Parámetro

Descripción

module

objeto o cadena

Requerido. El módulo que contiene el objeto WSGI.

object_path

cadena

Requerido. Representa el método de clase o el método para buscar el objeto WSGI dentro de un archivo.

Ejemplos

ejemplo wsgi_application

Un ejemplo de llamada del decorador sin el parámetro opcional 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]

Ejemplo de WSGIApplicationWrapper

Un ejemplo del uso de WSGIApplicationWrapper, que puede ser necesario si el decorador wsgi_application no funciona:

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)

ejemplo de wrap_wsgi_application

Un ejemplo de uso del contenedor basado en ruta:

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')
Copyright © 2024 New Relic Inc.

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