Skip to content

Feature (service graph): inferred services/entities #121

@utrack

Description

@utrack

Is your feature request related to a problem? Please describe

It's very useful to see all the 3rd-party services that your service is calling, even if that service does not report any traces (as it usually happens).

They might include any real 3rd parties (some SaaS), legacy systems that don't support tracing, and databases that don't report them.

Some monitoring solutions (I'm looking at Datadog specifically) support a thing called 'Inferred services' - services that don't report traces of its own, but they appear in the service list/graph as separate nodes.

Describe the solution you'd like

Display the 'inferred' services in the service graph.

There is an inferred service if:

  • There is a span with the kind: client
  • There's no child span
  • (optional) There is some other information in the client span which lets you understand the system type (ex: there are database attributes, or the span comes from the HTTP or gRPC client)

If it's a DB, then display the namespace+hostname as a name (which will let you link many services to one node if they use the same DB), if it's an RPC - then the hostname+port will do.

Describe alternatives you've considered

No response

Additional information

Related issues:

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions