Documentation ¶
Index ¶
- Constants
- func EncodeMetricStreamTags(tags Tags) string
- func EncodeMetricTags(tags Tags) []string
- func GetBaseTags() []string
- func MetricNameWithStreamTags(metric string, tags Tags) string
- func PrepStreamTags(tagList string) (string, error)
- type JSONMetric
- type JSONMetrics
- type Tag
- type TaggedMetric
- type TaggedMetrics
- type Tags
Constants ¶
const ( // Delimiter defines character separating category from value in a tag e.g. location:london Delimiter = ":" // Separator defines character separating tags in a list e.g. os:centos,location:sfo Separator = "," MAX_TAGS = 256 //nolint: golint MAX_METRIC_NAME_LEN = 4096 //nolint: golint )
Variables ¶
This section is empty.
Functions ¶
func EncodeMetricStreamTags ¶ added in v0.19.2
EncodeMetricStreamTags encodes Tags into a string suitable for use with stream tags. Tags directly embedded into metric names using the `metric_name|ST[<tags>]` syntax.
func EncodeMetricTags ¶ added in v0.19.2
EncodeMetricTags encodes Tags into an array of strings. The format check_bundle.metircs.metric.tags needs. This helper is intended to work with legacy check bundle metrics. Tags directly on named metrics are being deprecated in favor of stream tags.
func GetBaseTags ¶ added in v0.19.0
func GetBaseTags() []string
GetBaseTags returns the check.tags as a list if check.metric_streamtags is true ensuring that all metrics have, at a minimum, the same base set of tags
func MetricNameWithStreamTags ¶ added in v0.19.2
MetricNameWithStreamTags will encode tags as stream tags into supplied metric name. Note: if metric name already has stream tags it is assumed the metric name and embedded stream tags are being managed manually and calling this method will nave no effect.
func PrepStreamTags ¶
PrepStreamTags accepts a comma delimited list of key:value pairs and returns a stream tag formatted spec or an error if there are issues with the format of the supplied tag list.
Types ¶
type JSONMetric ¶
type JSONMetric struct { Tags []string `json:"_tags"` Type string `json:"_type"` Value interface{} `json:"_value"` }
JSONMetric defines an individual metric received in JSON
type JSONMetrics ¶
type JSONMetrics map[string]JSONMetric
JSONMetrics holds list of JSON metrics received at /write receiver interface
type TaggedMetric ¶ added in v0.19.0
type TaggedMetric struct { Tags *Tags `json:"_tags"` Type string `json:"_type"` Value interface{} `json:"_value"` }
TaggedMetric definefs a tagged metric
type TaggedMetrics ¶ added in v0.19.0
type TaggedMetrics map[string]TaggedMetric
TaggedMetrics is a list of metrics with tags
type Tags ¶ added in v0.19.0
Tags aliases cgm's Tags to centralize definition
func FromList ¶ added in v0.19.0
FromList convert old style list of tags []string{"cat:val","cat:val",...} into a Tags structure
func FromString ¶ added in v0.19.0
FromString convert old style tag string spec "cat:val,cat:val,..." into a Tags structure