Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
Skip to content
World desk4 min

Métricas customizadas em uma mini app PHP: counters, gauges e histograms

Veja como escolher o tipo de métrica certo em PHP, comparar PromPHP e OpenTelemetry e evitar problemas com labels, buckets e dados entre requisições.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Para criar métricas customizadas em uma mini app PHP, escolha o instrumento conforme o dado: counter para totais acumulados, gauge para valores que sobem e descem e histogram para observar distribuições, como durações. Em PHP, você pode instrumentar diretamente com um cliente Prometheus ou usar a API e o SDK do OpenTelemetry; a decisão depende do ecossistema de coleta e de como os dados precisam sobreviver entre execuções.

Escolha entre um cliente Prometheus e OpenTelemetry

As duas opções permitem instrumentar métricas em PHP, mas não há uma comparação oficial que determine uma escolha universal. Considere qual padrão de telemetria o projeto já usa, onde os dados serão coletados e se precisam persistir entre requisições ou processos.

As an Amazon Associate I earn from qualifying purchases.

Opção Como funciona O que considerar
PromPHP/prometheus_client_php Registra e atualiza counters, gauges e histograms diretamente; o projeto inclui adaptadores de armazenamento. A documentação diz que o adaptador em memória pode servir para um cron job ou script de longa duração quando não é preciso persistir métricas entre requisições. Isso não o torna automaticamente adequado a uma aplicação web em que cada requisição inicia um processo novo.
OpenTelemetry PHP A API instrumenta o código e o SDK inicializa a telemetria da aplicação; os dados podem ser enviados a um serviço de métricas, como o OpenTelemetry Collector. É uma opção natural quando o projeto já usa OpenTelemetry ou precisa integrá-lo ao caminho existente de exportação e coleta. A documentação recomenda que bibliotecas dependam apenas da API, enquanto a aplicação usa API e SDK.

OpenTelemetry PHP lista instrumentos como counter, async counter, histogram, async gauge, up/down counter e async up/down counter. Antes de instalar, confira os requisitos atuais na documentação oficial: versões de PHP suportadas mudam, e o SDK visa acompanhar as versões oficialmente suportadas, removendo suporte para versões até 12 meses após o fim de vida delas.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use o tipo de métrica que corresponde ao dado

Instrumento Use para Exemplo
Counter Um total que só aumenta, exceto quando o processo reinicia. Tarefas concluídas ou requisições atendidas.
Gauge Uma medição ou estado atual que pode subir ou descer. Trabalhos em andamento ou uso atual de memória.
Histogram Registrar observações em intervalos configuráveis e agregar sua distribuição e soma. Duração de requisições ou tamanho de resposta.

Essas semânticas seguem a documentação de tipos de métricas do Prometheus. Não use counter para um valor que pode diminuir: um gauge representa melhor esse estado. Para examinar o ritmo de aumento de um counter no Prometheus, use rate(), conforme a orientação de instrumentação.

Escolha limites do histogram pela pergunta

Os buckets determinam como as observações serão agrupadas. Para latência, por exemplo, escolha limites que ajudem a responder à pergunta real do painel ou alerta, em vez de adotar uma lista universal sem conhecer a distribuição da aplicação. A documentação do Prometheus recomenda que autores de bibliotecas permitam escolher buckets manualmente e que eles não mudem depois que a métrica for criada.

Planeje nomes, labels e armazenamento

  1. Defina o evento ou estado. Especifique o que quer observar antes de escolher o nome da métrica.
  2. Use nomes estáveis e descrições claras. A documentação do Prometheus recomenda evitar nomes dinâmicos para métricas.
  3. Adicione labels apenas para dimensões úteis. Se houver labels, mantenha os mesmos nomes de label em todas as séries daquela métrica. Prefira valores de conjunto controlado; IDs de usuário, caminhos arbitrários e texto livre podem gerar cardinalidade alta e crescimento descontrolado de séries.
  4. Escolha buckets com intenção. Defina os limites do histogram conforme a distribuição e a análise pretendida; não os altere depois da criação da métrica.
  5. Confirme o ciclo de vida dos dados. Verifique o adaptador de armazenamento, como as métricas são expostas e qual componente coleta ou exporta os valores.

A recomendação oficial sobre labels é começar sem elas se ainda não houver uma necessidade concreta: “If you are unsure, start with no labels and add more labels over time as concrete use cases arise.” (Prometheus: instrumentação.)

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Registre as métricas com PromPHP

O exemplo abaixo mostra a forma dos métodos documentados pelo cliente: inc ou incBy para counter, set para gauge e observe para histogram. Ajuste a inicialização do armazenamento ao adaptador escolhido e confirme a versão instalada do pacote e sua API antes de copiar o exemplo para produção.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
<?php

// $counter, $gauge e $histogram representam métricas
// registradas com o adaptador de armazenamento escolhido.
$counter->inc();             // um evento concluído
$counter->incBy(3);          // três eventos concluídos

$gauge->set(4);              // estado atual: quatro trabalhos em andamento

$histogram->observe(0.42);   // uma observação, por exemplo duração em segundos

Ao registrar o histogram, defina buckets apropriados para as observações que serão feitas. O cliente também aceita labels; mantenha seus nomes consistentes e seus valores controlados.

Evite métricas que desaparecem ou perdem utilidade

  • Inicialize counters em zero, conforme as diretrizes do Prometheus para bibliotecas cliente.
  • Use gauge para valores que podem diminuir e counter para eventos acumulados; aplique rate() quando precisar analisar a taxa de aumento de um counter no Prometheus.
  • Não presuma que métricas persistem entre requisições. Em PHP, confirme o modelo de execução e o adaptador: a observação do PromPHP sobre o adaptador em memória é específica a scripts ou processos longos e não garante persistência em uma aplicação web de curta duração.
  • Evite nomes dinâmicos e labels com valores arbitrários, que podem multiplicar séries sem uma dimensão analítica útil.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.