func createDimensionLabels()

in sandbox/CWMetricStreamExporter/lambda/main.go [173:210]


func createDimensionLabels(dimensions Dimensions) []*prompb.Label {
	var labels []*prompb.Label

	// Checks to see if the class / resource / service / type exists, if so creates a label for the dimension.
	if dimensions.Class != "" {
		classLabel := &prompb.Label{
			Name:  "class",
			Value: sanitize(dimensions.Class),
		}
		labels = append(labels, classLabel)
	}

	if dimensions.Resource != "" {
		resourceLabel := &prompb.Label{
			Name:  "resource",
			Value: sanitize(dimensions.Resource),
		}
		labels = append(labels, resourceLabel)
	}

	if dimensions.Service != "" {
		serviceLabel := &prompb.Label{
			Name:  "service",
			Value: sanitize(dimensions.Service),
		}
		labels = append(labels, serviceLabel)
	}

	if dimensions.Type != "" {
		typeLabel := &prompb.Label{
			Name:  "type",
			Value: sanitize(dimensions.Type),
		}
		labels = append(labels, typeLabel)
	}

	return labels
}