Skip to content
Snippets Groups Projects
utils.go 834 B
package metrics

import "github.com/prometheus/client_golang/prometheus"

// GetLabelsFromKV преобразует массив строк args в метки типа prometheus.Labels.
//
// Функция ожидает, что каждое значение будет следовать за соответствующим ключом в массиве args,
// и возвращает метки, соответствующие парам ключ-значение.
func GetLabelsFromKV(args []string) prometheus.Labels {
	labels := make(prometheus.Labels, len(args)/2)
	for len(args) > 0 {
		// если в массиве args остался только один элемент, он будет проигнорирован
		if len(args) == 1 {
			break
		}

		labels[args[0]] = args[1]
		args = args[2:]
	}
	return labels
}