Usar la depuración

Esta página se aplica a Apigee y Apigee Hybrid.

Consulta la documentación de Apigee Edge.

En esta sección se describe cómo crear y gestionar sesiones de depuración, así como ver los datos de solicitud y respuesta mediante la interfaz de usuario y la API de Apigee.

Usa Depuración sin conexión para ver y analizar las sesiones de depuración que se hayan descargado anteriormente.

Crear una sesión de depuración

La herramienta Depuración es fácil de usar. Inicias una sesión de depuración, haces una llamada a la API de Apigee y, a continuación, ves los datos de solicitud y respuesta en la interfaz de usuario.

Crea una sesión de depuración con la interfaz de usuario o la API de Apigee, tal como se describe en las siguientes secciones.

Consola de Apigee Cloud

Depuración v2 (novedad)

Para crear una sesión de depuración, sigue estos pasos:

  1. En la Google Cloud consola, vaya a la página Desarrollo de proxy > Proxies de API.

    Ir a Proxies de API

  2. Selecciona el proxy de API que quieras depurar. Se muestra el panel Información general del editor de proxies.
  3. Haz clic en la pestaña Depuración.
  4. Haz clic en Iniciar sesión de depuración. Se muestra el panel Iniciar sesión de depuración.
  5. En el panel Iniciar sesión de depuración, haz lo siguiente:

    1. Selecciona el entorno en el que quieras ejecutar la sesión de depuración.
    2. (Opcional) En la lista desplegable Filtro, seleccione un filtro para aplicarlo a todas las transacciones de la sesión de depuración que esté creando. El valor predeterminado es None (All transactions), que incluye todas las transacciones de los datos de depuración.

      Para obtener información sobre cómo usar filtros, consulta Usar filtros en una sesión de depuración. Para obtener información sobre los filtros integrados, consulta Usar filtros predefinidos.

    3. Haz clic en Empezar.

La interfaz de usuario de Apigee ahora muestra el panel Sesión de depuración en curso.

Haz clic para ver una imagen más grande nueva sesión de depuración

La sesión de depuración registra solicitudes durante 10 minutos o hasta que se hayan capturado 15 solicitudes. Puedes ajustar el límite de 10 minutos si creas la sesión de depuración con la API. El campo Finaliza en muestra el tiempo que queda de la sesión.

No verás ninguna información en el panel Depuración hasta que envíes una solicitud al proxy que estés depurando en el entorno seleccionado para la sesión de depuración.

Después de enviar la solicitud, se mostrará en el panel de lista Transacciones. La lista Transacciones se actualiza cada cinco segundos.

Haz clic para ver una imagen más grande solicitud en la lista de transacciones

Depurar v1

Para crear una sesión de depuración en el nuevo editor de proxies, sigue estos pasos:

  1. Inicia sesión en la consolaGoogle Cloud .
  2. Seleccione Desarrollo de proxies > Proxies de API.

  3. Selecciona el proxy de API que quieras depurar. Se muestra la vista Descripción general del editor de proxy.

  4. En la parte superior izquierda de la ventana, haz clic en la pestaña Depuración.
  5. En la parte superior derecha del panel Depuración, haz clic en Iniciar sesión de depuración. Se muestra el cuadro de diálogo Iniciar sesión de depuración.

    Cuadro de diálogo para iniciar una sesión de depuración.

    En el cuadro de diálogo, haga lo siguiente:

    1. Selecciona el entorno en el que quieras ejecutar la sesión de depuración.
    2. (Opcional) En la lista desplegable Filtro, seleccione un filtro para aplicarlo a todas las transacciones de la sesión de depuración que esté creando. El valor predeterminado es None (All transactions), que incluye todas las transacciones en los datos de depuración.

      Para obtener información sobre cómo usar filtros, consulta Usar filtros en una sesión de depuración. Para obtener información sobre los filtros integrados, consulta Usar filtros predefinidos.

    3. Haz clic en Empezar.

La interfaz de usuario de Apigee ahora muestra la vista Sesión de depuración en curso.

Sesión de depuración en curso

La sesión de depuración registra solicitudes durante 10 minutos o hasta que se hayan capturado 15 solicitudes. Puedes ajustar el límite de 10 minutos si creas la sesión de depuración con la API. El campo Finaliza en muestra el tiempo que queda de la sesión.

No verás ninguna información en el panel Depuración hasta que envíes una solicitud al proxy que estés depurando en el entorno seleccionado. entorno de la sesión de depuración.

Una vez que hayas enviado la solicitud, se mostrará en la parte inferior del panel de la izquierda.

Cuadro de diálogo para iniciar una sesión de depuración.

Nota: Durante una sesión de depuración activa, puedes iniciar otra sesión en la interfaz de usuario de Apigee. Para hacerlo, vuelve a hacer clic en Iniciar sesión de depuración.

Interfaz clásica

Para crear una sesión de depuración en el editor de proxy clásico, sigue estos pasos:

  1. Inicia sesión en la interfaz de usuario de Apigee.
  2. Selecciona Proxies de API en la vista principal.
  3. Selecciona el proxy de API que quieras depurar.

    Se muestra la pestaña Vista general.

  4. En la parte superior derecha de la página, haz clic en la pestaña Depuración:

    Pestañas

    En la vista Depuración se muestra lo siguiente:

    Vista de depuración con los paneles Iniciar una sesión de depuración, Sesiones de depuración recientes y Enviar solicitudes

  5. En el panel Iniciar una sesión de depuración:
    1. En la lista desplegable Env, selecciona el entorno y el número de revisión del proxy de API que quieras depurar.
    2. En el siguiente ejemplo se muestra el panel Iniciar una sesión de depuración:

      Iniciar un panel de sesión de depuración

    3. (Opcional) En la lista desplegable Filtro, seleccione un filtro para aplicarlo a todas las transacciones de la sesión de depuración que esté creando. El valor predeterminado es None, que incluye todas las transacciones de los datos de depuración.

      Para obtener información sobre cómo usar filtros, consulta Usar filtros en una sesión de depuración. Para obtener información sobre los filtros integrados, consulta Usar filtros predefinidos.

    4. Haz clic en Iniciar sesión de depuración.

      La interfaz de usuario de Apigee ahora muestra detalles sobre la sesión de depuración actual, incluido su ID, en el panel Detalles de depuración.

      Aunque la interfaz de usuario haya creado la sesión de depuración, debes enviar la solicitud para que se recojan datos.

      En el panel Detalles de depuración, puedes hacer lo siguiente:

      Icono Función Descripción
      Icono de descarga Descargar Descarga los datos de depuración de la sesión activa, que puedes ver sin conexión.
      Icono de devolución Devolver Vuelve al panel anterior, donde puedes iniciar otra sesión de depuración. La sesión de depuración actual continúa hasta que se agota el tiempo de espera o se alcanza el número de transacciones.
      Icono de eliminar Eliminar Elimina los datos de la sesión de depuración seleccionada. De este modo, se eliminarán los datos de la sesión, pero no se detendrán las sesiones.

      Hay un límite de tiempo de espera predeterminado de 10 minutos para una sesión de depuración que inicies en la interfaz de usuario (es diferente para una sesión iniciada con la API).

      El reloj empieza a funcionar en cuanto haces clic en Iniciar sesión de depuración, por lo que puedes esperar hasta el siguiente paso antes de hacer clic en Iniciar sesión de depuración para maximizar la cantidad de datos que recoges.

  6. En el panel Enviar solicitudes:
    1. En el campo URL, introduce el endpoint al que quieras enviar una solicitud. Si quieres, añade parámetros de cadena de consulta a la URL. No puedes enviar solicitudes que no sean de GET.
      Cómo encontrar la URL del endpoint
      1. Vaya a Administrar > Entornos > Grupos.
      2. La URL es el nombre de host del entorno en el que quieras ejecutar la sesión de depuración.
    2. El panel Enviar solicitudes solo muestra los datos de las solicitudes basadas en la interfaz de usuario. Sin embargo, ten en cuenta que la depuración también registra datos de solicitudes que no se iniciaron en la interfaz de usuario.

    3. Haz clic en Enviar.

      Apigee envía una solicitud a la URL especificada. Cada vez que haces clic en Enviar, la interfaz de usuario de Apigee registra la solicitud en el panel Detalles de depuración.

      En el siguiente ejemplo se muestran varias solicitudes correctas (que dan como resultado un código de estado HTTP 200):

      Solicitudes de depuración capturadas

      Haz clic en Copiar para copiar el ID de depuración y usarlo en el futuro.

      Además, la interfaz de usuario muestra datos de depuración en las secciones Mapa de transacciones y Detalles de fase del panel Enviar solicitudes, y rellena las secciones Endpoint de proxy, Encabezados de solicitud, Contenido de solicitud y Propiedades, como se muestra en el siguiente ejemplo:

      Solicitudes de depuración capturadas

      Para obtener más información sobre las fases, el mapa de transacciones y otras secciones de la vista Enviar solicitudes, consulta Cómo leer una depuración.

    La sesión de depuración ya está activa y registra datos sobre todas las solicitudes (a menos que se filtren). La sesión permanecerá activa hasta que se alcance el tiempo de espera o se supere el número de solicitudes registradas en la sesión.

  7. Puedes crear tantas sesiones de depuración como quieras en la interfaz de usuario. Para obtener más información, consulta Iniciar otra sesión de depuración.

