github.com/polarismesh/polaris@v1.17.8/plugin/healthchecker/leader/metrics.go (about) 1 /** 2 * Tencent is pleased to support the open source community by making Polaris available. 3 * 4 * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved. 5 * 6 * Licensed under the BSD 3-Clause License (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * https://opensource.org/licenses/BSD-3-Clause 11 * 12 * Unless required by applicable law or agreed to in writing, software distributed 13 * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 14 * CONDITIONS OF ANY KIND, either express or implied. See the License for the 15 * specific language governing permissions and limitations under the License. 16 */ 17 18 package leader 19 20 import ( 21 "github.com/prometheus/client_golang/prometheus" 22 23 "github.com/polarismesh/polaris/common/metrics" 24 "github.com/polarismesh/polaris/common/utils" 25 ) 26 27 var ( 28 beatRecordCost *prometheus.HistogramVec 29 ) 30 31 const ( 32 labelAction = "action" 33 labelCode = "code" 34 ) 35 36 func registerMetrics() { 37 beatRecordCost = prometheus.NewHistogramVec(prometheus.HistogramOpts{ 38 Name: "leader_checker_heartbeat_op", 39 Help: "desc leader_checker heartbeat operation time cost", 40 ConstLabels: map[string]string{ 41 metrics.LabelServerNode: utils.LocalHost, 42 }, 43 Buckets: []float64{5, 10, 15, 20, 30, 50, 100, 500, 1000, 5000}, 44 }, []string{labelAction, labelCode}) 45 46 _ = metrics.GetRegistry().Register(beatRecordCost) 47 }