Esta página se aplica a Apigee y Apigee Hybrid.
Consulta la documentación de
Apigee Edge.
Información general
La política TraceCapture te permite añadir variables adicionales a los datos de seguimiento del tiempo de ejecución de Apigee. Si has habilitado el rastreo distribuido en el tiempo de ejecución de Apigee, este rastrea de forma predeterminada un conjunto de variables predefinidas. Para obtener más información, consulta Variables de seguimiento predeterminadas en el informe de seguimiento.
Sin embargo, si quieres que el tiempo de ejecución de Apigee rastree variables de flujo, de política o personalizadas adicionales, usa la política TraceCapture. Puedes usar esta política en el flujo de solicitudes o en el de respuestas. En el informe de seguimiento distribuido, puede ver las variables añadidas por la política TraceCapture en el TraceCaptureExecution
.
Esta política es una política extensible y su uso puede tener implicaciones en cuanto a costes o utilización, en función de tu licencia de Apigee. Para obtener información sobre los tipos de políticas y las 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>
utiliza 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 ejemplo siguiente 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 | Predeterminado | ¿Es obligatorio? | Descripción |
---|---|---|---|
name |
N/A | Obligatorio |
El nombre interno de la política. El valor del atributo Opcionalmente, usa el elemento |
continueOnError |
falso | Opcional | Asigna el valor false para devolver un error cuando falle una política. Este es el comportamiento esperado de la mayoría de las políticas. Asigna el valor true para que la ejecución del flujo continúe incluso después de que falle una política. Consulta también:
|
enabled |
true | Opcional | Asigna el valor true para aplicar la política. Selecciona false para desactivar la política. La política no se aplicará aunque siga adjunta a un flujo. |
async |
falso | Obsoleto | Este atributo está obsoleto. |
En la siguiente tabla se ofrece una descripción general 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 que se van a monitorizar. |
<IgnoreUnresolvedVariables> |
Opcional | Especifica si el procesamiento se detiene cuando se encuentra una variable sin resolver. |
<ThrowExceptionOnLimit> |
Opcional | Especifica si se debe truncar una variable si su tamaño supera el límite de 256 bytes. |
Otros elementos secundarios | ||
<MergeBehavior> |
Opcional | Especifica el comportamiento de combinación de los mensajes de respuesta. |
Referencia de elemento secundario
En esta sección se describen los elementos secundarios de<TraceCapture>
.
<DisplayName>
Se usa junto con el atributo name
para etiquetar la política en el editor de proxy de la interfaz de usuario de gestión con un nombre diferente que suene más natural.
El elemento <DisplayName>
es común a todas las políticas.
Valor predeterminado | N/A |
¿Es obligatorio? | Opcional. Si omite <DisplayName> , se usará el valor del atributo name de la política. |
Tipo | Cadena |
Elemento principal | <PolicyElement> |
Elementos secundarios | Ninguno |
El elemento <DisplayName>
utiliza 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 que se van a monitorizar.
Valor predeterminado | N/A |
¿Es obligatorio? | Obligatorio |
Tipo | Tipo complejo |
Elemento principal |
<TraceCapture> |
Elementos secundarios |
<Variable> |
El elemento <Variables>
utiliza 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 hace un seguimiento de 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 van a añadir a los datos de la traza.
Valor predeterminado | N/A |
¿Es obligatorio? | Obligatorio |
Tipo | Tipo complejo |
Elemento principal |
<Variables> |
Elementos secundarios | Ninguno |
El elemento <Variable>
utiliza la siguiente sintaxis:
Sintaxis
<Variable name="TRACE_VARIABLE_NAME" ref="FLOW_VARIABLE_NAME">DEFAULT_VALUE</Variable>
Ejemplo
En el ejemplo siguiente se asigna a la variable de seguimiento trace-variable-1
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 asigna al valor predeterminado default-val-1
.
En la siguiente tabla se describen los atributos de <Variable>
:
Atributo | ¿Es obligatorio? | Tipo | Descripción |
---|---|---|---|
name |
Obligatorio | Cadena | Nombre que se usará para hacer referencia a los datos recogidos de la variable especificada. Este nombre se mostrará en el informe de seguimiento distribuido. |
ref |
Obligatorio | Cadena | La variable de la que está recogiendo los datos de la traza. Esta variable puede ser una variable de flujo predefinida por Apigee o una variable personalizada de 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 |
Asigna el valor true
para ignorar las variables sin resolver y continuar con el procesamiento. De lo contrario, asigna el valor false
. El valor predeterminado es true
.
Asignar el valor true
a <IgnoreUnresolvedVariables>
no es lo mismo que asignar el valor true
a continueOnError
de <TraceCapture>
. Si asigna el valor true
a continueOnError
, Apigee ignora todos los errores, no solo los de las variables.
El elemento <IgnoreUnresolvedVariables>
utiliza la siguiente sintaxis:
Sintaxis
<IgnoreUnresolvedVariables>BOOLEAN_VALUE</IgnoreUnresolvedVariables>
Ejemplo
En el siguiente ejemplo se asigna false
a <IgnoreUnresolvedVariables>
:
<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 define como
true
, la política genera un error si el tamaño de una variable supera el límite. - Si se define como
false
, la política trunca la variable que supere 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>
utiliza la siguiente sintaxis:
Sintaxis
<ThrowExceptionOnLimit>BOOLEAN_VALUE</ThrowExceptionOnLimit>
Ejemplo
En el siguiente ejemplo se asigna el valor true
a
.<ThrowExceptionOnLimit>
<ThrowExceptionOnLimit>false</ThrowExceptionOnLimit>
Códigos de error
En esta sección se describen los códigos de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.
Errores de tiempo de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
Código de fallo | Estado de HTTP | Causa |
---|---|---|
steps.tracecapture.UnresolvedVariable |
500 |
Este error se produce si una variable especificada en la política TraceCapture es:
|
steps.tracecapture.VariableValueLimitExceeded |
500 |
Este error se produce si el elemento |
Variables de error
Cuando se producen errores de ejecución en una política, Apigee genera mensajes de error. Puedes ver estos mensajes de error en la respuesta de error. En muchas ocasiones, los mensajes de error generados por el sistema pueden no ser relevantes en el contexto de su producto. Puede que quieras personalizar los mensajes de error en función del tipo de error para que sean más significativos.
Para personalizar los mensajes de error, puedes usar reglas de error o la política RaiseFault. Para obtener información sobre las diferencias entre las reglas de errores y la política RaiseFault, consulta Reglas de errores frente a la política RaiseFault.
Debes comprobar las condiciones mediante el elemento Condition
tanto en las reglas de errores como en la política RaiseFault.
Apigee proporciona variables de error únicas para cada política. Los valores de las variables de error se definen cuando una política activa errores de tiempo de ejecución.
Al usar estas variables, puede comprobar si se dan condiciones de error específicas y tomar las medidas oportunas. Para obtener más información sobre cómo comprobar las condiciones de error, consulta Crear condiciones.
En la siguiente tabla se describen las variables de error específicas de esta política.
Variables | Dónde | Ejemplo |
---|---|---|
fault.name |
El fault.name puede coincidir con cualquiera de los errores que se indican en la tabla Errores de tiempo de ejecución.
El nombre del error es la última parte del código de error. |
fault.name Matches "UnresolvedVariable" |
tracecapture.POLICY_NAME.failed |
POLICY_NAME es el nombre de la política especificado por el usuario que ha provocado el error. | tracecapture.trace-capture-1.failed = true |