API

Para crear una sesión de depuración con la API, envía una solicitud POST al siguiente recurso:

https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/apis/$API/revisions/$REV/debugsessions

También puedes:

En el siguiente ejemplo se muestra cómo crear una sesión de depuración mediante la API.

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions" \
      -X POST \
      -H "Authorization: Bearer $TOKEN"
    

Donde $TOKEN es tu token de acceso OAuth 2.0, tal como se describe en Obtener un token de acceso OAuth 2.0. Para obtener información sobre las opciones de curl que se usan en este ejemplo, consulta Usar curl. Para ver una descripción de las variables de entorno que puedes usar, consulta Definir variables de entorno para solicitudes a la API de Apigee.

A continuación, se muestra un ejemplo de la respuesta:

{
      "name":"56382416-c4ed-4242-6381-591bbf2788cf",
      "validity":300,
      "count":10,
      "tracesize":5120,
      "timeout":"600"
    }

Las solicitudes posteriores a tu proxy de API (hasta que se alcance la duración de la sesión o el número máximo de solicitudes) se evaluarán y se podrán almacenar en los datos de la sesión de depuración.

Para obtener más información, consulta la API Create debug session (Crear sesión de depuración).

Definir la duración de una sesión de depuración mediante la API

Para definir la duración de una sesión de depuración mediante la API, incluye lo siguiente como carga útil en tu solicitud de creación de sesión de depuración:

{
      "timeout":"debug_session_length_in_seconds"
    }

En el siguiente ejemplo se crea una sesión de depuración de solo 42 segundos:

curl https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions"
      -X "POST" \
      -H "Authorization: Bearer $TOKEN" \
      -d ' {
        "timeout":"42"
      } '

Solo puedes definir el timeout de una sesión en las solicitudes de creación de sesiones de depuración. No puedes cambiar la duración de una sesión después de crearla.

El valor predeterminado de timeout es 300 (5 minutos). El valor máximo es de 600 segundos (10 minutos).

Copiar la URL del proxy

La URL del proxy se usa para enviar solicitudes a tu proxy de API.

Consola de Apigee Cloud

Depuración v2 (novedad)

Para encontrar y copiar la URL de proxy, sigue estos pasos:

  1. En el panel Sesión de depuración, en el campo URL, haz clic en Copiar.
  2. Si no hay ninguna sesión de depuración abierta:
    1. En la Google Cloud consola, ve a la página Gestión > Entornos > Grupos de entornos.

      Ir a Grupos de entornos

    2. La URL es el nombre de host del entorno en el que quieras ejecutar la sesión de depuración. Selecciónalo y cópialo.

Para seleccionar otra URL de proxy, sigue estos pasos:

  1. En el panel Sesión de depuración, en el campo URL, haz clic en Editar.
  2. Haz los cambios que quieras y, a continuación, haz clic en Actualizar.
  3. Si no hay ninguna sesión de depuración abierta:
    1. Busca la URL de proxy.
    2. Haz clic en Más y, a continuación, en Editar.
    3. Haz los cambios que quieras y, a continuación, haz clic en Actualizar.

Depurar v1

Para encontrar y copiar la URL de proxy, sigue estos pasos:

  1. En la Google Cloud consola, ve a Gestión > Entornos > Grupos de entornos.
  2. La URL es el nombre de host del entorno en el que quieras ejecutar la sesión de depuración. Selecciónalo y cópialo.

Para editar la URL de proxy, sigue estos pasos:

  1. Busca la URL de proxy.
  2. Haz clic en Más y, a continuación, en Editar.
  3. Haz los cambios que quieras y, a continuación, haz clic en Actualizar.

Interfaz clásica

Para encontrar y copiar la URL de endpoint, sigue estos pasos:

  1. En la interfaz de usuario de Apigee, ve a Administrar > Entornos > Grupos. Se te redirigirá a la consola Google Cloud , a la página Gestión > Entornos > Grupos de entornos.
  2. La URL es el nombre de host del entorno en el que quieras ejecutar la sesión de depuración. Selecciónalo y cópialo.

Para editar la URL de destino, sigue estos pasos:

  1. Busca la URL del endpoint.
  2. Haz clic en Más y, a continuación, en Editar.
  3. Haz los cambios que quieras y, a continuación, haz clic en Actualizar.

Iniciar otra sesión de depuración en la interfaz de usuario

Puedes crear tantas sesiones de depuración como quieras en la interfaz de usuario.

Consola de Apigee Cloud

Durante una sesión de depuración activa, puedes iniciar otra sesión en la interfaz de usuario de Apigee. Para ello, haz clic en Cerrar en el panel Sesión de depuración:

Haz clic para ver la imagen más grande Cerrar y volver al panel Iniciar una sesión de depuración

La interfaz de usuario vuelve al panel Iniciar una sesión de depuración, donde puede iniciar una nueva sesión de depuración.

Interfaz clásica

Durante una sesión de depuración activa, puedes iniciar otra sesión en la interfaz de usuario de Apigee. Para ello, haz clic en el icono de flecha hacia atrás () del panel Detalles de depuración:

Flecha hacia atrás que te lleva al panel Iniciar una sesión de depuración

La interfaz de usuario vuelve al panel Iniciar una sesión de depuración, donde puede iniciar una nueva sesión de depuración.

¿Cuándo finaliza una sesión de depuración?

No puedes detener una sesión de depuración activa. Sin embargo, puedes eliminar los datos de una sesión activa, tal como se describe en la sección Eliminar datos de una sesión de depuración.

Cuando creas una sesión de depuración, hay dos propiedades que determinan cuándo finaliza:

  • Tiempo de espera: el periodo durante el que recoge datos en una sesión. La duración predeterminada depende de cómo hayas iniciado la sesión (a través de la interfaz de usuario o de la API). El valor máximo es de 600 segundos (10 minutos).
  • count: número máximo de solicitudes que se registran en una sola sesión por procesador de mensajes. Dado que el número de procesadores de mensajes de la mayoría de los clústeres es variable, los efectos del recuento pueden ser impredecibles. Apigee no recomienda personalizar este ajuste.

Cuando se alcanza el tiempo de espera o el recuento, la sesión de depuración de ese procesador de mensajes finaliza.

Para describir el estado de una sesión de depuración, se utilizan los siguientes términos:

  • Una sesión activa es una sesión de depuración que aún no ha alcanzado el tiempo de espera o no ha superado el recuento. Una sesión activa sigue registrando datos de solicitudes que no se han filtrado.
  • Una sesión completada es una sesión de depuración que ha alcanzado el tiempo de espera o ha superado el recuento. En una sesión completada, ya no se registran datos sobre nuevas solicitudes y sus datos se eliminan en un plazo de 24 horas desde el momento en que finalizó la sesión.

Cómo leer una sesión de depuración

En esta sección se ofrece una descripción general de una sesión de depuración.

Consulta también:

Consola de Apigee Cloud

