Política TraceCapture

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

Consulta la documentación de Apigee Edge.

ícono de política

Descripción general

La política de TraceCapture te permite agregar variables adicionales a los datos de seguimiento del entorno de ejecución de Apigee. Si habilitaste el seguimiento distribuido para el entorno de ejecución de Apigee, este muestra un conjunto de variables predefinidas de forma predeterminada. Para obtener más información, consulta Variables de seguimiento predeterminadas en el informe de seguimiento. Sin embargo, si deseas que el entorno de ejecución de Apigee realice un seguimiento del flujo adicional, la política o las variables personalizadas, usa la política TraceCapture. Puedes usar esta política en el flujo de solicitud o en el de respuesta. En el informe de seguimiento distribuido, puedes ver las variables que agregó la política TraceCapture en el intervalo TraceCaptureExecution.

Esta política es una política extensible, y el uso de esta puede tener implicaciones de costo o uso, según tu licencia de Apigee. Para obtener información sobre los tipos de políticas y sus implicaciones de uso, consulta Tipos de políticas.

<TraceCapture>

Define la política TraceCapture.

Valor predeterminado N/A
¿Es obligatorio? Obligatorio
Tipo Tipo complejo
Elemento principal N/A
Elementos secundarios <DisplayName>
<IgnoreUnresolvedVariables>
<ThrowExceptionOnLimit>
<Variables>

El elemento <TraceCapture> usa la siguiente sintaxis:

Sintaxis

<?xml version="1.0" encoding="UTF-8"?>
<TraceCapture continueOnError="true" enabled="true" name="DistributedTraceCapture-1">
    <DisplayName>POLICY_DISPLAY_NAME</DisplayName>
    <Variables>
        <Variable name="TRACE_VARIABLE_NAME" ref="FLOW_VARIABLE_NAME">DEFAULT_VALUE</Variable>
        <Variable name="TRACE_VARIABLE_NAME" ref="FLOW_VARIABLE_NAME">DEFAULT_VALUE</Variable>
    </Variables>
    <IgnoreUnresolvedVariables>BOOLEAN_VALUE</IgnoreUnresolvedVariables>
    <ThrowExceptionOnLimit>BOOLEAN_VALUE</ThrowExceptionOnLimit>
</TraceCapture>

Ejemplo

En el siguiente ejemplo, se muestra la definición de la política TraceCapture:

<?xml version="1.0" encoding="UTF-8"?>
<TraceCapture continueOnError="true" enabled="true" name="DistributedTraceCapture-1">
    <DisplayName>Distributed-Trace-Capture-Policy-1</DisplayName>
    <Variables>
        <Variable name="trace-variable-1" ref="flow-variable-1">default-val-1</Variable>
        <Variable name="trace-variable-2" ref="flow-variable-2">default-val-2</Variable>
    </Variables>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <ThrowExceptionOnLimit>false</ThrowExceptionOnLimit>
</TraceCapture>

Este elemento tiene los siguientes atributos que son comunes a todas las políticas:

Atributo Predeterminada (obligatorio) Descripción
name N/A Obligatorio

El nombre interno de la política. El valor del atributo name puede contener letras, números, espacios, guiones, guiones bajos y puntos. Este valor no puede superar los 255 caracteres.

De forma opcional, usa el elemento <DisplayName> para etiquetar la política en el editor de proxy de la IU de administración con un nombre de lenguaje natural diferente.

continueOnError falso Opcional Configúralo como false para mostrar un error cuando una política falla. Este es el comportamiento previsto para la mayoría de las políticas. Configúralo como true para continuar con la ejecución del flujo incluso después de que una política falle. También consulta:
enabled true Opcional Configúralo como true para aplicar la política. Configúralo como false para desactivar la política. La política no se aplicará, incluso si permanece conectada a un flujo.
async   falso Obsoleta Este atributo dejó de estar disponible.

En la siguiente tabla, se proporciona una descripción de alto nivel de los elementos secundarios de <TraceCapture>.

