// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package snap import "github.com/coreos/etcd/Godeps/_workspace/src/github.com/prometheus/client_golang/prometheus" var ( // TODO: save_fsync latency? saveDurations = prometheus.NewHistogram(prometheus.HistogramOpts{ Namespace: "etcd", Subsystem: "snapshot", Name: "save_total_durations_seconds", Help: "The total latency distributions of save called by snapshot.", Buckets: prometheus.ExponentialBuckets(0.001, 2, 14), }) marshallingDurations = prometheus.NewHistogram(prometheus.HistogramOpts{ Namespace: "etcd", Subsystem: "snapshot", Name: "save_marshalling_durations_seconds", Help: "The marshalling cost distributions of save called by snapshot.", Buckets: prometheus.ExponentialBuckets(0.001, 2, 14), }) ) func init() { prometheus.MustRegister(saveDurations) prometheus.MustRegister(marshallingDurations) }
pendingEventsGauge = prometheus.NewGauge( prometheus.GaugeOpts{ Namespace: "etcd", Subsystem: "storage", Name: "pending_events_total", Help: "Total number of pending events to be sent.", }) indexCompactionPauseDurations = prometheus.NewHistogram( prometheus.HistogramOpts{ Namespace: "etcd", Subsystem: "storage", Name: "index_compaction_pause_duration_milliseconds", Help: "Bucketed histogram of index compaction puase duration.", // 0.5ms -> 1second Buckets: prometheus.ExponentialBuckets(0.5, 2, 12), }) dbCompactionPauseDurations = prometheus.NewHistogram( prometheus.HistogramOpts{ Namespace: "etcd", Subsystem: "storage", Name: "db_compaction_pause_duration_milliseconds", Help: "Bucketed histogram of db compaction puase duration.", // 1ms -> 4second Buckets: prometheus.ExponentialBuckets(1, 2, 13), }) dbCompactionTotalDurations = prometheus.NewHistogram( prometheus.HistogramOpts{ Namespace: "etcd",
requestsDropped = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: "etcd", Subsystem: "proxy", Name: "dropped_total", Help: "Counter of requests dropped on the proxy.", }, []string{"method", "proxying_error"}) requestsHandlingTime = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Namespace: "etcd", Subsystem: "proxy", Name: "handling_duration_seconds", Help: "Bucketed histogram of handling time of successful events (non-watches), by method " + "(GET/PUT etc.).", Buckets: prometheus.ExponentialBuckets(0.0005, 2, 13), }, []string{"method"}) ) type forwardingError string const ( zeroEndpoints forwardingError = "zero_endpoints" failedSendingRequest forwardingError = "failed_sending_request" failedGettingResponse forwardingError = "failed_getting_response" ) func init() { prometheus.MustRegister(requestsIncoming) prometheus.MustRegister(requestsHandled) prometheus.MustRegister(requestsDropped)