Skip to content

Tracing

Eventualmente serviços podem precisar expor informações e valores contabilizados durante a sua execução que não são comuns. Essas informações são denominadas tracing collectors e definidas também no arquivo de configurações do próprio serviço.

Cada tracing collector deve possuir as seguintes informações:

  • Nome
  • Categoria
  • Descrição

No arquivo de configurações do serviço, essas informações são dispostas da seguinte maneira:

toml
name = "alert"
type = "grpc"
version = "v0.1.0"
language = "go"
product = "SDS"

[[features.tracing.collectors]]
name = "a_regular_name"
kind = "counter"
description = "the custom collector decsription."

[[features.tracing.collectors]]
name = "another_name"
kind = "counter_vec"
description = "a simple description"
labels = [ "one", "two", "three" ]

[[features.tracing.collectors]]
name = "a_histogram"
kind = "histogram"
description = "the custom collector decsription."
labels = [ "first", "second", "third" ]
buckets = [ 0.05, 0.1, 0.25, 0.5 ]

É importante ressaltar que o campo name deve possuir um termo em snake case em letras minúsculas.

O campo kind suporta os seguintes formatos:

TipoDescrição
counterUm contador comum, que pode ser somente incrementado.
counter_vecUm array de contadores, indexados por legendas, capaz de serem incrementados.
Esta categoria requer o uso do campo labels permitindo definir as legendas dos contadores.
flagUm valor do tipo verdadeiro true ou falso false.
histogramUm array de valores também indexados por "labels", com possibilidade de intervalos customizados.
Esta categoria requer o uso do campo labels. Ela também permite definir intervalos customizados
utilizando o campo buckets.
valueUm valor comum, permitindo atualização sem restrição de limite inferior ou superior.