2013-04-03 20:33:32 +04:00
|
|
|
// Copyright (c) 2013, Prometheus Team
|
2013-01-19 17:48:30 +04:00
|
|
|
// All rights reserved.
|
|
|
|
//
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file.
|
2012-05-24 22:02:44 +04:00
|
|
|
|
2013-04-03 20:33:32 +04:00
|
|
|
package prometheus
|
2012-05-24 22:02:44 +04:00
|
|
|
|
2013-04-19 16:11:01 +04:00
|
|
|
import "encoding/json"
|
|
|
|
|
2013-01-19 17:48:30 +04:00
|
|
|
// A Metric is something that can be exposed via the registry framework.
|
2012-05-24 22:02:44 +04:00
|
|
|
type Metric interface {
|
2013-04-19 16:11:01 +04:00
|
|
|
// Produce a JSON representation of the metric.
|
|
|
|
json.Marshaler
|
2013-01-19 17:48:30 +04:00
|
|
|
// Reset the parent metrics and delete all child metrics.
|
|
|
|
ResetAll()
|
|
|
|
// Produce a human-consumable representation of the metric.
|
2012-12-19 14:10:09 +04:00
|
|
|
String() string
|
2012-05-24 22:02:44 +04:00
|
|
|
}
|