metricator/pkg/schema/metric.go

42 lines
1005 B
Go

package schema
// Metric is a generic metric structure. Used in HTTP responses and data storage.
type Metric struct {
// BaseName is a metric's base name, used for constructing name.
BaseName string
// Name is a metric name.
Name string
// Description is a metric description from HELP line.
Description string
// Type is a metric type from TYPE line.
Type string
// Value is a metric value.
Value string
// Params is an additional params which are placed inside "{}".
Params []string
}
// NewMetric creates new structure for storing single metric data.
func NewMetric(name, mType, description string, params []string) Metric {
metric := Metric{
BaseName: name,
Name: name,
Description: description,
Type: mType,
Params: params,
Value: "",
}
return metric
}
// GetValue returns metric's value.
func (m *Metric) GetValue() string {
return m.Value
}
// SetValue sets value for metric.
func (m *Metric) SetValue(value string) {
m.Value = value
}