Service graph
Service Graphs provide a visual representation of service interactions, dependencies, and performance metrics. Service graphs are built by analyzing span relationships and require specific span attributes.
To have a service graph or to improve the quality of the existing service graph, consider adding the following attributes.
General attributes
service.nameis an attribute that represents the logical name of the service. Required._kind(span_kind) categorizes the type of work being represented by the span. Make sure your traces haveclient/serverorproducer/consumerspan pairs. Required._status_code(span_status_code) provides information about the result of a specific operation or unit of work represented by this span. This attribute helps to monitor and understand the success, failure, or other conditions of a given operation. Recommended.
RPC calls
rpc.servicerepresents the full (logical) name of the service being called. Optional.
DB calls
db.namecontains the name of the database being accessed. Recommended if you have multiple databases.
HTTP calls
server.socket.domainrepresents the domain name of an immediate peer. Required for HTTP calls.server.socket.addressrepresents the physical server IP address or Unix socket address. Required for HTTP calls ifserver.socket.domainis not provided.
Messaging calls
messaging.destination.nameis the message destination name, for example,MyQueue,MyTopic.messaging.client_idis a unique identifier for the client that consumes or produces a message.messaging.kafka.consumer.groupis the name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not producers.