Depuración v2 (novedad)

La herramienta de depuración tiene dos partes principales: el panel de transacciones y los detalles de la fase:

  • El panel de transacciones usa iconos para marcar cada paso importante que se produce durante una transacción de proxy de API, como la ejecución de políticas, los pasos condicionales y las transiciones. Coloque el cursor sobre cualquier icono para ver un resumen de la información. Los pasos del flujo de solicitud aparecen en la parte superior del mapa de transacciones y los pasos del flujo de respuesta, en la parte inferior.
  • El panel Detalles de la fase muestra información sobre el procesamiento interno del proxy, como las variables que se han definido o leído, los encabezados de solicitud y respuesta, y mucho más. Haz clic en cualquier icono para ver los detalles de la fase de ese paso.

Depurar v1

Esta versión de la herramienta de depuración utiliza un gráfico de Gantt para mostrar los pasos de la solicitud y la respuesta.

Interfaz clásica

La herramienta de depuración tiene dos partes principales: el mapa de transacciones y los detalles de la fase.

  • El mapa de transacciones usa iconos para marcar cada paso importante que se produce durante una transacción de proxy de API, como la ejecución de políticas, los pasos condicionales y las transiciones. Coloca el cursor sobre cualquier icono para ver un resumen de la información. Los pasos del flujo de solicitud aparecen en la parte superior del mapa de transacciones y los pasos del flujo de respuesta, en la parte inferior.
  • En la sección Detalles de la fase de la herramienta se muestra información sobre el procesamiento interno del proxy, incluidas las variables que se han definido o leído, los encabezados de solicitud y respuesta, y mucho más. Haz clic en cualquier icono para ver los detalles de la fase de ese paso.

Panel de transacciones

El panel de transacciones muestra los pasos de la solicitud y la respuesta.

Consola de Apigee Cloud

Depuración v2 (novedad)

A continuación, se muestra un ejemplo del panel de transacciones de la herramienta de depuración con los segmentos de procesamiento del proxy principal etiquetados:

Haz clic para ver la imagen más grande Diagrama de depuración que muestra el flujo de Begin proxy request a Begin target request a Begin target
              response a Begin proxy response a Begin proxy post client

Depurar v1

Para ver los detalles de una transacción (solicitud y respuesta) en la vista Depuración, haga clic en la fila de la transacción para que se muestre un gráfico de Gantt en el panel de la derecha, donde se muestran los pasos de la solicitud y la respuesta.

Diagrama de Gantt de los pasos de la transacción en el panel de la derecha.

El eje horizontal del diagrama indica las horas a las que se ha producido cada paso, medidas en milisegundos. Cada paso se representa con un rectángulo que va desde la hora de inicio hasta la hora de finalización del paso.

Puedes avanzar por una sesión de depuración con los botones Atrás y Siguiente de la parte inferior derecha del panel de depuración. Haz clic en:

  • Atrás para mover la fila seleccionada al paso anterior del gráfico.
  • Siguiente para mover la fila seleccionada al siguiente paso del gráfico.

En el ejemplo anterior, el gráfico muestra dos políticas que se ejecutan en la respuesta:

  • ResponsePayload
  • Añadir CORS

Puedes hacer clic en cualquiera de estos pasos para ver los detalles. Por ejemplo, si hace clic en la política Añadir CORS, verá detalles como los que se muestran a continuación junto al gráfico de Gantt.

Añade los detalles de la política de CORS.

Si decide cambiar algo en la configuración de la política, puede hacer clic en Desarrollar para cambiar a la vista Desarrollar, donde verá las mismas dos políticas en Response PostFlow.

Ver la pestaña Desarrollo en relación con una sesión de depuración.

Interfaz clásica

A continuación, se muestra un mapa de la herramienta de depuración de ejemplo con los segmentos principales de procesamiento del proxy etiquetados:

Mapa de transacciones de la herramienta de depuración

Diagrama de depuración que muestra el flujo de Begin proxy request a Begin target request a Begin target
            response a Begin proxy response a Begin proxy post client

Leyenda del panel de transacciones

A continuación, se describen los iconos del panel de transacciones:

Consola de Apigee Cloud

Depuración v2 (novedad)

En esta sección se describen los iconos del panel de transacciones:

Iconos de políticas

Cada tipo de política tiene un icono único. Estos iconos te permiten ver dónde se ejecutan las políticas en el orden adecuado y si se aplican correctamente o no. Puede hacer clic en un icono de política para ver los resultados de su ejecución y si son los esperados o no. Por ejemplo, puedes ver si el mensaje se ha transformado correctamente o si se está almacenando en caché.

Las políticas estándar aumentan el valor de tus APIs para controlar el tráfico, mejorar el rendimiento, aplicar estándares de seguridad y aumentar la utilidad de tus APIs sin que tengas que escribir código ni modificar los servicios de backend.

Las políticas extensibles te permiten añadir lógica personalizada a tus proxies de API. Puedes usar estas políticas para añadir funciones que no se proporcionen con las políticas estándar.

Consulta la descripción general de las referencias de las políticas para obtener más información sobre las políticas y las categorías.

Para filtrar la tabla, sigue estos pasos:

  • Selecciona un tipo de política o una categoría de política.
  • Haz clic en el encabezado de la columna Nombre para ordenar la tabla por nombre de política.
  • Escribe una palabra clave para buscar un nombre de política.

Tipo de política

Categoría de política

Icono Nombre Tipo Categoría
manage_search Política de ParseDialogflowRequest Extensible Flujo de diálogo
chat_add_on Política de SetDialogflowResponse Extensible Flujo de diálogo
stacked_line_chart Política de DataCapture Extensible Extensión
display_external_input Política de ExternalCallout Estándar Extensión
hoja de flujo Política de FlowCallout Extensible Extensión
automatización Política IntegrationCallout Extensible Extensión
Icono de política JavaCallout Política JavaCallout Extensible Extensión
Icono de política de JavaScript Política de JavaScript Extensible Extensión
add_notes Política MessageLogging Extensible Extensión
chat_paste_go Política de PublishMessage Estándar Extensión
Icono de política de PythonScript Política de PythonScript Extensible Extensión
integration_instructions Política ServiceCallout Extensible Extensión
automatización Política de SetIntegrationRequest Extensible Extensión
waterfall_chart Política de TraceCapture Extensible Extensión
cloud_done Política de AccessEntity Extensible Mediación
account_tree Política de AsseretCondition Estándar Mediación
edit_square Política AssignMessage Extensible Mediación
login Política ExtractVariables Extensible Mediación
Icono de política de GraphQL Política de GraphQL Estándar Mediación
sync_alt Política HTTPModifier Estándar Mediación
sync_alt Política JSONtoXML Estándar Mediación
account_tree Política de KeyValueMapOperations Extensible Mediación
sync_alt Política MonetizationLimitsCheck Extensible Mediación
cloud_done Política OASValidation Estándar Mediación
report Política RaiseFault Estándar Mediación
sync_alt Política ReadPropertySet Estándar Mediación
cloud_done Política SOAPMessageValidation Estándar Mediación
sync_alt Política de XMLtoJSON Estándar Mediación
cloud_done Política XSLTransform Extensible Mediación
bloquear Política AccessControl Estándar Seguridad
seguridad Política BasicAuthentication Extensible Seguridad
connect_without_contact Política de CORS Estándar Seguridad
bloquear Política DecodeJWS Extensible Seguridad
bloquear Política DecodeJWT Estándar Seguridad
llave de acceso Política DeleteOAuthV2Info Extensible Seguridad
bloquear Política GenerateSamlAssertion Extensible Seguridad
bloquear Política de GenerateJWS Extensible Seguridad
bloquear Política GenerateJWT Extensible Seguridad
llave de acceso Política de GetOAuthV2Info Extensible Seguridad
bloquear Política de HMAC Estándar Seguridad
seguridad Política JSONThreatProtection Extensible Seguridad
llave de acceso Política de OAuthV2 Extensible Seguridad
seguridad Política RegularExpressionProtection Extensible Seguridad
llave de acceso Política RevokeOAuthV2 Extensible Seguridad
llave de acceso Política SetOAuthV2Info Extensible Seguridad
bloquear Política ValidateSamlAssertion Extensible Seguridad
clave Política VerifyAPIKey Extensible Seguridad
llave de acceso VerifyIAMPolicy Extensible Seguridad
bloquear Política de VerifyJWS Extensible Seguridad
bloquear Política VerifyJWT Estándar Seguridad
seguridad Política XMLThreatProtection Extensible Seguridad
en caché Política InvalidateCache Extensible Gestión del tráfico
en caché Política de LookupCache Extensible Gestión del tráfico
en caché Política PopulateCache Extensible Gestión del tráfico
bar_chart_4_bars Política de cuotas Extensible Gestión del tráfico
repartition Política ResetQuota Extensible Gestión del tráfico
en caché Política de ResponseCache Extensible Gestión del tráfico
emergency_home Política SpikeArrest Estándar Gestión del tráfico

