github.com/mundipagg/boleto-api@v0.0.0-20230620145841-3f9ec742599f/metrics/business.go (about)

     1  package metrics
     2  
     3  import (
     4  	. "github.com/PMoneda/telemetry"
     5  	"github.com/PMoneda/telemetry/registry"
     6  	"github.com/mundipagg/boleto-api/config"
     7  )
     8  
     9  var business *Telemetry
    10  
    11  //InstallBusinessMetrics Instância a telemetria de negócio
    12  func InstallBusinessMetrics(cnf registry.Config) {
    13  	value := Database("boleto-api").RetentionPolicy("business").Measurement("boletos").Tag("host").Value("host0")
    14  	business = BuildTelemetryContext(cnf, Context(value))
    15  	go business.StartTelemetry(true)
    16  }
    17  
    18  //GetBusinessMetrics Obtém um objeto de telemetria do negócio
    19  func GetBusinessMetrics() *Telemetry {
    20  	return business
    21  }
    22  
    23  //PushBusinessMetric Envio dados de negócio para a telemetria
    24  func PushBusinessMetric(tag string, value interface{}) {
    25  	if config.Get().EnableMetrics {
    26  		GetBusinessMetrics().Push(tag, value)
    27  	}
    28  }