mirror of
https://github.com/opentffoundation/opentf.git
synced 2026-03-13 01:00:50 -04:00
Nomad was manually updated, so revert that to the version in master, remove it from vendor.json and add it to the ignore list. Update all packages that were in an unknown state to their latest master commits.
43 lines
1.1 KiB
Go
43 lines
1.1 KiB
Go
package models
|
|
|
|
// Statistic is the representation of a statistic used by the monitoring service.
|
|
type Statistic struct {
|
|
Name string `json:"name"`
|
|
Tags map[string]string `json:"tags"`
|
|
Values map[string]interface{} `json:"values"`
|
|
}
|
|
|
|
// NewStatistic returns an initialized Statistic.
|
|
func NewStatistic(name string) Statistic {
|
|
return Statistic{
|
|
Name: name,
|
|
Tags: make(map[string]string),
|
|
Values: make(map[string]interface{}),
|
|
}
|
|
}
|
|
|
|
// StatisticTags is a map that can be merged with others without causing
|
|
// mutations to either map.
|
|
type StatisticTags map[string]string
|
|
|
|
// Merge creates a new map containing the merged contents of tags and t.
|
|
// If both tags and the receiver map contain the same key, the value in tags
|
|
// is used in the resulting map.
|
|
//
|
|
// Merge always returns a usable map.
|
|
func (t StatisticTags) Merge(tags map[string]string) map[string]string {
|
|
// Add everything in tags to the result.
|
|
out := make(map[string]string, len(tags))
|
|
for k, v := range tags {
|
|
out[k] = v
|
|
}
|
|
|
|
// Only add values from t that don't appear in tags.
|
|
for k, v := range t {
|
|
if _, ok := tags[k]; !ok {
|
|
out[k] = v
|
|
}
|
|
}
|
|
return out
|
|
}
|