github.com/mundipagg/boleto-api@v0.0.0-20230620145841-3f9ec742599f/metrics/timing.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 timing *Telemetry
    10  
    11  //InstallTimingMetrics Instância a telemetria de tempo de resposta
    12  func InstallTimingMetrics(cnf registry.Config) {
    13  	value := Database("boleto-api").RetentionPolicy("runtime").Measurement("timing").Tag("host").Value("host0")
    14  	timing = BuildTelemetryContext(cnf, Context(value))
    15  	go timing.StartTelemetry(true)
    16  }
    17  
    18  //GetTimingMetrics Obtém um objeto de telemetria do tempo de resposta
    19  func GetTimingMetrics() *Telemetry {
    20  	return timing
    21  }
    22  
    23  //PushTimingMetric Envio dados de tempo de resposta para a telemetria
    24  func PushTimingMetric(tag string, value interface{}) {
    25  	if config.Get().EnableMetrics {
    26  		GetTimingMetrics().Push(tag, value)
    27  	}
    28  }