in enrichments/trace/internal/elastic/span.go [449:495]
func (s *spanEnrichmentContext) setServiceTarget(span ptrace.Span) {
var targetType, targetName string
if s.peerService != "" {
targetName = s.peerService
}
switch {
case s.isDB:
targetType = "db"
if s.dbSystem != "" {
targetType = s.dbSystem
}
if s.dbName != "" {
targetName = s.dbName
}
case s.isMessaging:
targetType = "messaging"
if s.messagingSystem != "" {
targetType = s.messagingSystem
}
if !s.messagingDestinationTemp && s.messagingDestinationName != "" {
targetName = s.messagingDestinationName
}
case s.isRPC:
targetType = "external"
if s.rpcSystem != "" {
targetType = s.rpcSystem
}
if s.rpcService != "" {
targetName = s.rpcService
}
case s.isHTTP:
targetType = "http"
if resource := getHostPort(
s.urlFull, s.urlDomain, s.urlPort,
s.serverAddress, s.serverPort, // fallback
); resource != "" {
targetName = resource
}
}
if targetType != "" || targetName != "" {
span.Attributes().PutStr(elasticattr.ServiceTargetType, targetType)
span.Attributes().PutStr(elasticattr.ServiceTargetName, targetName)
}
}