blob: 2affecf47269a2041d64e68f082871b55d5e0ee6 [file] [log] [blame]
khenaidoo59ce9dd2019-11-11 13:05:32 -05001// Copyright 2015 The etcd Authors
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package snap
16
17import "github.com/prometheus/client_golang/prometheus"
18
19var (
20 snapMarshallingSec = prometheus.NewHistogram(prometheus.HistogramOpts{
21 Namespace: "etcd_debugging",
22 Subsystem: "snap",
23 Name: "save_marshalling_duration_seconds",
24 Help: "The marshalling cost distributions of save called by snapshot.",
25
26 // lowest bucket start of upper bound 0.001 sec (1 ms) with factor 2
27 // highest bucket start of 0.001 sec * 2^13 == 8.192 sec
28 Buckets: prometheus.ExponentialBuckets(0.001, 2, 14),
29 })
30
31 snapSaveSec = prometheus.NewHistogram(prometheus.HistogramOpts{
32 Namespace: "etcd_debugging",
33 Subsystem: "snap",
34 Name: "save_total_duration_seconds",
35 Help: "The total latency distributions of save called by snapshot.",
36
37 // lowest bucket start of upper bound 0.001 sec (1 ms) with factor 2
38 // highest bucket start of 0.001 sec * 2^13 == 8.192 sec
39 Buckets: prometheus.ExponentialBuckets(0.001, 2, 14),
40 })
41
42 snapFsyncSec = prometheus.NewHistogram(prometheus.HistogramOpts{
43 Namespace: "etcd",
44 Subsystem: "snap",
45 Name: "fsync_duration_seconds",
46 Help: "The latency distributions of fsync called by snap.",
47
48 // lowest bucket start of upper bound 0.001 sec (1 ms) with factor 2
49 // highest bucket start of 0.001 sec * 2^13 == 8.192 sec
50 Buckets: prometheus.ExponentialBuckets(0.001, 2, 14),
51 })
52
53 snapDBSaveSec = prometheus.NewHistogram(prometheus.HistogramOpts{
54 Namespace: "etcd",
55 Subsystem: "snap_db",
56 Name: "save_total_duration_seconds",
57 Help: "The total latency distributions of v3 snapshot save",
58
59 // lowest bucket start of upper bound 0.1 sec (100 ms) with factor 2
60 // highest bucket start of 0.1 sec * 2^9 == 51.2 sec
61 Buckets: prometheus.ExponentialBuckets(0.1, 2, 10),
62 })
63
64 snapDBFsyncSec = prometheus.NewHistogram(prometheus.HistogramOpts{
65 Namespace: "etcd",
66 Subsystem: "snap_db",
67 Name: "fsync_duration_seconds",
68 Help: "The latency distributions of fsyncing .snap.db file",
69
70 // lowest bucket start of upper bound 0.001 sec (1 ms) with factor 2
71 // highest bucket start of 0.001 sec * 2^13 == 8.192 sec
72 Buckets: prometheus.ExponentialBuckets(0.001, 2, 14),
73 })
74)
75
76func init() {
77 prometheus.MustRegister(snapMarshallingSec)
78 prometheus.MustRegister(snapSaveSec)
79 prometheus.MustRegister(snapFsyncSec)
80 prometheus.MustRegister(snapDBSaveSec)
81 prometheus.MustRegister(snapDBFsyncSec)
82}