question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Identify dependencies in the UI when remote is not instrumented

See original GitHub issue

Requirement - what kind of business use case are you trying to solve?

Visual distinction of service calls in a trace, when the target service does not implement tracing.

Problem - what in Jaeger blocks you from solving the requirement?

From what I can find in documentation/issues, you can get the serviceName set only if you use the Zipkin ingestion or if there is a span.kind=server span that is receiving your remote call. In my scenario, I’d rather use Jaeger-first APIs if possible, and there is no instrumentation on the receiving side. But it seems that span.kind=client doesn’t use the peer.service tag (instead it tries to just hide if there’s instrumentation on both ends).

Proposal - what do you suggest to solve the problem or improve the existing situation?

Since the instrumentation-on-both-ends scenario hides the client span anyway, I propose (if there’s not a workaround) to use peer.service as the span’s service name when there is no server receiving span.

I’m open to any other way to visually distinguish my off-service calls too! (Aside from the workaround that involves spinning up a new Tracer object for each, which was noted in gitter as a workaround but discouraged of its use.

Any open questions to address

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:10 (5 by maintainers)

github_iconTop GitHub Comments

5reactions
yurishkurocommented, Nov 10, 2020

I have a concrete proposal how this can be implemented visually, using already existing functionality. But default, Jaeger shows client-server calls like this:

image

The middle span is the client span, which would become the leaf if the route service was not instrumented. When this span is collapsed, the view changes to show the destination service:

image

I think the same display can be re-purposed for cases when route is not instrumented, but still known via peer.service tag on the client span.

2reactions
yurishkurocommented, Nov 10, 2020

This would only touch the jaeger-ui, right?

Yes.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Dependency list - GitLab Docs
Use the dependency list to review your project's dependencies and key details about those dependencies, including their known vulnerabilities.
Read more >
Learning the Basics - Gradle User Manual
Gradle represents the scope of a dependency with the help of a Configuration. Every configuration can be identified by a unique name. Many...
Read more >
Managing Dependencies - UiPath Documentation Portal
Project dependencies in Studio refer to packages linked into a specific project, containing activities, either default or custom.
Read more >
Run Android test with Robolectric - dependency error
I've been able to fix the same issue by overriding Robolectric Maven repository URL. Sonatype is not available ...
Read more >
Add build dependencies - Android Developers
If the library does not already exist locally, Gradle pulls it from the remote site when the build requires it (such as when...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found