猿问

动态添加键值映射到结构

我想弄清楚如何将 a 的键值对添加map[string]string到我的 prometheus.Labels 结构中。


如果您有使用普罗米修斯的经验:我正在尝试动态添加标签及其值。


labelsMap := make(map[string]string)

labelsMap["nodepool"] = "default"

labelsMap["zone"] = "europe-west"


// here I'd like to add my key / value pairs from my map

containerLabels := prometheus.Labels{

    "node":      "nodename",

    "container": "foo",

    "qos":       "bar",

}

requestedContainerCPUCoresGauge.With(containerLabels).Set(containerMetric.RequestedCPUCores)

我的问题:


如何labelsMap在我的 containerLabels 中动态添加给定映射中的键/值对?


肥皂起泡泡
浏览 97回答 1
1回答

阿晨1998

您可以在 上使用一个简单的for range循环labelsMap,并添加每一对,例如:containerLabels := prometheus.Labels{}for k, v := range labelsMap {    containerLabels[k] = v}或者 sinceprometheus.Labels只是一个简单的映射:type Labels map[string]string如果你不想修改labelsMap之后的内容,一个简单的类型转换也可以:containerLabels := prometheus.Labels(labelsMap)
随时随地看视频慕课网APP

相关分类

Go
我要回答