Elemento secundario ¿Es obligatorio? Descripción
<DisplayName> Opcional Especifica un nombre personalizado para la política
<Variables> Opcional Especifica la lista de variables para realizar un seguimiento.
<IgnoreUnresolvedVariables> Opcional Determina si el procesamiento se detiene cuando se encuentra una variable sin resolver.
<ThrowExceptionOnLimit> Opcional Especifica si una variable debe truncarse si el tamaño de la variable supera el límite de 256 bytes.
Otros elementos secundarios
<MergeBehavior> Opcional Especifica el comportamiento de la combinación de los mensajes de respuesta.

Referencia del elemento secundario

En esta sección, se describen los elementos secundarios de <TraceCapture>.

<DisplayName>

Se usan además del atributo name para etiquetar la política en el editor de proxy de la IU de administración con un nombre de lenguaje natural diferente.

El elemento <DisplayName> es común a todas las políticas.

Valor predeterminado N/A
¿Es obligatorio? Opcional. Si omites <DisplayName>, se usa el valor del atributo name de la política.
Tipo String
Elemento principal <PolicyElement>
Elementos secundarios Ninguna

El elemento <DisplayName> usa la siguiente sintaxis:

Sintaxis

<PolicyElement>
  <DisplayName>POLICY_DISPLAY_NAME</DisplayName>
  ...
</PolicyElement>

Ejemplo

<PolicyElement>
  <DisplayName>My Validation Policy</DisplayName>
</PolicyElement>

El elemento <DisplayName> no tiene atributos ni elementos secundarios.

<Variables>

Especifica la lista de variables para realizar un seguimiento.

Valor predeterminado N/A
¿Es obligatorio? Obligatorio
Tipo Tipo complejo
Elemento principal <TraceCapture>
Elementos secundarios <Variable>

El elemento <Variables> usa la siguiente sintaxis:

Sintaxis

<Variables>
    <Variable name="TRACE_VARIABLE_NAME" ref="FLOW_VARIABLE_NAME">DEFAULT_VALUE</Variable>
    <Variable name="TRACE_VARIABLE_NAME" ref="FLOW_VARIABLE_NAME">DEFAULT_VALUE</Variable>
</Variables>

Ejemplo

En el siguiente ejemplo, se rastrean las variables de flujo flow-variable-1 y flow-variable-2:

<Variables>
    <Variable name="trace-variable-1" ref="flow-variable-1">default-val-1</Variable>
    <Variable name="trace-variable-2" ref="flow-variable-2">default-val-2</Variable>
</Variables>

<Variable>

Especifica las variables que se agregarán en los datos de seguimiento.

Valor predeterminado N/A
¿Es obligatorio? Obligatorio
Tipo Tipo complejo
Elemento principal <Variables>
Elementos secundarios Ninguna

El elemento <Variable> usa la siguiente sintaxis:

Sintaxis
<Variable name="TRACE_VARIABLE_NAME" ref="FLOW_VARIABLE_NAME">DEFAULT_VALUE</Variable>
Ejemplo

En el siguiente ejemplo, se configura la variable de seguimiento trace-variable-1 en el valor de la variable de flujo flow-variable-1:

<Variable name="trace-variable-1" ref="flow-variable-1">default-val-1</Variable>

Si la variable de flujo flow-variable-1 no está disponible, trace-variable-1 se establece en el valor predeterminado default-val-1.

En la siguiente tabla, se describen los atributos de <Variable>:

Atributo ¿Es obligatorio? Tipo Descripción
name Obligatorio String Un nombre para hacer referencia a los datos recopilados de la variable especificada. Este nombre será visible en tu informe de seguimiento distribuido.
ref Obligatorio String La variable para la que recopilas los datos de seguimiento. Esta variable puede ser una variable de flujo predefinida por Apigee o una variable personalizada en tu proxy de API.

<IgnoreUnresolvedVariables>

Determina si el procesamiento se detiene cuando se encuentra una variable sin resolver.

