Conteúdo

.NET 8: Utilize IMeterFactory para criar métricas customizadas

Com o lançamento do .NET 8 preview 5, a equipe do .NET introduziu uma maneira mais fácil de criar métricas customizadas, implementando a injeção de dependência. Essa atualização proporciona aos desenvolvedores uma experiência aprimorada na criação de métricas personalizadas, simplificando o processo por meio da utilização da IMeterFactory.

As métricas desempenham um papel fundamental, com métricas técnicas quando o assunto é observabilidade e métricas de negócios. Com o lançamento do .NET 8 preview 5, a criação de métricas e tags customizadas torna-se algo menos trabalhoso.

Como utilizar o IMeterFactory para criar métricas customizadas?

Para utilizar a IMeterFactory, primeiro é necessário registrar no contêiner de injeção de dependência.

// service is the DI IServiceCollection 
// Register the IMeterFactory to the DI container using the default meter factory implementation. 
services.AddMetrics();

A partir disso, é possível obter a instância da IMeterFactory através da injeção de dependência em qualquer parte do código.

IMeterFactory meterFactory = serviceProvider.GetRequiredService<IMeterFactory>();

MeterOptions options = new MeterOptions("MetricName") {
  Version = "version",
};

Meter meter = meterFactory.Create(options);

Criando métricas e tags customizadas com .NET 8

Medidores e instrumentos podem ser criados com tags de pares chave-valor anexadas, o que oferece a capacidade de diferenciar os valores agregados com base nessas tags. Esse recurso é especialmente útil para os agregadores de métricas, permitindo uma análise mais granular e segmentada dos dados coletados.

MeterOptions options = new MeterOptions("name")
{
   Version = "version",

   // Attach these tags to the created meter
   Tags = new TagList() { { "MeterKey1", "MeterValue1" }, { "MeterKey2", "MeterValue2" } }
};

Meter meter = meterFactory.Create(options);

Instrument instrument = meter.CreateCounter<int>("counter", null, null, new TagList() { { "counterKey1", "counterValue1" } });
instrument. Add(1);

Conclusão

Com o .NET 8 a introdução da IMeterFactory, a criação de métricas customizadas e tags se tornou ainda mais acessível e flexível. Através da injeção de dependência, os desenvolvedores podem criar métricas de forma modular e reutilizável, além de adicionar tags personalizadas para uma análise mais detalhada.

Compartilhe:

Tiago Tartari

Tiago Tartari

Eu ajudo e capacito pessoas e organizações a transformar problemas complexos em soluções práticas usando a tecnologia para atingir resultados extraordinários.

Qual é o desafio
que você tem hoje?