A gramática precisa detectar cordas, strings concatenadas por “_”, cadeadas de cordas, números (int e carros alegóricos) e algumas palavras -chave especiais, como infinidade positiva e negativa.O par pode analisar: `key =” value “`
Todos os pares dentro dos colchetes podem ser simplesmente definidos como esta regra:
Os pares podem analisar `key =” value ”, outrokey =” outro valor “` e assim por diante.Obviamente, para fazer isso, as métricas de cada ponto de extremidade precisam de um espaço para nome, ou simplesmente um prefixo, bem como pares opcionais de valor-chave adicionados entre os aparelhos encaracolados.De acordo com a documentação (https://prometheus.io/docs/instrumenting/exposition_formats/) Cada grupo métrico pode começar com três linhas opcionais:
Ao observar as métricas geradas pelos clientes do Prometheus, elas são sempre incluídas.Vamos examinar o seguinte grupo métrico:
Na primeira tentativa, vamos excluir os comentários e começar com a própria métrica.
Fonte: https://medium.com/@miltag/parse-prometheus-exposition-format-in-rust-using-peg-3921e9fc7d65