Otros iconos

En la siguiente tabla se describe la finalidad de los demás iconos que verás en el panel de transacciones. Estos iconos marcan cada uno de los pasos de procesamiento importantes del flujo de proxy.

Para filtrar la tabla, sigue estos pasos:

  • Selecciona un tipo de icono.
  • Haz clic en el encabezado de la columna Nombre para ordenar la tabla por nombre de icono.
  • Escribe una palabra clave para buscar el nombre de un icono.

Tipo de icono

Icono Nombre Tipo Descripción
monitor Aplicación cliente Transacción estándar La aplicación cliente que envía una solicitud al ProxyEndpoint del proxy de API.
círculo Punto de conexión de transición Transacción estándar El círculo marca los endpoints de transición en el flujo del proxy. Están ahí cuando el cliente envía una solicitud, cuando la solicitud se envía al destino, cuando el destino envía una respuesta y cuando la respuesta se envía al cliente.
stat_0 Segmento de flujo Transacción estándar

El rombo indica el inicio de un segmento de flujo en el flujo del proxy de API. Los segmentos de flujo son: solicitud ProxyEndpoint, solicitud TargetEndpoint, respuesta TargetEndpoint y respuesta ProxyEndpoint. Un segmento incluye PreFlow, Conditional Flows y PostFlow.

Consulta Flujos condicionales para obtener más información.

icono de condición verdadera Flujo condicional verdadero Transacción estándar

Un flujo condicional que se evalúa como verdadero (como una instrucción if que se evalúa como true). Para obtener una introducción a los flujos condicionales, consulta Flujos condicionales.

Ten en cuenta que algunas condiciones las genera Apigee. Por ejemplo, la siguiente es una expresión que usa Apigee para comprobar si se ha producido un error en ProxyEndpoint:

((error.state equals PROXY_REQ_FLOW) or (error.state equals PROXY_RESP_FLOW))

icono de condición falsa Flujo condicional falso Transacción estándar

Un flujo condicional que se evalúa como falso. Para ver una introducción a los flujos condicionales, consulta Flujos condicionales.

Ten en cuenta que algunas condiciones las genera Apigee. Por ejemplo, la siguiente es una expresión que usa Apigee para comprobar si se ha producido un error en TargetEndpoint:

(((error.state equals TARGET_REQ_FLOW) or (error.state equals TARGET_RESP_FLOW)) or ((error.state equals REQ_SENT) or (error.state equals RESP_START)))

icono de información de flujo Información del flujo Transacción estándar Representa información contextual sobre la ejecución del proxy de API, que varía en función del punto del flujo. Esto incluye detalles sobre la configuración del proxy, el estado de ejecución actual (por ejemplo, PreFlow, PostFlow, enlaces de flujo), detalles de la ejecución de la política y variables rellenadas durante la ejecución de la política para indicar el estado específico del proxy en ese momento.
done_all Ejecución del flujo Transacción estándar Marca el inicio o el final de la ejecución de un flujo, lo que indica el periodo de un segmento de flujo distinto. Se usa para delimitar visualmente los límites del flujo e indicar la secuencia de ejecución del flujo.
commit Procesamiento de flujo Transacción estándar Indica el procesamiento activo en un flujo, que representa el periodo durante el cual se ejecutan las políticas y la lógica del flujo.
bar_chart Datos registrados de analíticas de Apigee Transacción estándar Indica que se han producido acciones de Analytics en segundo plano.
location_on Servicio de backend Transacción estándar Servicio de backend que recibe la solicitud. El destino de backend al que llama el proxy de API.
icono inhabilitado Inhabilitado Estado del paso Aparece en el icono de una política cuando esta está inhabilitada. Una política se puede inhabilitar con la API pública. Consulta la referencia de configuración de proxies de APIs.
Icono de error Error Estado del paso Aparece en el icono de una política cuando la condición del paso de la política se evalúa como falsa (consulta Condiciones con variables de flujo) o en el icono de la política RaiseFault cada vez que se ejecuta una política RaiseFault.
icono de saltado Omitido Estado del paso Aparece en un icono de política cuando la política no se ha ejecutado porque la condición del paso se ha evaluado como falsa. Consulta más información en el artículo sobre condiciones con variables de flujo.

Depurar v1

Esta versión utiliza un gráfico de Gantt para mostrar los pasos de la solicitud y la respuesta. No se proporciona ninguna leyenda.

Interfaz clásica

En la siguiente tabla se describe la finalidad de los iconos que verás en el mapa de transacciones. Estos iconos marcan cada uno de los pasos de procesamiento importantes a lo largo del flujo de proxy.

Iconos del mapa de transacciones

Icono de la aplicación cliente La aplicación cliente que envía una solicitud al ProxyEndpoint del proxy de API.
icono de endpoint de transición Los círculos marcan los endpoints de transición en el flujo del proxy. Están ahí cuando el cliente envía una solicitud, cuando la solicitud se envía al destino, cuando el destino devuelve la respuesta y cuando la respuesta se envía de vuelta al cliente.
Icono de segmento de flujo

Las barras altas indican el inicio de un segmento de flujo en el flujo del proxy de API. Los segmentos de flujo son los siguientes: solicitud de ProxyEndpoint, solicitud de TargetEndpoint, respuesta de TargetEndpoint y respuesta de ProxyEndpoint. Un segmento incluye PreFlow, Conditional Flows y PostFlow.

Para obtener más información, consulta el artículo sobre cómo configurar flujos.

Icono de analíticas

Indica que se han producido acciones de Analytics en segundo plano.

icono de condición real

Un flujo condicional que se evalúa como verdadero. Para obtener una introducción a los flujos condicionales, consulta Configurar flujos.

Ten en cuenta que algunas condiciones las genera Apigee. Por ejemplo, a continuación se muestra una expresión que usa Apigee para comprobar si se ha producido un error en ProxyEndpoint:

((error.state equals PROXY_REQ_FLOW) or (error.state equals PROXY_RESP_FLOW))
icono de condición falsa

Un flujo condicional que se evalúa como falso. Para obtener una introducción a los flujos condicionales, consulta Configurar flujos.

Ten en cuenta que algunas condiciones las genera Apigee. Por ejemplo, la siguiente es una expresión que usa Apigee para comprobar si se ha producido un error en TargetEndpoint:

(((error.state equals TARGET_REQ_FLOW) or (error.state equals TARGET_RESP_FLOW)) or ((error.state equals REQ_SENT) or (error.state equals RESP_START)))

Icono de XML a JSON

Icono de cuota

Políticas. Cada tipo de política tiene un icono único. Esta es la política AssignMessage. Estos iconos te permiten ver dónde se ejecutan las políticas en el orden correcto y si se han aplicado correctamente o no. Puede hacer clic en un icono de política para ver los resultados de su ejecución y si son los esperados o no. Por ejemplo, puedes ver si el mensaje se ha transformado correctamente o si se está almacenando en caché.

Las políticas que se ejecutan correctamente se indican claramente con marcas de verificación. Si se produce un error, se muestra un signo de exclamación rojo en el icono.

