mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
snap: use Histogram for snap metrics
This commit is contained in:
parent
d90a47656e
commit
c1e4e647eb
@ -73,11 +73,11 @@ Example Prometheus queries that may be useful from these metrics (across all etc
|
|||||||
|
|
||||||
### snapshot
|
### snapshot
|
||||||
|
|
||||||
| Name | Description | Type |
|
| Name | Description | Type |
|
||||||
|--------------------------------------------|------------------------------------------------------------|---------|
|
|--------------------------------------------|------------------------------------------------------------|-----------|
|
||||||
| snapshot_save_total_durations_microseconds | The total latency distributions of save called by snapshot | Summary |
|
| snapshot_save_total_durations_seconds | The total latency distributions of save called by snapshot | Histogram |
|
||||||
|
|
||||||
Abnormally high snapshot duration (`snapshot_save_total_durations_microseconds`) indicates disk issues and might cause the cluster to be unstable.
|
Abnormally high snapshot duration (`snapshot_save_total_durations_seconds`) indicates disk issues and might cause the cluster to be unstable.
|
||||||
|
|
||||||
|
|
||||||
### rafthttp
|
### rafthttp
|
||||||
|
@ -18,18 +18,20 @@ import "github.com/coreos/etcd/Godeps/_workspace/src/github.com/prometheus/clien
|
|||||||
|
|
||||||
var (
|
var (
|
||||||
// TODO: save_fsync latency?
|
// TODO: save_fsync latency?
|
||||||
saveDurations = prometheus.NewSummary(prometheus.SummaryOpts{
|
saveDurations = prometheus.NewHistogram(prometheus.HistogramOpts{
|
||||||
Namespace: "etcd",
|
Namespace: "etcd",
|
||||||
Subsystem: "snapshot",
|
Subsystem: "snapshot",
|
||||||
Name: "save_total_durations_microseconds",
|
Name: "save_total_durations_seconds",
|
||||||
Help: "The total latency distributions of save called by snapshot.",
|
Help: "The total latency distributions of save called by snapshot.",
|
||||||
|
Buckets: prometheus.ExponentialBuckets(0.001, 2, 14),
|
||||||
})
|
})
|
||||||
|
|
||||||
marshallingDurations = prometheus.NewSummary(prometheus.SummaryOpts{
|
marshallingDurations = prometheus.NewHistogram(prometheus.HistogramOpts{
|
||||||
Namespace: "etcd",
|
Namespace: "etcd",
|
||||||
Subsystem: "snapshot",
|
Subsystem: "snapshot",
|
||||||
Name: "save_marshalling_durations_microseconds",
|
Name: "save_marshalling_durations_seconds",
|
||||||
Help: "The marshalling cost distributions of save called by snapshot.",
|
Help: "The marshalling cost distributions of save called by snapshot.",
|
||||||
|
Buckets: prometheus.ExponentialBuckets(0.001, 2, 14),
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -74,12 +74,12 @@ func (s *Snapshotter) save(snapshot *raftpb.Snapshot) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
} else {
|
} else {
|
||||||
marshallingDurations.Observe(float64(time.Since(start).Nanoseconds() / int64(time.Microsecond)))
|
marshallingDurations.Observe(float64(time.Since(start)) / float64(time.Second))
|
||||||
}
|
}
|
||||||
|
|
||||||
err = ioutil.WriteFile(path.Join(s.dir, fname), d, 0666)
|
err = ioutil.WriteFile(path.Join(s.dir, fname), d, 0666)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
saveDurations.Observe(float64(time.Since(start).Nanoseconds() / int64(time.Microsecond)))
|
saveDurations.Observe(float64(time.Since(start)) / float64(time.Second))
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user