surport outside instance

This commit is contained in:
bryanqiu 2022-12-21 16:46:56 +08:00
parent b70e9ff90d
commit 1d8453af9d

View File

@ -4,6 +4,7 @@ import (
"errors"
"fmt"
"net/http"
"strings"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
@ -39,9 +40,16 @@ func dumpMetricExporterPusher() error {
return errors.New("not initilized, forgot call 'SetupMetricsExporterPusher'?")
}
func InitMetrics() {
instance := getInstanceIpAddress()
log.Infof("self instance ip: [%s]", instance)
func InitMetrics(instanceValue string) {
var instance = instanceValue
if instanceValue == "" {
instance = getInstanceIpAddress()
} else if ap := strings.Split(instanceValue, ":"); len(ap) == 2 &&
ap[0] == "0.0.0.0" || ap[0] == "" {
instance = getInstanceIpAddress() + ":" + ap[1]
}
log.Infof("self instance: [%s]", instance)
metricApiCounter = prometheus.NewCounterVec(
prometheus.CounterOpts{
Name: "api_requests_total",
@ -59,6 +67,7 @@ func InitMetrics() {
},
[]string{"api", "errcode", "appid"},
)
metricRegistry = prometheus.NewRegistry()
metricRegistry.MustRegister(metricApiCounter)
metricRegistry.MustRegister(metricApiSummary)