func()

in operatortrace-go/pkg/client/tracing_client.go [117:141]


func (tc *tracingClient) EmbedTraceIDInNamespacedName(key *client.ObjectKey, obj client.Object) error {
	traceID := obj.GetAnnotations()[constants.TraceIDAnnotation]
	spanID := obj.GetAnnotations()[constants.SpanIDAnnotation]
	if traceID == "" || spanID == "" {
		return nil
	}

	gvk, err := apiutil.GVKForObject(obj, tc.scheme)
	if err != nil {
		return fmt.Errorf("problem getting the scheme: %w", err)
	}
	objectKind := gvk.GroupKind().Kind
	objectName := obj.GetName()

	embedTraceID := &EmbedTraceID{
		TraceID:    traceID,
		SpanID:     spanID,
		ObjectKind: objectKind,
		ObjectName: objectName,
		KeyName:    key.Name,
	}
	key.Name = embedTraceID.ToString()
	tc.Logger.Info("EmbedTraceIDInNamespacedName", "objectName", key.Name)
	return nil
}