9 comments

[ 3.3 ms ] story [ 28.9 ms ] thread
Does anyone have recommendation on distributed tracing platform for Java (primarily spring). I'm confused as to what's a standard vs. tracing implementation vs. transport/exporter vs. storage/ui options are. Seems like there's lots of moving pieces to understand.

And it's advantage vs. disadvantage against a profile. Distributed tracing seems more powerful in the face of distributed application (microservice kind though not limited to it) as it can span hosts but limited in the sense that it only trace at coarse level web server > remote service > db kind of way but not providing a view of finer details in a single host (e.g. expensive method calls, computation or lock issues etc.) I wonder if that's a fair characterization or I'm completely off.

(comment deleted)
I’d go for Jaeger. Tracing can be done at any granularity. You can trace individual method calls if you want. Nothing prevents you from doing so.
Yeah! You can do it with Jaeger or Hypertrace. Hypertrace in this case will provide you more entity focused view so you can see dedicated dashboards for your APIs, services and backends.

Identifying expensive method calls is very easy with Hypertrace due to OOB metrics and additional enrichment which happens in ingestion pipeline. Many of our users are using Hypertrace for very similar use-case.

You can always reach out to us on GitHub discussions on https://github.com/hypertrace/hypertrace to discuss more and understand details around it. :)

Why would I use this instead of Jaeger?
When compared to Jaeger, Hypertrace gives you API first and entity focused view. Which means, You can see list of API's in your system, slice and dice on various attributes in your API traces, you can also do similar for Services and backends.

There's dedicated dashboard for every service, API and backend which gives you metrics like latency, calls, error rate along with health radar.

And did I even started talking about explorer? It let's you slice and dice on your trace data as well as span data and also provides you real-time visualizations.

Hypertrace has a richer and more enterprise level functionality when it comes to Distributed tracing. We are adding more features as we are talking including alerting, application metrics support which makes it more of an API Observability tool which can satisfy more wider range of use-cases.

Please give it a try and let me know if you have any feedback or suggestions and we will be happy to address those: https://github.com/hypertrace/hypertrace

Those are nice features, indeed.

The community license may require clarification. It says the following: For example, it does not allow hosting of Hypertrace Metrics, Application Flow, Advanced Slice & Dice or other software licensed under the Traceable Community License as online service offerings that compete with Traceable SaaS products or services that provide the same software. If you are not doing what is excluded, this license will not affect you.

The part "Traceable SaaS products or services that provide the same software" seems deceptively simple yet it's vague. My interpretation would be the following: if I operate a PaaS, regardless of the primary function of this PaaS, where tracing plays a complimentary role, stay away from CL items as any platform with Hypertrace in it "provides same software".

Are you in a position to clarify?

Yup, your interpretation is correct. Basically, if you want to use Community edition for internal purpose at your organization, it's completely available but you can't sell a product built on top of Hypertrace which will compete with any Traceable SaaS product, in any way.