Icono de servidor El destino de backend al que llama el proxy de API.
Icono de milisegundos La línea de tiempo indica cuánto tiempo (en milisegundos) ha tardado en completarse el tiempo de procesamiento. Comparar los segmentos de tiempo transcurrido te ayuda a aislar las políticas que tardan más en ejecutarse y que ralentizan las llamadas a la API.
icono de épsilon Épsilon indica un periodo de tiempo inferior a un milisegundo.
icono inhabilitado

Inhabilitada. Aparece en el icono de una política cuando esta está inhabilitada. Una política se puede inhabilitar con la API pública. Consulta la referencia de configuración de proxies de APIs.

Icono de error Error. Aparece en el icono de una política cuando la condición del paso de la política se evalúa como falsa (consulta Variables y condiciones de flujo) o en el icono de la política RaiseFault cada vez que se ejecuta una política RaiseFault.
icono de saltado Omitido. Aparece en un icono de política cuando la política no se ha ejecutado porque la condición del paso se ha evaluado como falsa. Consulta más información sobre las variables y condiciones de flujo.

Panel de detalles de la fase

El panel de detalles de la fase te informa sobre el estado de tu proxy en cada paso del procesamiento.

Consola de Apigee Cloud

Depuración v2 (novedad)

El panel de detalles de la fase te ofrece mucha información sobre el estado de tu proxy en cada paso del procesamiento. A continuación, se incluyen algunos de los detalles proporcionados. Haz clic en cualquier icono de la herramienta de depuración para ver los detalles del paso seleccionado o usa los botones > Siguiente o < Atrás para pasar de un paso a otro.

En la siguiente tabla se describen los detalles que se proporcionan en el panel de detalles de la fase.

Detalles de la fase Descripción
Variables

Lista las variables de flujo a las que una política ha leído y asignado un valor. Consulta también Usar variables de flujo.

Encabezados de solicitud Lista los encabezados de solicitud HTTP.
Solicitar contenido Muestra el cuerpo de la solicitud HTTP.
Propiedades Las propiedades representan el estado interno del proxy de API. No se muestran de forma predeterminada.
Endpoint de destino Indica qué TargetEndpoint se ha seleccionado para la ejecución.
Encabezados de respuesta Muestra los encabezados de respuesta HTTP.
Contenido de respuesta Muestra el cuerpo de la respuesta HTTP.

Depurar v1

Haga clic en los pasos del gráfico de Gantt para ver los detalles de la fase o avance por una sesión de depuración con los botones > Siguiente o < Atrás.

Interfaz clásica

La parte Detalles de la fase de la herramienta te indica mucha información sobre el estado de tu proxy en cada paso del procesamiento. A continuación, se indican algunos de los detalles que se proporcionan en la sección Detalles de la fase. Haz clic en cualquier icono de la herramienta de depuración para ver los detalles del paso seleccionado o usa los botones Siguiente/Atrás para pasar de un paso a otro.

Detalles de la fase Descripción
Endpoint de proxy Indica qué flujo de ProxyEndpoint se ha seleccionado para la ejecución. Un proxy de API puede tener varios endpoints de proxy con nombre.
Variables

Lista las variables de flujo que una política ha leído y a las que ha asignado un valor. Consulta también Usar variables de flujo.

Nota:

  • El signo igual (=) indica el valor que se ha asignado a la variable.
  • El signo igual tachado (≠) indica que no se ha podido asignar un valor a la variable porque es de solo lectura o porque se ha producido un error en la ejecución de la política.
  • Un campo vacío indica que se ha leído el valor de la variable.
Encabezados de solicitud Lista los encabezados de solicitud HTTP.
Solicitar contenido Muestra el cuerpo de la solicitud HTTP.
Propiedades Las propiedades representan el estado interno del proxy de API. No se muestran de forma predeterminada.
Endpoint de destino Indica qué TargetEndpoint se ha seleccionado para la ejecución.
Encabezados de respuesta Muestra los encabezados de respuesta HTTP.
Contenido de respuesta Muestra el cuerpo de la respuesta HTTP.
PostClientFlow Muestra información sobre PostClientFlow, que se ejecuta después de que la solicitud se devuelva a la aplicación cliente que la ha enviado. Solo se pueden adjuntar políticas MessageLogging a PostClientFlow. Actualmente, PostClientFlow se usa principalmente para medir el intervalo de tiempo entre las marcas de tiempo de inicio y finalización del mensaje de respuesta.

Cronología

La cronología indica cuánto tiempo (en milisegundos) ha tardado en completarse el tiempo de procesamiento. Comparar los segmentos de tiempo transcurrido te ayuda a aislar las políticas que tardan más en ejecutarse y que ralentizan las llamadas a la API.

Épsilon indica un periodo de tiempo inferior a un milisegundo.

Consola de Apigee Cloud

Depuración v2 (novedad)

Haz clic para ver la imagen más grande Cronología en la interfaz de usuario de Debug v2

Depurar v1

Haz clic para ver la imagen más grande Cronología en la interfaz de usuario de Debug v1

Interfaz clásica

Haz clic para ver la imagen más grande Cronología en la interfaz de usuario clásica

Mostrar y ocultar grupos

En esta sección se describe cómo expandir y contraer grupos en el panel Transacciones.

Consola de Apigee Cloud

Depuración v2 (novedad)

Los pasos de las transacciones, tanto de las solicitudes como de las respuestas, se agrupan según cómo se hayan configurado previamente en la pestaña Desarrollo, por flujo compartido. Por ejemplo, pre-proxy, post-proxy, pre-target y post-target.

En cada grupo se muestran claramente las políticas, las condiciones, los flujos compartidos y la información de los flujos pertinentes.

Los flujos compartidos se agrupan y se ocultan de forma predeterminada.

Estas son las acciones disponibles en el panel Transacción:

Elemento Nombre Descripción
Mostrar todo el control deslizante
<img <="" alt="collapse all slider" class="screenshot" src="/static/apigee/docs/api-platform/debug/images/collapse_all_slider.png" td="" width="" />
Mostrar todo
Ocultar todo
Mostrar u ocultar todos los grupos.
icono de desplegar grupo
icono de contraer grupo
Ampliar
Contraer
Desplegar u ocultar un grupo.

Consulta también:

Depurar v1

En esta versión no se pueden desplegar ni contraer grupos.

Interfaz clásica

En esta versión no se pueden desplegar ni contraer grupos.

La función de búsqueda te permite encontrar una palabra o frase en la solicitud o en la respuesta.

Consola de Apigee Cloud

Depuración v2 (novedad)

La función de búsqueda te permite encontrar una palabra o frase en la solicitud o en la respuesta.

Ten en cuenta lo siguiente:

  • En las búsquedas no se distingue entre mayúsculas y minúsculas
  • La búsqueda se aplica a una sola transacción, es decir, no busca en todas las transacciones de toda la sesión de depuración.
  • La búsqueda expande las secciones contraídas, pero no muestra información sobre los nodos que se han excluido mediante las selecciones de Opciones de vista.

Para hacer una búsqueda:

  1. Escribe texto en el cuadro de búsqueda.
  2. Pulsa Intro.

    Los resultados de búsqueda se resaltan en el panel Transacción y en el panel Detalles de la fase.

  3. Haz clic en keyboard_arrow_up Atrás o keyboard_arrow_down Siguiente para ir al paso anterior o siguiente.
Haz clic para ver la imagen más grande Resultados de búsqueda en la interfaz de usuario de Debug v2

Depurar v1

La búsqueda no está disponible en esta versión.

Interfaz clásica

La búsqueda no está disponible en esta versión.

Zoom

Zoom te permite controlar la vista del panel Transacciones.

Consola de Apigee Cloud

Depuración v2 (novedad)

El zoom controla la vista del panel de transacciones de la siguiente manera:

Haz clic para ver la imagen más grande Depurar los controles de zoom de la versión 2
Icono Descripción
100 % Nivel de zoom actual. El valor predeterminado es 100%.
fit_screen Ajustar a pantalla
zoom_in Aumentar
zoom_out Reducir
youtube_searched_for Restablecer zoom

Depurar v1

Zoom no está disponible en esta versión.

Interfaz clásica

Zoom no está disponible en esta versión.

Depurar con la herramienta de depuración

