func overrideTraceIDFromNamespacedName()

in operatortrace-go/pkg/client/annotations.go [44:59]


func overrideTraceIDFromNamespacedName(key client.ObjectKey, obj client.Object) error {
	embedTraceID := &EmbedTraceID{}
	if err := embedTraceID.FromString(key.Name); err != nil {
		return nil
	}

	if obj.GetAnnotations() == nil {
		obj.SetAnnotations(map[string]string{})
	}
	annotations := obj.GetAnnotations()
	annotations[constants.TraceIDAnnotation] = embedTraceID.TraceID
	annotations[constants.SpanIDAnnotation] = embedTraceID.SpanID
	annotations[constants.TraceIDTimeAnnotation] = time.Now().Format(time.RFC3339)
	obj.SetAnnotations(annotations)
	return nil
}