Comments (13)
this might be a sign of the wrong timestamps emitted by C++ client. Jaeger thrift defines timestamps as microseconds since epoch. If they are not scaled appropriately, then the search may be mismatching on the time range.
from jaeger-client-cpp.
I had this issue before with @bcherukuri. It had been an issue in the client usage of system_time vs. steady_time. That was already addressed and we got traces. I'll try your example locally and get back to you.
from jaeger-client-cpp.
Found your issue. Relates to opentracing/opentracing-cpp#29. Try setting timestamps manually and see the results.
from jaeger-client-cpp.
Regardless, I somehow get the spans using your code locally.
from jaeger-client-cpp.
from jaeger-client-cpp.
Yes, it I see them if I manually set the timestamps.
It looks like Jaeger is missing logic like this to set the timestamps if they're default constructed.
from jaeger-client-cpp.
It looks like Jaeger is missing logic
do you mean the backend? Timestamps must be set by the tracer impl.
from jaeger-client-cpp.
But I ran your example and it worked. Are you sure it is not something I fixed recently?
from jaeger-client-cpp.
I mean the client library. The equivalent of what's done here in the go tracer.
from jaeger-client-cpp.
I'm also not sure why the convenience method StartSpan
in the base class does not simply do this before passing the timestamp onto the more detailed StartSpanWithOptions
pure virtual method.
from jaeger-client-cpp.
Isn't that what you complained about in this issue: opentracing/opentracing-cpp#29.
But regardless of whether StartSpan sets the timestamps or not you should be able to call StartSpanWithOptions using default constructed timestamps and have the tracer determine the times for you. That's the behavior in Go as well.
from jaeger-client-cpp.
It is the same issue indeed. My only qualm with the comparison with Go is that Go uses nil
which is not a valid timestamp. Technically, January 1st, 1970 12:00:00 A.M. is a timestamp, even if no one should practically use it.
from jaeger-client-cpp.
Go's not using nil. It sets if time.IsZero() (see the comments) which is the same thing as setting to the epoch.
from jaeger-client-cpp.
Related Issues (20)
- Provide access to context HTTP Header name
- Jaeger 32 bit C/C++ client required
- QUESTION: Can not use with hunter manager
- how to release version to real scene
- Unit test: Socket.testFailBind fails when run as "root" HOT 6
- Can we please ditch hunter HOT 1
- Enable ppc64le arch for jaeger-client-cpp
- Unable to build windows in a pipeline.
- Add support for adding tracer tags via config yaml HOT 1
- My jaeger version is 1.23, and the jaeger-collector component has enabled --sampling.strategies-reload-interval, but the collected logs show that the sampling strategy is still old HOT 4
- Envoy - failed to load dynamic library opentracing versions are incomptable
- `RemoteReporter::report()` is blocked
- Default queue size & buffer flush interval are not used when reading configuration from YAML
- Issue facing while trying to build jaeger-client-cpp
- Compilation issue on Ubuntu 20.04 HOT 2
- When the sampling type is rate, the number of actual results is equal to the number of threads multiplied by the configured rate parameter
- warning const' was hidden [-Woverloaded-virtual] when using jaeger client with opentracing libraries
- Enablement TravisCI integration for IBM ppc64le architecture HOT 1
- Deprecate Jaeger C++ SDK HOT 3
- [Bug]: W3C Propagation is wrongfully encoding debug span flag into traceparent HOT 1
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 jaeger-client-cpp.