func GetTags()

in pkg/plugin/cloudtrace/cloudtrace.go [91:114]


func GetTags(span *tracepb.TraceSpan) (serviceTags json.RawMessage, spanTags json.RawMessage, err error) {
	spanLabels := span.GetLabels()
	serviceTagsMapArray := []map[string]string{}
	spanTagsMapArray := []map[string]string{}
	for key, value := range spanLabels {
		if strings.HasPrefix(key, servicePrefix) || strings.HasPrefix(key, gaeServicePrefix) {
			serviceTagsMapArray = append(serviceTagsMapArray, map[string]string{"key": key, "value": value})
		} else {
			spanTagsMapArray = append(spanTagsMapArray, map[string]string{"key": key, "value": value})
		}
	}

	serviceTags, err = json.Marshal(serviceTagsMapArray)
	if err != nil {
		return nil, nil, err
	}

	spanTags, err = json.Marshal(spanTagsMapArray)
	if err != nil {
		return nil, nil, err
	}

	return serviceTags, spanTags, nil
}