Esta página se aplica a Apigee y Apigee Hybrid.
Consulta la documentación de Apigee Edge.
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 De forma opcional, usa el elemento |
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 | Ninguno |
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 | Ninguno |
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 | Ninguno |
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:
|
steps.tracecapture.VariableValueLimitExceeded |
500 |
Este error se genera si el elemento |
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 |