Pular para o conteúdo principal
Serviços de alto throughput podem produzir milhões de spans por segundo. Armazenar cada span é caro, por isso as equipes costumam executar o processador tail-sampling do OpenTelemetry Collector para reter apenas 1 em cada N spans. Cada span retido carrega um atributo SampleRate que registra N. Depois que os dados são amostrados, agregações simples produzem resultados incorretos: count() retorna N vezes menos eventos do que os que realmente ocorreram, sum() e avg() ficam enviesados, e os percentis se distorcem. Os dashboards mostram contagens de requisições, throughput e taxas de erro artificialmente baixas. O ClickStack resolve isso com um engine de consulta sensível à amostragem. Quando você configura uma expressão de taxa de amostragem em uma fonte de traces, o construtor de consultas reescreve as agregações SQL para ponderar cada span pela sua taxa de amostragem — em dashboards, alertas e pesquisas ad hoc.

Como funciona

Quando uma fonte de traces tem sampleRateExpression configurada, o ClickStack a encapsula assim:
greatest(toUInt64OrZero(toString(expr)), 1)
Spans sem o atributo SampleRate assumem peso 1 por padrão, portanto os dados não amostrados produzem resultados idênticos às consultas originais. O construtor de consultas então reescreve as agregações:
AgregaçãoAntesDepois (corrigido para amostragem)
countcount()sum(weight)
count + condiçãocountIf(cond)sumIf(weight, cond)
avgavg(col)sum(col * weight) / sum(weight)
sumsum(col)sum(col * weight)
quantile(p)quantile(p)(col)quantileTDigestWeighted(p)(col, weight)
min / maxinalteradoinalterado
count_distinctinalteradoinalterado
Percentis com amostragem usam quantileTDigestWeighted, um sketch T-Digest aproximado. Os resultados ficam próximos, mas não exatos.

Configurando a expressão da taxa de amostragem

Abra sua fonte de traces em Configurações da fonte e insira, no campo Expressão da taxa de amostragem, a expressão do ClickHouse que resulte na taxa de amostragem por span. Por exemplo, se o processador tail-sampling do OpenTelemetry gravar a taxa em SpanAttributes['SampleRate']: Depois de configurar, todos os gráficos, dashboards, alertas e painéis do dashboard de serviço aplicam automaticamente agregações ponderadas por amostragem. Não é necessário alterar consultas individuais.
Última modificação em 10 de junho de 2026