指定排序
2020年8月21日小于 1 分钟
package tool
import (
"github.com/prometheus/client_golang/prometheus"
)
const Application = "application"
const Command = "command"
const Database = "database"
const RequestID = "request_id"
const Status = "status"
type MongoStatusEnum string
const (
Success MongoStatusEnum = "success"
Fail MongoStatusEnum = "fail"
Start MongoStatusEnum = "start"
)
var (
mongoHistogram = prometheus.NewHistogramVec(prometheus.HistogramOpts{
Name: "mongodb_operations_duration_seconds",
Help: "mongodb command record",
Buckets: []float64{0.1, 0.5, 1.0, 1.5, 3.0, 5.0, 10.0},
}, []string{Application, Command, Database, RequestID, Status})
)
func init() {
prometheus.MustRegister(mongoHistogram)
}
func AddMetrics(labels prometheus.Labels, speed float64) {
mongoHistogram.With(labels).Observe(speed)
}
public class MybatisMetrics {
private static final String[] labelNames = new String[] { "class", "command", "status" };
public static final Counter QUERY_COUNT = Counter.build()
.name("mybatis_requests_total").help("total sql command.")
.labelNames(labelNames).register();
public static final Gauge QUERY_MAX = Gauge.build()
.name("mybatis_requests_max").help("run sql command latency in seconds.")
.labelNames(labelNames).register();
public static final Summary QUERY_SUMMARY = Summary.build()
.name("mybatis_latency_seconds").help("Request latency in seconds.").labelNames(labelNames)
.register();
}