La depuración te permite ver muchos detalles internos sobre un proxy de API. Por ejemplo:

  • Puedes ver de un vistazo qué políticas se están ejecutando correctamente o no.
  • Supongamos que has observado en uno de los paneles de control de Analytics que el rendimiento de una de tus APIs ha disminuido de forma inusual. Ahora puedes usar Depuración para identificar dónde se produce el cuello de botella. Debug indica el tiempo, en milisegundos, que tarda en completarse cada paso del procesamiento. Si ves que un paso tarda demasiado, puedes tomar medidas correctivas.
  • Puedes consultar los encabezados que se envían al backend, ver las variables definidas por las políticas, etc.
  • Al verificar la ruta base, puedes asegurarte de que una política esté dirigiendo el mensaje al servidor correcto.

Filtrar datos en una sesión de depuración

Cuando crea una sesión de depuración, puede añadir un filtro a esa sesión para que Apigee devuelva solo los datos que quiera. Un filtro es una instrucción condicional que Apigee evalúa en los mensajes de solicitud y respuesta para determinar si sus datos de depuración deben incluirse en la sesión de depuración. Por ejemplo, puede excluir todas las solicitudes con un código de respuesta HTTP inferior a 599 o comparar los valores de la solicitud con variables personalizadas.

Ten en cuenta lo siguiente:

  • Las solicitudes que no se incluyen en una sesión de depuración porque se han filtrado no se tienen en cuenta para calcular el número máximo de transacciones de la sesión de depuración.
  • Apigee no admite la adición de filtros en la cadena de consulta.
  • No puedes añadir un filtro a una sesión de depuración una vez que haya empezado. Para añadir un filtro, debes crear una sesión de depuración.

Usar filtros

Utilice un filtro al crear una sesión de depuración con la interfaz de usuario o la API de Apigee, tal como se describe en las siguientes secciones.

Consola de Apigee Cloud

Cuando crea una sesión de depuración en la interfaz de usuario, puede elegir un filtro predefinido en la lista desplegable Filtros para aplicarlo en el panel Iniciar una sesión de depuración o seleccionar Filtro personalizado y crear el suyo propio con la sintaxis de filtro.

Interfaz clásica

Cuando crea una sesión de depuración en la interfaz de usuario, en la lista desplegable Filtros puede elegir un filtro predefinido para aplicarlo en el panel Iniciar una sesión de depuración o seleccionar Filtro personalizado y crear el suyo propio con la sintaxis de filtro.

API

Para crear una sesión de depuración con un filtro mediante la API, incluye lo siguiente como carga útil en tu solicitud de creación de sesión de depuración:

{
  "filter":"filter_body"
}

Para obtener información sobre cómo crear filtros, consulte Sintaxis de los filtros.

En el siguiente ejemplo se crea una sesión de depuración que incluye solo las transacciones en las que el encabezado A es igual a 42 y el encabezado B es igual a 43, o bien el código de error es ExpectedEOF:

curl -H "Authorization: Bearer $TOKEN" -X "POST"
  https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions
  -d ' {
    "filter":"(request.header.A == '42' && request.header.B == '43') || fault.code == 'jsonparser.ExpectedEOF'"
  } '

Solo puedes definir un filtro en las solicitudes de creación de sesiones de depuración. No puedes añadir un filtro a una sesión de depuración que ya exista ni quitar un filtro de una sesión de depuración activa.

Sintaxis de filtro

Los filtros admiten la misma sintaxis que utilizan las condiciones de Apigee, tal como se describe en la referencia de condiciones. Entre los datos que recoge se incluyen los siguientes:

Además, los filtros pueden acceder a todas las variables de flujo que se describen en la referencia de variables de flujo, así como a las variables personalizadas. En los siguientes ejemplos se muestran solo algunas de las variables de flujo que puede usar en los filtros:

# Response codes:
  response.status.code <= 599
  response.status.code >=301 && response.status.code <=420

# Requests/responses:
  request.verb == "GET"
  request.header.A == 'B' || request.queryparam.X == 'Y'

# Query parameters:
  request.queryparam.myparam == 'fish'
  (request.queryparam.param1 == 'X' || request.queryparam.param2 == 'Y') && request.queryparam.param3 == 'Z'

# Faults:
  fault.code != 'messaging.runtime.RouteFailed'
  fault.name == 'IPDeniedAccess'

Para obtener información sobre cómo usar variables personalizadas, consulta Cómo usar atributos personalizados en Apigee en la comunidad de Apigee.

Filtros de interfaz de usuario predefinidos

La interfaz de usuario de Apigee proporciona un conjunto de filtros comunes para que no tengas que escribir tus propios filtros personalizados. Los filtros predefinidos se resumen en la siguiente tabla.

Nombre del filtro Descripción
Response Time Greater Than

Comprueba si hay problemas de latencia en los siguientes casos:

  • target.duration es la latencia de destino, es decir, el tiempo, en milisegundos, que tarda una solicitud en enviarse al destino y recibirse de él (se calcula como la diferencia entre target.received.end.timestamp y target.sent.start.timestamp).
  • client.duration es la latencia del cliente, es decir, el tiempo, en milisegundos, que tarda una solicitud en enviarse al cliente y recibirse de él (se calcula como la diferencia entre client.received.end.timestamp y client.sent.start.timestamp).

Por ejemplo:

target.duration > 420 && client.duration > 1000

Para obtener más información, consulta client y target en la referencia de variables de flujo.

Response Code

Comprueba si el código de respuesta HTTP coincide con el valor especificado. Por ejemplo:

response.status.code <= 599
Header

Comprueba si el encabezado de solicitud especificado es igual al valor especificado. Por ejemplo:

request.header.cache-control.1 == "16544"
Path

Comprueba si la solicitud coincide con la ruta especificada. Puedes usar la coincidencia con comodines en el valor. Por ejemplo:

request.path == /myproxy/customer/4*
Query Param

Comprueba si el parámetro de consulta de la solicitud especificado es igual al valor especificado. Por ejemplo:

request.queryparam.lang == "language:en-us"
Custom

Te permite insertar tus propias expresiones. Puede usar cualquier objeto de la referencia de variables de flujo y la sintaxis de la referencia de condiciones. Además, puedes usar variables personalizadas.

Para obtener más información sobre cómo crear filtros personalizados, consulta el artículo Sintaxis de los filtros.

 

Ver sesiones de depuración

Apigee guarda los datos de las sesiones de depuración durante 24 horas. No puedes configurar este valor. Después de 24 horas, los datos dejarán de estar disponibles. Antes de esa hora, puedes ver las sesiones de depuración.

Consulta las sesiones de depuración recientes mediante la interfaz de usuario o la API de Apigee, tal como se describe en las secciones siguientes.

Consola de Apigee Cloud

Depuración v2 (novedad)

Para ver las sesiones de depuración con la Google Cloud consola

  1. En la Google Cloud consola, vaya a la página Desarrollo de proxy > Proxies de API.

    Ir a Proxies de API

  2. Haz clic en el proxy que quieras depurar.
  3. Haz clic en la pestaña Depuración.
  4. En Sesiones de depuración recientes se muestra una lista de las sesiones de depuración disponibles.
  5. Haz clic en el enlace de la sesión que quieras ver.

Depurar v1

Para ver las sesiones de depuración con el nuevo editor de proxy, siga estos pasos:

  1. Inicia sesión en la consolaGoogle Cloud .
  2. Seleccione Desarrollo de proxies > Proxies de API.

  3. Selecciona el proxy que quieras depurar.
  4. Haz clic en la pestaña Depuración.
  5. En Sesiones de depuración recientes se muestra una lista de las sesiones de depuración disponibles.
  6. Haz clic en el enlace de la sesión que quieras ver.

Interfaz clásica

Para ver las sesiones de depuración con el editor de proxy clásico, sigue estos pasos:

  1. Inicia sesión en la interfaz de usuario de Apigee.
  2. Selecciona Proxies de API en la vista principal.
  3. Selecciona el proxy que quieras depurar.
  4. En la parte superior derecha de la vista Implementaciones, haz clic en la pestaña Depuración.
  5. En el panel Sesiones de depuración recientes:
    1. En la lista desplegable Entorno, selecciona el entorno del proxy de API cuya sesión de depuración quieras ver.
    2. En la lista desplegable Rev, selecciona el número de revisión del proxy de API cuya sesión de depuración quieras ver.

    La interfaz de Apigee muestra una lista de las sesiones de depuración disponibles.

  6. Haz clic en el enlace de la sesión que quieras ver.

    La interfaz de usuario de Apigee carga la sesión de depuración y rellena el panel Enviar solicitudes con los datos de depuración.

