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 solicitudes y respuestas 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.
UI de Apigee
Depuración v2 (novedad)
Para crear una sesión de depuración, sigue estos pasos:
-
En la Google Cloud consola, vaya a la página Desarrollo de proxy > Proxies de API.
- Selecciona el proxy de API que quieras depurar. Se muestra el panel Información general del editor de proxies.
- Haz clic en la pestaña Depuración.
- Haz clic en Iniciar sesión de depuración. Se muestra el panel Iniciar sesión de depuración.
-
En el panel Iniciar sesión de depuración, haz lo siguiente:
- Selecciona el entorno en el que quieras ejecutar la sesión de depuración.
-
(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.
- Haz clic en Empezar.
La interfaz de usuario de Apigee ahora muestra el panel 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 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.
Para ver o copiar el resultado de una transacción, sigue estos pasos:
- En la lista Transacciones, haz clic en Ver resultado de la transacción . Se muestra el panel Resultado de la transacción.
- Haz clic en una transacción concreta o en Todas las transacciones.
- Haz clic en Copiar para copiar el resultado de la transacción en el portapapeles.
- Haz clic en Cerrar.
Depuración v1
Para crear una sesión de depuración en el nuevo editor de proxies, sigue estos pasos:
- Inicia sesión en la consolaGoogle Cloud .
Seleccione Desarrollo de proxies > Proxies de API.
Selecciona el proxy de API que quieras depurar. Se muestra la vista Descripción general del editor de proxy.
- En la parte superior izquierda de la ventana, haz clic en la pestaña Depuración.
- En la parte superior derecha del panel Depuración, haz clic en Iniciar sesión de depuración. Se mostrará el cuadro de diálogo Iniciar sesión de depuración.

En el cuadro de diálogo, haga lo siguiente:
- Selecciona el entorno en el que quieras ejecutar la sesión de depuración.
- (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.
- Haz clic en Empezar.
La interfaz de usuario de Apigee ahora muestra la vista 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.

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.
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:
- Define la duración de una sesión de depuración (en segundos) enviando la propiedad
timeoutcomo parámetro de consulta o en el cuerpo de la solicitud. Si se especifican ambos, tiene prioridad el valor detimeoutespecificado en el cuerpo de la solicitud. - Filtra los datos de una sesión de depuración enviando la propiedad
filteren el cuerpo de la solicitud.
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.
Depuración v2 (novedad)
Para encontrar y copiar la URL de proxy, sigue estos pasos:
- En el panel Sesión de depuración, en el campo URL, haz clic en Copiar.
- Si no hay ninguna sesión de depuración abierta:
En la Google Cloud consola, ve a la página Gestión > Entornos > Grupos de entornos.
- 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:
- En el panel Sesión de depuración, en el campo URL, haz clic en Editar.
- Haz los cambios que quieras y, a continuación, haz clic en Actualizar.
- Si no hay ninguna sesión de depuración abierta:
- Busca la URL de proxy.
- Haz clic en Más y, a continuación, en Editar.
- 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:
- En la Google Cloud consola, ve a Gestión > Entornos > Grupos de entornos.
- 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:
- Busca la URL de proxy.
- Haz clic en Más y, a continuación, en Editar.
- 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.
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:
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 en 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:
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.
Panel de transacciones
El panel de transacciones muestra los pasos de la solicitud y la respuesta.
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:
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.

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 desplazarte 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.

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.

Leyenda del panel de transacciones
A continuación, se describen los iconos del panel de transacciones:
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 la política.
- Escribe una palabra clave para buscar un nombre 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 |
| Política JavaCallout | Extensible | Extensión | |
| 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 |
| 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 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 |
| 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.
| 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 final 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. |
| Flujo condicional verdadero | Transacción estándar |
Un flujo condicional que se evalúa como verdadero (como una instrucción 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:
|
|
| 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:
|
|
| 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. |
| 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. | |
| 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. | |
| Omitido | Estado del paso | Aparece en el icono de una política cuando no se ha ejecutado porque la condición del paso ha dado como resultado el valor "false". Consulta más información en 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.
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.
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 la 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. |
Depuración 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.
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.
Depuración v2 (novedad)
Depurar v1
Mostrar y ocultar grupos
En esta sección se describe cómo expandir y contraer grupos en el panel Transacciones.
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.
Las siguientes acciones están disponibles en el panel de transacciones:
| Elemento | Nombre | Descripción |
|---|---|---|
![]() <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. |
|
|
Ampliar Ocultar |
Desplegar u ocultar un grupo. |
Consulta también:
Depurar v1
En esta versión no se pueden desplegar ni contraer grupos.
Buscar
La función de búsqueda te permite encontrar una palabra o frase en la solicitud o en la respuesta.
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:
- La búsqueda no 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:
- Escribe texto en el cuadro de búsqueda.
-
Pulsa Intro.
Los resultados de búsqueda se resaltan en el panel Transacción y en el panel Detalles de la fase.
- Haz clic en keyboard_arrow_up Atrás o keyboard_arrow_down Siguiente para ir al paso anterior o siguiente.
Depurar v1
La búsqueda no está disponible en esta versión.
Zoom
Zoom te permite controlar la vista del panel Transacciones.
Depuración v2 (novedad)
El zoom controla la vista del panel de transacciones de la siguiente manera:
| Icono | Descripción |
|---|---|
| 100 % | Nivel de zoom actual. El valor predeterminado es 100%. |
| fit_screen | Ajustar a pantalla |
| zoom_in | Ampliar |
| zoom_out | Reducir |
| youtube_searched_for | Restablecer zoom |
Depuración v1
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 proceso. 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.
UI de Apigee
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:
- Agrupación
- Operadores lógicos AND (
&&) y OR (|") - Expresiones de ruta
- Operadores y operandos
- Literales
(
null,trueyfalse)
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:
Por ejemplo: target.duration > 420 && client.duration > 1000 Para obtener más información, consulta |
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 ese momento, puede 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.
UI de Apigee
Depuración v2 (novedad)
Para ver las sesiones de depuración con la Google Cloud consola
-
En la Google Cloud consola, vaya a la página Desarrollo de proxy > Proxies de API.
- Haz clic en el proxy que quieras depurar.
- Haz clic en la pestaña Depuración.
- En Sesiones de depuración recientes se muestra una lista de las sesiones de depuración disponibles.
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 proxies, siga estos pasos:
- Inicia sesión en la consolaGoogle Cloud .
Seleccione Desarrollo de proxies > Proxies de API.
- Selecciona el proxy que quieras depurar.
- Haz clic en la pestaña Depuración.
- En Sesiones de depuración recientes se muestra una lista de las sesiones de depuración disponibles.
Haz clic en el enlace de la sesión que quieras ver.
API
Con la API, puedes hacer lo siguiente:
- Ver todas las sesiones de depuración
- Ver todas las transacciones de una sesión de depuración
- Ver los datos de las transacciones de una sesión de depuración
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 para enumerar 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}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.
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.
| Opción | Descripción |
|---|---|
| Mostrar políticas inhabilitadas | Mostrar las políticas inhabilitadas. Una política se puede 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 evalúa 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. |
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.
UI de Apigee
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.
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.

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.
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/datadonde SESSION_ID es el ID de la sesión de depuración que quieres descargar.
Consulta Lista de 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_IDDescargar 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.
UI de Apigee
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 las transacciones en una matriz
Messages. - Incluye metadatos sobre la sesión (como objeto
DebugSession).
API
No puede usar la API de Apigee para ver los datos de una sesión completa a la vez. Solo puede 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.
UI de Apigee
Depuración v2 (novedad)
Para eliminar una sesión de depuración en la Google Cloud consola, sigue estos pasos:
- En la pestaña Depuración, haga clic en la fila de la sesión que quiera eliminar.
- En el panel Sesión de depuración, haz clic en Eliminar.
Depurar v1
Para eliminar una sesión de depuración, sigue estos pasos:
- Selecciona la fila de la sesión que quieras eliminar.
- Haz clic en el menú de tres puntos situado al final de la fila y selecciona Eliminar.
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.
