Inferred services

Learn how Observe by Snowflake infers services from the spans of your instrumented services.

Observe by Snowflake infers databases, message brokers, and uninstrumented services from the spans your instrumented services send when they call out to them. They appear in APM alongside your instrumented services, so you can see your dependencies and how they perform without adding instrumentation to them.

How services are inferred

The following table summarizes how services are inferred.

ServiceInferred fromExample
DatabaseOutbound client spans with database attributes such as db.system.name and db.statement.PostgreSQL, MySQL, Redis, MongoDB
Message brokerProducer and consumer spans with messaging attributes such as messaging.system and messaging.destination.name for queue or topic level visibility.Kafka, RabbitMQ, SQS
Uninstrumented serviceOutbound remote spans with no matching span from the receiving service, identified by server.address and server.port.Third-party APIs, legacy services, hosts not yet instrumented

Inferred services only appear if an instrumented service calls them during the selected time range. Their RED metrics are measured from the caller's side, so they include network time and don't reflect what happens inside the service.

Where do inferred services appear?

Inferred services appear in the Service Maps, Database Inspector, Message Broker Inspector, and the Performance Breakdown chart.

Service Maps

All node types appear on the global, dependency, and endpoint-scoped maps, with RED metrics on each node and edge so you can see every external system a service relies on.

In this example, our Service Map is in Error rate mode. Inferred services, such as Kafka, show their logo inside the node. Uninstrumented services are shown with a dotted outline:

Here's how to read the nodes based on their color and outline. You can also hover on any node to view its tooltip to get clarity:

NodeDescription
Uninstrumented node in Service health modePurple dotted outline.
Uninstrumented node in Error rate modeLight blue dotted outline, such as currency and flagd in this example.
Nodes with no service entry points in either Service health or Error rate modeDark blue dotted outline, such as fraud-detection, and the node with accounting in this example.

Database Inspector

View the statements and operations run against each database, along with their latency and error rates.

Message Broker Inspector

Find the topics and queues each broker handles, and spot which ones are bottlenecks.

Performance breakdown chart

See how much of a service's time is spent waiting on databases, brokers, and external calls. Group by additional granularity like operation, queue, port.





Did this page help you?