O Simple Log Service (SLS) oferece suporte a funções PromQL para consultar e processar métricas armazenadas em Metricstores. Este tópico apresenta exemplos de uso das funções PromQL mais comuns.
abs()
Retorna o valor absoluto de cada ponto de dados na série temporal de entrada.
abs(container_network_receive_bytes_total{})
changes()
Retorna o número de vezes que o valor de cada série temporal mudou no intervalo de tempo especificado.
changes(demo_api_request_duration_seconds_count[1m])
absent()
Retorna um vetor vazio se o vetor de entrada contiver elementos. Retorna um vetor com um único elemento de valor 1 se o vetor de entrada não contiver elementos. Use esta função para gerar alertas quando uma métrica não apresentar dados.
absent(test_metrics)
absent_over_time()
Retorna 1 se não houver pontos de dados no intervalo de tempo especificado. Caso contrário, retorna um vetor vazio. Use esta função para detectar lacunas nos dados de métricas ao longo de um período.
absent_over_time(test_metrics[1m])
ceil()
Arredonda cada ponto de dados para cima até o inteiro mais próximo.
ceil(process_start_time_seconds)
clamp()
Restringe cada ponto de dados a um intervalo especificado. Valores abaixo de min são definidos como min; valores acima de max são definidos como max.
Sintaxe: clamp(v instant-vector, min scalar, max scalar)
clamp(process_start_time_seconds,10,20)
clamp_max()
Restringe cada ponto de dados a um valor máximo. Valores acima de max são definidos como max. Semelhante à clamp(), mas aplica apenas um limite superior.
Sintaxe: clamp_max(v instant-vector, max scalar)
clamp_max(process_start_time_seconds,10)
clamp_min()
Restringe cada ponto de dados a um valor mínimo. Valores abaixo de min são definidos como min. Semelhante à clamp(), mas aplica apenas um limite inferior.
Sintaxe: clamp_min(v instant-vector, min scalar)
clamp_min(process_start_time_seconds,10)
day_of_month()
Retorna o dia do mês (1–31) para cada timestamp na série temporal de entrada.
day_of_month(vector(1805308033))
day_of_week()
Retorna o dia da semana (0–6, onde 0 é domingo) para cada timestamp na série temporal de entrada.
day_of_week(vector(1805308033))
day_of_year()
Retorna o dia do ano (1–365) para cada timestamp na série temporal de entrada.
day_of_year(vector(1805308033))
delta()
Retorna a diferença entre o primeiro e o último ponto de dados no intervalo de tempo especificado. Use com gauges.
delta(go_memstats_heap_released_bytes[1m])
deriv()
Retorna a derivada por segundo de cada série temporal no vetor de intervalo, calculada por regressão linear simples. Use com gauges.
deriv(go_memstats_heap_released_bytes[1m])
exp()
Retorna a função exponencial e^x para cada ponto de dados na série temporal de entrada.
exp(go_memstats_lookups_total)
floor()
Arredonda cada ponto de dados para baixo até o inteiro mais próximo.
floor(go_memstats_heap_released_bytes)
holt_winters()
Retorna um valor suavizado para cada série temporal usando suavização exponencial dupla (algoritmo Holt-Winters). O fator de suavização sf controla o peso atribuído aos dados mais antigos (menor = maior peso para dados antigos); o fator de tendência tf controla a intensidade do acompanhamento das tendências. Tanto sf quanto tf devem estar entre 0 e 1. Use com gauges.
Sintaxe: holt_winters(v range-vector, sf scalar, tf scalar)
holt_winters(go_memstats_heap_released_bytes[3m],0.2,0.5)
rate()
Retorna a taxa média de aumento por segundo do contador no intervalo de tempo especificado. Considera redefinições de contador. Use com contadores.
rate(go_memstats_mallocs_total[3m])
idelta()
Retorna a diferença entre os dois últimos pontos de dados no intervalo de tempo especificado.
idelta(go_memstats_mallocs_total[3m])
increase()
Retorna o aumento total de um contador no intervalo de tempo especificado. Redefinições de contador (quando o valor cai para zero e a contagem recomeça) são consideradas automaticamente. Use apenas com contadores.
increase(go_memstats_mallocs_total[3m])
irate()
Retorna a taxa instantânea de aumento por segundo, calculada com base nos dois últimos pontos de dados do intervalo. Use com contadores de alta volatilidade e para geração de gráficos. Para alertas ou contadores de baixa volatilidade, use rate().
irate(go_memstats_mallocs_total[3m])
hour()
Retorna a hora do dia (0–23 UTC) para cada timestamp na série temporal de entrada.
hour(vector[1705308033])
minute()
Retorna o minuto da hora (0–59 UTC) para cada timestamp na série temporal de entrada.
minute(vector[1705308033])
month()
Retorna o mês do ano (1–12 UTC) para cada timestamp na série temporal de entrada.
month(vector[1705308033])
resets()
Retorna o número de redefinições de contador no intervalo de tempo especificado. Uma redefinição ocorre quando o valor do contador cai entre dois pontos de dados consecutivos. Use com contadores.
resets(go_memstats_heap_sys_bytes[5m])
round()
Arredonda cada ponto de dados para o múltiplo mais próximo de to_nearest. Se to_nearest for omitido, arredonda para o inteiro mais próximo.
Sintaxe: round(v instant-vector, to_nearest=1 scalar)
round(go_memstats_heap_sys_bytes)