- Executar a mesma seleção pela API, pela CLI e pelo AI Studio.
- Combinar várias condições em uma única expressão em vez de montar um array
filters. - Repassar uma investigação salva a um colega como uma única linha de texto.
Visão geral
OQL é uma linguagem de pipeline para selecionar Traces e Logs. Uma consulta nomeia o sinal e depois adiciona estágios separados por|:
fetch vem primeiro e é obrigatório. filter pode se repetir, e todos os filtros são combinados com and. Um estágio sort ou limit repetido usa o último valor. A OQL é compilada no mesmo planejador e registro de campos que o array estruturado filters, então um campo ou operador que funciona ali também funciona na OQL. Não há estágio de agregação: linhas calculadas e séries temporais vêm da Telemetry API.
Início rápido
Execute uma consulta de traces em uma janela de tempo. A API aceita somente timestamps RFC 3339.search.data. Use os exemplos abaixo no campo oql do SDK ou no corpo da requisição. Os intervalos da API usam timestamps RFC 3339.
Estágios
Expressões de filtro
Duas formas são interpretadas como o mesmo filtro. A forma com símbolos cobre igualdade e ordenação:
A forma com palavras cobre os operadores que precisam de sintaxe própria:
As listas usam parênteses ou colchetes e são separadas por vírgulas. Os valores podem ser colocados entre
" ou ', o que permite que um valor contenha espaços; uma aspa dentro de um valor exige o outro caractere de aspas.
Os operadores aceitos por um campo dependem do seu tipo, e não do parser. Uma expressão válida no tipo de campo errado ainda é rejeitada:
GET /v3/traces/fields para traces e de GET /v3/logs/fields para logs.
Os filtros de status usam a grafia success e error; Valores de status de trace relaciona esses valores aos da Telemetry API e de Reporting.
Regras por sinal
Exemplos
Traces com falha no último diaOQL
OQL
OQL
OQL
OQL
filter: sort e limit são rejeitados ali. As sugestões de campos vêm do registro de campos do workspace.
Erros
Uma consulta malformada é rejeitada antes que o planejador seja executado, então uma solicitação inválida nunca retorna linhas parciais.

