Comments (6)
That's correct behavior. When you have only one span, all the ids in the trace will be the same. There are two services/nodes (I'll call them nodes, since not all points in the graph have to be services) here, but only one span, because a span represents the interaction between two nodes.
If you introduce a third node, for example a web browser, which calls the first service, then there will be two spans in the trace.
from zipkin-js.
Great explanation, Eirik
On 30 Aug 2016 3:50 am, "Eirik Sletteberg" [email protected] wrote:
That's correct behavior. When you have only one span, all the ids in the
trace will be the same. There are two services/nodes (I'll call them nodes,
since not all points in the graph have to be services) here, but only one
span, because a span represents the interaction between two nodes.
If you introduce a third node, for example a web browser, which calls the
first service, then there will be two spans in the trace.—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#38 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAD61x-GF2yp6vfraB8mBV5S5mrI15H9ks5qkzftgaJpZM4Jvj6a
.
from zipkin-js.
Usually, you would see a setup like this:
browser -> front-facing webapp -> microservice 1 -> microservice 2 -> database
Then, the root span would be "front-facing webapp" in the Zipkin UI. So even if the trace is triggered by the browser, the span starts at the first service.
from zipkin-js.
Ah awesome, got it, thanks :)
However, the Zipkin UI span detail does not seem as expressive as imagined to me. Intuitively I would have expected the root span to be the top span. Right now the only way to see what's the root service is by looking at the url or opening the top span.
Also the metadata of the spans are emitted twice.
I can totally live with both, I just want to make sure that it's the intended behaviour. Can you confirm that?
Btw, it's an awesome tracing solution, happy I came across!
from zipkin-js.
mind posting your example? or modifying this?
openzipkin/zipkin-js-example#1
You should see a root span, for sure..
On Tue, Aug 30, 2016 at 4:51 PM, 21stio [email protected] wrote:
Ah awesome, got it, thanks :)
However, the Zipkin UI span detail does not seem as expressive as imagined
to me. Intuitively I would have expected the root span to be the top span.
Right now the only way to see what's the root service is by looking at the
url or opening the top span.
[image: screen shot 2016-08-30 at 10 47 52]
https://cloud.githubusercontent.com/assets/17232576/18082445/48b3ab58-6e9f-11e6-9ddd-c2818ac2520f.pngAlso the metadata of the spans are emitted twice.
[image: screen shot 2016-08-30 at 10 48 00]
https://cloud.githubusercontent.com/assets/17232576/18082456/4db2968c-6e9f-11e6-8764-4f021bad6313.pngI can totally live with both, I just want to make sure that it's the
intended behaviour. Can you confirm that?Btw, it's an awesome tracing solution, happy I came across!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
#38 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAD610QvOHnaqnaC-1Y3NUgo2Om1bfDqks5qk-8ugaJpZM4Jvj6a
.
from zipkin-js.
Hey,
I ran another test I finally understood how it's working. The service that will be hit first is the root span even if the service that triggers the request itself is traced.
root service is root span
Browser -> root service -> child_one -> child_two
child_one is root span
root service -> child_one -> child_two
Thanks a lot guys! :)
from zipkin-js.
Related Issues (20)
- Trace ID not Maintained over Multiple Service Hops with Express/Fetch HOT 2
- Allow adding arbitrary tags on span HOT 1
- gotjs intrumentation is not working HOT 3
- Makes HttpLogger flushable and/or sync optionally HOT 2
- node-fetch is listed as devDependency but it is required as the default fetch HOT 1
- Instrumentations multiple instances HOT 1
- isOptional and Related checks are wrong and breaks compatibility between versions HOT 5
- ES6 import doesn't work with 'zipkin-context-cls' HOT 1
- Migrate to Github Actions
- Switch CI to GitHub actions HOT 3
- Does zipkin support grpc server in javascript now?
- How to pass custom header in zipkin with multi-service request
- zipkin-instrumentation-axiosjs not preserving traceId HOT 1
- Integration with NextJs
- Separate Trace is getting created in case of wrapping Axios Client HOT 1
- zipkin-cls-context test can't passed
- zipkin-js doesn't work with last versions of create-react-app (react-scripts) 5 or webpack 5
- Missing parent link
- Help with "exclude urls" in HttpLogger of zipkin-transport-http
- please help with maintenance or archive this HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from zipkin-js.