.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.
1 2 3 |
// 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.
1 2 3 4 5 6 7 |
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.
1 2 3 4 5 6 7 8 9 10 11 12 |
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.