En este documento se describe cómo configurar filtros al usar el método list
de la API Cloud Trace.
Los filtros le permiten especificar una o varias condiciones que se deben cumplir para que se devuelva una traza.
La página no se aplica a la página Explorador de trazas. Para filtrar los datos que se muestran en esa página, utilice los filtros predefinidos, que se encuentran en el panel Filtros de intervalo, o la barra Filtro. Para obtener más información, consulta Buscar y explorar trazas.
Información general sobre los filtros
Los filtros de seguimiento constan de una secuencia de comparaciones denominada términos. Para que se seleccionen las trazas, deben
coincidir con todos los términos del filtro. Por ejemplo, el siguiente filtro muestra las trazas que tienen una latencia de un segundo o más y que contienen un intervalo llamado /modules.GetNumInstances
:
+span:/modules.GetNumInstances latency:1s
Todas las comparaciones de cadenas distinguen entre mayúsculas y minúsculas.
Atributos booleanos
Para especificar valores de atributos booleanos, usa false
para falso y true
para verdadero:
Client:true
Caracteres especiales
Los valores simples, es decir, los que coinciden con la expresión regular
[a-zA-Z0-9./_][a-zA-Z0-9./_-]*
, se pueden proporcionar sin comillas:
environment:production
path:/index.html
error_code:200
Los valores que incluyan otros caracteres, como espacios en blanco, deben ir entre comillas dobles ("
):
my-label:"Notice: This value contains spaces and a colon"
Para buscar el carácter de comillas dobles o el carácter de barra invertida (\
) en una cadena entre comillas, escape el carácter con una barra invertida:
my-label:"Notice: This value contains spaces, a colon, a \"quote\", and a backslash (\\)"
Sintaxis de filtro
En esta página, NAME
hace referencia al nombre de un campo, mientras que VALUE
hace referencia al valor de un par clave-valor. Las cadenas
_PREFIX
y _EXACT
son indicaciones visuales de si una prueba es una prueba de prefijo o una coincidencia exacta. Por ejemplo, root:[NAME_PREFIX]
significa que el nombre del intervalo raíz debe empezar por [NAME_PREFIX]
.
En el resto de esta página se describe el uso de los filtros en la API Cloud Trace.
Ejemplos de filtros de solicitudes
A continuación, se describen los términos de filtro:
root:[NAME_PREFIX]
El nombre del intervalo raíz del rastreo debe empezar por [NAME_PREFIX]. Por ejemplo, el siguiente filtro coincide con un rastreo llamado
"/_ah/background"
, pero no con uno llamado"/_ahx/background"
:root:/_ah/
+root:[NAME]
El nombre del intervalo raíz del rastreo debe ser [NAME], exactamente. Por ejemplo:
+root:/_ah/background
[NAME_PREFIX]
Esta sintaxis es una abreviatura de
root:[NAME_PREFIX]
.+[NAME]
Esta sintaxis es una abreviatura de
+root:[NAME]
.span:[NAME_PREFIX]
El rastreo debe tener al menos un intervalo cuyo nombre empiece por [NAME_PREFIX]. Por ejemplo:
span:/modules.
+span:[NAME]
El rastreo debe tener al menos un intervalo cuyo nombre sea [NAME] exactamente. Por ejemplo:
span:/modules.GetNumInstances
latency:[DURATION]
La traza debe tener una latencia general igual o superior a [DURATION]. La duración se expresa como un número entero seguido de un especificador de unidades:
s
para segundos,ms
para milisegundos ons
para nanosegundos. Si no se especifica ninguna unidad, se utilizarán los milisegundos. Por ejemplo, las cuatro duraciones siguientes son iguales:12s 12000ms 12000000ns 12000
label:[LABEL_KEY]
El rastreo debe contener exactamente la clave de etiqueta especificada. El valor de la etiqueta (si la hay) no importa. Por ejemplo,
label:/http/url
[LABEL_KEY]:[VALUE_PREFIX]
El rastreo debe contener exactamente la clave de etiqueta especificada y el valor de la etiqueta debe empezar por [VALUE_PREFIX]. Por ejemplo, el siguiente término coincide con las trazas cuya versión de App Engine empieza por
"2017"
.g.co/gae/app/module_version:2017
+[LABEL_KEY]:[VALUE_EXACT]
El rastreo debe contener exactamente la clave y el valor de la etiqueta especificados. Por ejemplo,
+g.co/gae/app/module_version:201750925t173233.387410594824284458
method:[VALUE_PREFIX]
Esta sintaxis es una abreviatura de la prueba de etiqueta
/http/method:[VALUE_PREFIX]
.+method:[VALUE_EXACT]
Esta sintaxis es una abreviatura de la prueba de etiqueta
+/http/method:[VALUE_EXACT]
.url:[VALUE_PREFIX]
Esta sintaxis es una abreviatura de la prueba de etiquetas
/http/url:[VALUE_PREFIX]
.+url:[VALUE_EXACT]
Esta sintaxis es una abreviatura de la prueba de etiquetas
+/http/url:[VALUE_EXACT]
.
Ejemplos de búsquedas de tramos de raíz
Para restringir el término de búsqueda solo al intervalo raíz, añade (^
) antes de un término de búsqueda y después del (+
) opcional.
En el campo Filtro de la página Explorador de trazas, si añades la anotación +^
, se convertirá en ^+
al pulsar Intro.
A continuación, se muestran algunos términos de búsqueda que solo contienen la raíz y sus equivalencias:
^label:[LABEL_KEY]
- Esta es una búsqueda de intervalo raíz de
label:[LABEL_KEY]
. ^[LABEL_KEY]:[VALUE_PREFIX]
- Esta es una búsqueda de intervalo raíz de
[LABEL_KEY]:[VALUE_PREFIX]
. +^[LABEL_KEY]:[VALUE]
- Esta es una búsqueda de intervalo raíz de
+[LABEL_KEY]:[VALUE]
. ^method:[VALUE_PREFIX]
- Esta es una búsqueda de intervalo raíz de
method:[VALUE_PREFIX]
. +^method:[VALUE]
- Esta es una búsqueda de intervalo raíz de
+method:[VALUE]
. ^url:[VALUE_PREFIX]
- Esta es una búsqueda de intervalo raíz de
url:[VALUE_PREFIX]
. +^url:[VALUE]
- Esta es una búsqueda de intervalo raíz de
+url:[VALUE]
. ^span:[NAME_PREFIX]
- Equivale a
root:[NAME_PREFIX]
. +^span:[NAME]
- Equivale a
+root:[NAME]
.
Si creas una consulta con términos mixtos, puedes personalizar aún más la búsqueda. Por ejemplo,
+^url:/main /images method:200
Coincide con las trazas cuando la etiqueta del intervalo raíz /http/url
es exactamente "/main", el nombre del intervalo raíz empieza por /images
y cualquier intervalo tiene la etiqueta /http/method
con el valor 200.
Solución de problemas
Esta sección contiene contenido para solucionar problemas.
Rendimiento lento
Si el filtro de seguimiento es complicado, tardará más en ejecutarse y podría agotarse el tiempo de espera. Para mejorar el rendimiento, simplifica el filtro.
No hay resultados
Si el filtro no devuelve ningún rastro, comprueba lo siguiente:
Asegúrate de que no haya espacios en el filtro, excepto los que separan las comparaciones.
Asegúrate de que las mayúsculas y minúsculas, así como la ortografía de todas las palabras del filtro, sean correctas. Por ejemplo, si escribe mal una palabra clave, como
method:GET
, el filtro se interpreta comolabel:method:GET
, que no coincide con ninguna traza.Para probar los términos de filtro de uno en uno, ve al método de la API
list
y, a continuación, usa el Explorador de APIs. Si uno de los términos no devuelve ningún resultado, puede que sea el motivo por el que no se devuelven datos.El Explorador de APIs se abre cuando la página muestra un panel con el título Probar este método. Si es necesario, haz clic en Probar para abrir el Explorador de APIs.