API

Con la API, puedes hacer lo siguiente:

Ver todas las sesiones de depuración con la API

Para ver todas las sesiones de depuración recientes definidas para una revisión de un proxy de API en un entorno, envía una solicitud GET al siguiente recurso:

https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions

También puedes especificar uno de los siguientes parámetros de consulta para controlar la cantidad de datos devueltos:

  • pageSize número máximo de sesiones de depuración que se van a mostrar. El tamaño de página predeterminado es 25.
  • pageToken token de página devuelto en una llamada anterior que puedes usar para obtener la página siguiente.

En el siguiente ejemplo se muestra cómo ver las sesiones de depuración de la revisión 1 del proxy de API helloworld en el entorno test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions" \
-X GET \
-H "Authorization: Bearer $TOKEN"

Donde $TOKEN es tu token de acceso OAuth 2.0, tal como se describe en Obtener un token de acceso OAuth 2.0. Para obtener información sobre las opciones de curl que se usan en este ejemplo, consulta Usar curl. Para ver una descripción de las variables de entorno que puedes usar, consulta Definir variables de entorno para solicitudes a la API de Apigee.

La respuesta incluye un objeto sessions que contiene una lista de sesiones de depuración activas, como se muestra en el siguiente ejemplo:

{
"sessions": [
{
"id": "a423ac73-0902-4cfa-4242-87a353a84d87",
"timestamp_ms": 1566330186000
},
{
"id": "f1eccbbe-1fa6-2424-83e4-3d063b47728a",
"timestamp_ms": 1566330286000
}
]
}

En la respuesta solo se incluyen las sesiones de depuración que contienen al menos una transacción. Las sesiones de depuración que no tienen ninguna transacción no se incluyen en esta lista.

Para obtener más información, consulta la API List Debug sessions.

Ver todas las transacciones de una sesión de depuración mediante la API

Para ver una lista de transacciones de una sesión de depuración, envía una solicitud GET al siguiente recurso:

https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions/debugsession/data

Donde debugsession es el ID de una sesión de depuración que se devuelve cuando consultas las sesiones de depuración.

En el siguiente ejemplo se muestra cómo ver las transacciones de una sesión de depuración de la revisión 1 de la API helloworld en el entorno test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data" \
-X GET \
-H "Authorization: Bearer $TOKEN"

Donde $TOKEN es tu token de acceso OAuth 2.0, tal como se describe en Obtener un token de acceso OAuth 2.0. Para obtener información sobre las opciones de curl que se usan en este ejemplo, consulta Usar curl. Para ver una descripción de las variables de entorno que puedes usar, consulta Definir variables de entorno para solicitudes a la API de Apigee.

La respuesta incluye una matriz de IDs de transacción, como se muestra en el siguiente ejemplo:

[
"myorg-test-ver-5qxdb-64",
"myorg-test-ver-5qxdb-65",
"myorg-test-ver-5qxdb-66",
"myorg-test-ver-5qxdb-67",
"myorg-test-ver-5qxdb-68",
"myorg-test-ver-5qxdb-69",
"myorg-test-ver-5qxdb-70",
"myorg-test-ver-5qxdb-71",
"myorg-test-ver-5qxdb-72"
]

Para obtener más información, consulta la API List debug session data (API para listar datos de sesiones de depuración).

Ver los datos de las transacciones de una sesión de depuración mediante la API

Para ver los datos de las transacciones de una sesión de depuración, envía una solicitud GET al siguiente recurso:

https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}/debugsessions/{debugsession}/data/{transactionId}

Donde debugsession es el ID de una sesión de depuración que se devuelve cuando consultas las sesiones de depuración y transactionId es el ID de transacción que se devuelve cuando consultas una lista de transacciones de una sesión de depuración.

Los datos de las transacciones guardados durante una sesión de depuración tienen formato JSON. Puede cargar estos datos en la herramienta de depuración sin conexión.

En el siguiente ejemplo se muestra cómo descargar los datos de las transacciones de una sesión de depuración de la revisión 1 de la API helloworld en el entorno test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data/myorg-test-ver-5qxdb-64" \
-X GET \
-H "Authorization: Bearer $TOKEN"

Donde $TOKEN es tu token de acceso OAuth 2.0, tal como se describe en Obtener un token de acceso OAuth 2.0. Para obtener información sobre las opciones de curl que se usan en este ejemplo, consulta Usar curl. Para ver una descripción de las variables de entorno que puedes usar, consulta Definir variables de entorno para solicitudes a la API de Apigee.

La respuesta consta de una carga útil JSON que contiene los datos de la transacción especificada, tal como se describe en Estructura de los datos descargados.

Los datos de depuración contienen toda la información sobre la solicitud y la respuesta de cada parte del flujo en un formato JSON propietario. Puedes guardar estos datos y usarlos más adelante en la herramienta de depuración sin conexión.

Si no se han añadido solicitudes a la sesión antes de que finalizara, la respuesta será la siguiente:

[]

Para obtener más información, consulta Get debug session data API (API para obtener datos de sesiones de depuración).

Seleccionar opciones de vista en la interfaz de usuario

En esta sección se describe cómo seleccionar opciones de vista para filtrar lo que se muestra en la interfaz de usuario.

Consola de Apigee Cloud

Para elegir las opciones de vista de la sesión de depuración, selecciona o desmarca las opciones del panel Opciones de vista. Estas opciones de vista se conservan en todas las sesiones de depuración de cada usuario.

Haz clic para ver una imagen más grande lista de opciones de visualización
Opción Descripción
Mostrar políticas inhabilitadas Mostrar las políticas inhabilitadas. Las políticas se pueden inhabilitar con la API pública. Consulta la referencia de configuración de proxies de APIs.
Mostrar políticas omitidas Mostrar las políticas que se han omitido. Una política se omite cuando no se ejecuta porque la condición del paso se ha evaluado como falsa. Consulta más información en Condiciones con variables de flujo.
Mostrar todos los FlowInfo Representa las transiciones dentro de un segmento de flujo.
Mostrar todas las condiciones de flujo Representa las condiciones que se han evaluado en cada flujo.

Interfaz clásica

Para elegir las opciones de vista de la sesión de depuración, selecciona o desmarca las opciones del panel Opciones de vista:

lista de opciones de visualización

Opción Descripción
Mostrar políticas inhabilitadas Mostrar las políticas inhabilitadas. Las políticas se pueden inhabilitar con la API pública. Consulta la referencia de configuración de proxies de APIs.
Mostrar fases omitidas Muestra las fases que se han omitido. Una fase omitida se produce cuando no se ha ejecutado la política porque la condición del paso ha dado como resultado el valor false. Consulta más información en Condiciones con variables de flujo.
Mostrar todos los FlowInfo Representa las transiciones dentro de un segmento de flujo.
Comparar automáticamente la fase seleccionada Compara la fase seleccionada con la anterior. Desactiva esta opción para ver solo la fase seleccionada.
Mostrar variables Mostrar u ocultar las variables a las que se ha leído o asignado un valor.
Mostrar propiedades Las propiedades representan el estado interno del proxy de API. (Oculta de forma predeterminada).

Compartir una sesión de depuración

Puedes compartir una sesión de depuración con otros usuarios que tengan acceso a tu organización y los permisos necesarios. Para ello, solo tienes que enviarles la URL que se muestra en tu navegador cuando estés viendo la sesión de depuración. El enlace solo es válido durante 24 horas después de que se cree la sesión de depuración.

Descargar datos de la sesión de depuración

Puedes descargar un archivo con los resultados de depuración sin procesar para verlo sin conexión. El archivo descargado muestra los detalles completos de la sesión de depuración, incluido el contenido de todos los encabezados, las variables y las políticas.

