blob: 34157080499b6fd40076b39ca48b1c579921ae30 [file] [log] [blame]
khenaidooffe076b2019-01-15 16:08:08 -05001// Copyright 2016 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 backend
16
17import "github.com/prometheus/client_golang/prometheus"
18
19var (
20 commitDurations = prometheus.NewHistogram(prometheus.HistogramOpts{
21 Namespace: "etcd",
22 Subsystem: "disk",
23 Name: "backend_commit_duration_seconds",
24 Help: "The latency distributions of commit called by backend.",
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 defragDurations = prometheus.NewHistogram(prometheus.HistogramOpts{
32 Namespace: "etcd",
33 Subsystem: "disk",
34 Name: "backend_defrag_duration_seconds",
35 Help: "The latency distribution of backend defragmentation.",
36
37 // 100 MB usually takes 1 sec, so start with 10 MB of 100 ms
38 // lowest bucket start of upper bound 0.1 sec (100 ms) with factor 2
39 // highest bucket start of 0.1 sec * 2^12 == 409.6 sec
40 Buckets: prometheus.ExponentialBuckets(.1, 2, 13),
41 })
42
43 snapshotDurations = prometheus.NewHistogram(prometheus.HistogramOpts{
44 Namespace: "etcd",
45 Subsystem: "disk",
46 Name: "backend_snapshot_duration_seconds",
47 Help: "The latency distribution of backend snapshots.",
48
49 // lowest bucket start of upper bound 0.01 sec (10 ms) with factor 2
50 // highest bucket start of 0.01 sec * 2^16 == 655.36 sec
51 Buckets: prometheus.ExponentialBuckets(.01, 2, 17),
52 })
53)
54
55func init() {
56 prometheus.MustRegister(commitDurations)
57 prometheus.MustRegister(defragDurations)
58 prometheus.MustRegister(snapshotDurations)
59}