blob: a5e49178af5d999c325b928097ee6cd729600561 [file] [log] [blame]
khenaidood948f772021-08-11 17:49:24 -04001// 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 rafthttp
16
17import "github.com/prometheus/client_golang/prometheus"
18
19var (
20 sentBytes = prometheus.NewCounterVec(prometheus.CounterOpts{
21 Namespace: "etcd",
22 Subsystem: "network",
23 Name: "peer_sent_bytes_total",
24 Help: "The total number of bytes sent to peers.",
25 },
26 []string{"To"},
27 )
28
29 receivedBytes = prometheus.NewCounterVec(prometheus.CounterOpts{
30 Namespace: "etcd",
31 Subsystem: "network",
32 Name: "peer_received_bytes_total",
33 Help: "The total number of bytes received from peers.",
34 },
35 []string{"From"},
36 )
37
38 sentFailures = prometheus.NewCounterVec(prometheus.CounterOpts{
39 Namespace: "etcd",
40 Subsystem: "network",
41 Name: "peer_sent_failures_total",
42 Help: "The total number of send failures from peers.",
43 },
44 []string{"To"},
45 )
46
47 recvFailures = prometheus.NewCounterVec(prometheus.CounterOpts{
48 Namespace: "etcd",
49 Subsystem: "network",
50 Name: "peer_received_failures_total",
51 Help: "The total number of receive failures from peers.",
52 },
53 []string{"From"},
54 )
55
56 snapshotSend = prometheus.NewCounterVec(prometheus.CounterOpts{
57 Namespace: "etcd",
58 Subsystem: "network",
59 Name: "snapshot_send_success",
60 Help: "Total number of successful snapshot sends",
61 },
62 []string{"To"},
63 )
64
65 snapshotSendInflights = prometheus.NewGaugeVec(prometheus.GaugeOpts{
66 Namespace: "etcd",
67 Subsystem: "network",
68 Name: "snapshot_send_inflights_total",
69 Help: "Total number of inflight snapshot sends",
70 },
71 []string{"To"},
72 )
73
74 snapshotSendFailures = prometheus.NewCounterVec(prometheus.CounterOpts{
75 Namespace: "etcd",
76 Subsystem: "network",
77 Name: "snapshot_send_failures",
78 Help: "Total number of snapshot send failures",
79 },
80 []string{"To"},
81 )
82
83 snapshotSendSeconds = prometheus.NewHistogramVec(prometheus.HistogramOpts{
84 Namespace: "etcd",
85 Subsystem: "network",
86 Name: "snapshot_send_total_duration_seconds",
87 Help: "Total latency distributions of v3 snapshot sends",
88
89 // lowest bucket start of upper bound 0.1 sec (100 ms) with factor 2
90 // highest bucket start of 0.1 sec * 2^9 == 51.2 sec
91 Buckets: prometheus.ExponentialBuckets(0.1, 2, 10),
92 },
93 []string{"To"},
94 )
95
96 snapshotReceive = prometheus.NewCounterVec(prometheus.CounterOpts{
97 Namespace: "etcd",
98 Subsystem: "network",
99 Name: "snapshot_receive_success",
100 Help: "Total number of successful snapshot receives",
101 },
102 []string{"From"},
103 )
104
105 snapshotReceiveInflights = prometheus.NewGaugeVec(prometheus.GaugeOpts{
106 Namespace: "etcd",
107 Subsystem: "network",
108 Name: "snapshot_receive_inflights_total",
109 Help: "Total number of inflight snapshot receives",
110 },
111 []string{"From"},
112 )
113
114 snapshotReceiveFailures = prometheus.NewCounterVec(prometheus.CounterOpts{
115 Namespace: "etcd",
116 Subsystem: "network",
117 Name: "snapshot_receive_failures",
118 Help: "Total number of snapshot receive failures",
119 },
120 []string{"From"},
121 )
122
123 snapshotReceiveSeconds = prometheus.NewHistogramVec(prometheus.HistogramOpts{
124 Namespace: "etcd",
125 Subsystem: "network",
126 Name: "snapshot_receive_total_duration_seconds",
127 Help: "Total latency distributions of v3 snapshot receives",
128
129 // lowest bucket start of upper bound 0.1 sec (100 ms) with factor 2
130 // highest bucket start of 0.1 sec * 2^9 == 51.2 sec
131 Buckets: prometheus.ExponentialBuckets(0.1, 2, 10),
132 },
133 []string{"From"},
134 )
135
136 rtts = prometheus.NewHistogramVec(prometheus.HistogramOpts{
137 Namespace: "etcd",
138 Subsystem: "network",
139 Name: "peer_round_trip_time_seconds",
140 Help: "Round-Trip-Time histogram between peers.",
141 Buckets: prometheus.ExponentialBuckets(0.0001, 2, 14),
142 },
143 []string{"To"},
144 )
145)
146
147func init() {
148 prometheus.MustRegister(sentBytes)
149 prometheus.MustRegister(receivedBytes)
150 prometheus.MustRegister(sentFailures)
151 prometheus.MustRegister(recvFailures)
152
153 prometheus.MustRegister(snapshotSend)
154 prometheus.MustRegister(snapshotSendInflights)
155 prometheus.MustRegister(snapshotSendFailures)
156 prometheus.MustRegister(snapshotSendSeconds)
157 prometheus.MustRegister(snapshotReceive)
158 prometheus.MustRegister(snapshotReceiveInflights)
159 prometheus.MustRegister(snapshotReceiveFailures)
160 prometheus.MustRegister(snapshotReceiveSeconds)
161
162 prometheus.MustRegister(rtts)
163}