Valor predeterminado N/A
¿Es obligatorio? Opcional
Tipo Booleano
Elemento principal <TraceCapture>
Elementos secundarios Ninguno

Configúralo como true para ignorar las variables sin resolver y continuar con el procesamiento, de lo contrario, false. El valor predeterminado es true.

Configurar <IgnoreUnresolvedVariables> como true es diferente a configurar continueOnError como <TraceCapture> en true. Si configuras continueOnError como true, Apigee ignora todos los errores, no solo los errores de las variables.

El elemento <IgnoreUnresolvedVariables> usa la siguiente sintaxis:

Sintaxis

<IgnoreUnresolvedVariables>BOOLEAN_VALUE</IgnoreUnresolvedVariables>

Ejemplo

En el siguiente ejemplo, se configura <IgnoreUnresolvedVariables> como false:

<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>

<ThrowExceptionOnLimit>

Especifica el comportamiento de la política cuando el tamaño de la variable supera el límite de 256 bytes.

  • Si se establece en true, la política muestra un error si un tamaño de variable supera el límite.
  • Si se configura como false, la política trunca la variable que excede el límite. La variable se trunca al tamaño del límite.
Valor predeterminado N/A
¿Es obligatorio? Opcional
Tipo Booleano
Elemento principal <TraceCapture>
Elementos secundarios Ninguna

El elemento <ThrowExceptionOnLimit> usa la siguiente sintaxis:

Sintaxis

<ThrowExceptionOnLimit>BOOLEAN_VALUE</ThrowExceptionOnLimit>

Ejemplo

En el siguiente ejemplo, se establece el valor true en <ThrowExceptionOnLimit>:

<ThrowExceptionOnLimit>false</ThrowExceptionOnLimit>

Códigos de error

En esta sección, se describen los códigos de falla y los mensajes de error que se muestran, y las variables de falla que establece Apigee cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.

Errores de entorno de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de falla Estado de HTTP Causa
steps.tracecapture.UnresolvedVariable 500

Este error se produce si una variable especificada en la política de TraceCapture es una de las siguientes:

  • Está fuera del alcance (no está disponible en el flujo específico en el que se ejecuta la política) o
  • o
  • No se puede resolver (no está definida)
steps.tracecapture.VariableValueLimitExceeded 500

Este error se genera si el elemento <ThrowExceptionOnLimit> se establece en true y el tamaño de cualquier variable supera los 256 bytes.

Variables con fallas

Cuando hay errores de ejecución en una política, Apigee genera mensajes de error. Puedes ver estos mensajes de error en la respuesta de error. Es posible que muchos mensajes de error generados por el sistema no sean relevantes en el contexto de tu producto. Te recomendamos personalizar los mensajes de error según el tipo de error para que los mensajes sean más significativos.

Para personalizar los mensajes de error, puedes usar reglas de falla o la política RaiseFault. Para obtener información sobre las diferencias entre las reglas de fallas y la política RaiseFault, consulta Política FaultRules en comparación con la política RaiseFault. Debes verificar las condiciones mediante el elemento Condition en las reglas de fallas y la política RaiseFault. Apigee proporciona variables de fallas únicas para cada política, y los valores de las variables de fallas se establecen cuando una política activa errores de entorno de ejecución. Si usas estas variables, puedes verificar las condiciones de error específicas y tomar las medidas adecuadas. Si deseas obtener más información para verificar las condiciones de error, consulta Condiciones de compilación.

En la siguiente tabla, se describen las variables de fallas específicas de esta política.

Variables Donde Ejemplo
fault.name El fault.name puede coincidir con cualquiera de las fallas enumeradas en la tabla Errores del entorno de ejecución. El nombre de la falla es la última parte del código de la falla. fault.name Matches "UnresolvedVariable"
tracecapture.POLICY_NAME.failed POLICY_NAME es el nombre especificado por el usuario de la política que generó la falla. tracecapture.trace-capture-1.failed = true
Para obtener más información sobre los errores de políticas, consulta Qué debes saber sobre los errores de políticas.