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
}