Los datos de las sesiones de depuración solo se pueden descargar o consultar en la interfaz de usuario durante 24 horas. Después de ese momento, Apigee elimina los datos de la sesión.

Para ver los datos de la sesión de depuración descargados, usa la herramienta de depuración sin conexión.

Consola de Apigee Cloud

Depuración v2 (novedad)

Para descargar la sesión de depuración actual en la Google Cloud consola, haz clic en Descargar en la vista Depuración.

Haz clic para ver una imagen más grande Descargar una sesión de depuración

Depurar v1

Para descargar la sesión de depuración actual, haz clic en Descargar sesión en el panel de la izquierda de la vista Depuración.

Descarga una sesión de depuración.

Ten en cuenta que una sesión de depuración se elimina en un plazo de 24 horas desde que se completa, por lo que, si quieres verla después de ese tiempo, debes descargarla antes.

Interfaz clásica

Para descargar los datos de la sesión de depuración actual con el editor de proxy clásico, sigue estos pasos:

  • Sesión activa: haz clic en el icono de descarga ( Icono de descarga ) en el panel Detalles de depuración.
  • Sesión anterior: haga clic en el nombre de la sesión en el panel Sesiones de depuración recientes, tal como se describe en Ver sesiones de depuración. A continuación, haz clic en Icono de descarga en el panel Detalles de depuración.

API

Para ver los IDs de todas las transacciones de la sesión de depuración actual mediante la API de Apigee, introduce el siguiente comando:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
         https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions/SESSION_ID/data

donde SESSION_ID es el ID de la sesión de depuración que quieres descargar.

Consulta Listar los IDs de transacción de una sesión de depuración.

Para obtener los datos de depuración de una transacción mediante la API de Apigee, introduce el siguiente comando:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions/SESSION_ID/data/TRANSACTION_ID

Descargar estructura de datos

La estructura de descarga de los datos de la sesión de depuración es diferente en la interfaz de Apigee y en la API de Apigee.

Consola de Apigee Cloud

Cuando descargas datos mediante la interfaz de usuario de Apigee, la estructura de los datos es la siguiente:

  • Incluye todas las transacciones de la sesión completa.
  • Almacena transacciones en una matriz Messages.
  • Incluye metadatos sobre la sesión (como un objeto DebugSession).

Interfaz clásica

Cuando descargas datos mediante la interfaz de usuario de Apigee, la estructura de los datos es la siguiente:

  • Incluye todas las transacciones de la sesión completa.
  • Almacena transacciones en una matriz Messages.
  • Incluye metadatos sobre la sesión (como un objeto DebugSession).

API

No puedes usar la API de Apigee para ver los datos de una sesión completa a la vez. Solo puedes usar la API para ver datos de transacciones individuales, tal como se describe en Ver sesiones de depuración.

Por ejemplo:

{
"completed": true,
"point": [
  ...
...
}

Descargar ejemplos de datos

En el siguiente ejemplo se destaca un objeto de metadatos DebugSession en los datos descargados. Después de este objeto, se incluye la matriz Messages, que contiene las transacciones de la sesión.

{
  "DebugSession": {
    "Retrieved": "2019-06-08T13:08:13.395Z",
    "Organization": "myorg",
    "Environment": "prod",
    "API": "myproxy",
    "Revision": "1",
    "SessionId": "a2a271aa-4242-4ac6-97cb-aec8dcb115a9"
  },
  "Messages": [
    {
      "completed": true,
      "point": [
        {
          "id": "Paused"
        },
        {
          "id": "Resumed"
        },
        {
          "id": "StateChange",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "To",
                    "value": "REQ_HEADERS_PARSED"
                  },
                  {
                    "name": "From",
                    "value": "REQ_START"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            },
            {
              "ActionResult": "RequestMessage",
              "headers": [
                {
                  "name": "accept",
                  "value": "*/*"
                },
                {
                  "name": "accept-encoding",
                  "value": "gzip,gzip,deflate,br"
                },
                {
                  "name": "content-length",
                  "value": "0"
                },
                {
                  "name": "host",
                  "value": "myorg.example.domain.net"
                },
                {
                  "name": "user-agent",
                  "value": "Google-Apigee"
                },
                {
                  "name": "x-b3-sampled",
                  "value": "0"
                },
                {
                  "name": "x-b3-spanid",
                  "value": "d4ee579206759662"
                },
                {
                  "name": "x-b3-traceid",
                  "value": "adc1e171777c237dd4ee579206759662"
                },
                {
                  "name": "x-forwarded-for",
                  "value": "66.102.8.98"
                },
                {
                  "name": "x-forwarded-proto",
                  "value": "https"
                },
                {
                  "name": "x-request-id",
                  "value": "54e05cba-4242-4490-4242-60c45c156f90"
                }
              ],
              "uRI": "/myproxy",
              "verb": "GET"
            }
          ]
        },
        {
          "id": "FlowInfo",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "environment.name",
                    "value": "prod"
                  },
                  {
                    "name": "environment.qualifiedname",
                    "value": "myorg__prod"
                  },
                  {
                    "name": "environment.orgname",
                    "value": "myorg"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            }
          ]
        },
        {
          "id": "FlowInfo",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "organization.name",
                    "value": "myorg"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            }
          ]
        },
        {
          "id": "FlowInfo",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "apiproxy.qualifiedname",
                    "value": "myproxy__1"
                  },
                  {
                    "name": "apiproxy.basepath",
                    "value": "/"
                  },
                  {
                    "name": "apiproxy.revision",
                    "value": "1"
                  },
                  {
                    "name": "apiproxy.name",
                    "value": "myproxy"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            }
          ]
        },
        ...
      ...
    }
  ]
}

Si la sesión de depuración no ha incluido ninguna solicitud, la matriz Message estará vacía, como se muestra en el siguiente ejemplo:

{
  "DebugSession": {
    "Retrieved": "2019-06-08T13:08:13.395Z",
    "Organization": "myorg",
    "Environment": "prod",
    "API": "myproxy",
    "Revision": "1",
    "SessionId": "a2a271aa-4242-4ac6-97cb-aec8dcb115a9"
  },
"Messages": []
}

Eliminar datos de una sesión de depuración

Elimina los datos de una sesión de depuración mediante la interfaz de usuario o la API de Apigee, tal como se describe en las siguientes secciones.

Consola de Apigee Cloud

Depuración v2 (novedad)

Para eliminar una sesión de depuración en la Google Cloud consola, sigue estos pasos:

  1. En la pestaña Depuración, haga clic en la fila de la sesión que quiera eliminar.
  2. En el panel Sesión de depuración, haz clic en Eliminar.
Haz clic para ver una imagen más grande Eliminar una sesión de depuración

Depurar v1

Para eliminar una sesión de depuración, sigue estos pasos:

  1. Selecciona la fila de la sesión que quieras eliminar.
  2. Haz clic en el menú de tres puntos situado al final de la fila y selecciona Eliminar.

Interfaz clásica

Haz clic en Icono de eliminar en el panel Detalles de depuración de la sesión de depuración.

API

Para eliminar todos los datos de la sesión de depuración mediante la API, envía una solicitud DELETE al siguiente recurso:

https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions/debugsession/data

Donde debugsession es el ID de una sesión de depuración que se devuelve cuando consultas las sesiones de depuración.

En el siguiente ejemplo se muestra cómo eliminar los datos de la sesión de depuración de la revisión 1 de la API helloworld en el entorno test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data" \
      -X DELETE \
      -H "Authorization: Bearer $TOKEN"
    

Donde $TOKEN es tu token de acceso OAuth 2.0, tal como se describe en Obtener un token de acceso OAuth 2.0. Para obtener información sobre las opciones de curl que se usan en este ejemplo, consulta Usar curl. Para ver una descripción de las variables de entorno que puedes usar, consulta Definir variables de entorno para solicitudes a la API de Apigee.

Si la acción se realiza correctamente, el cuerpo de la respuesta estará vacío.

Los datos de las sesiones de depuración solo se conservan durante 24 horas. Si no lo eliminas explícitamente antes de ese momento, Apigee lo eliminará por ti.