jaegertracing / jaeger-ui

Web UI for Jaeger
http://jaegertracing.io/
Apache License 2.0
1.13k stars 482 forks source link

refactor: Replace @pyroscope/flamegraph dependency #1870

Open yurishkuro opened 1 year ago

yurishkuro commented 1 year ago

The company behind this module has been acquired by Grafana. The repo moved there https://github.com/grafana/pyroscope, and they changed the license to AGPL, to match the rest of Grafana. AGPL is not allowed in CNCF projects.

We're currently on an old version, and no new versions are expected. It's not an issue right now, but eventually there may be security issues, if not in that module than in its dependencies.

RipulHandoo commented 10 months ago

Hi @yurishkuro,

I noticed the use of Pyroscope in our codebase here and the corresponding test case here.

Considering Pyroscope's move to Grafana with AGPL licensing, I suggest exploring pprof as a potential replacement for our Jaeger UI project.

Steps:

  1. Research pprof's suitability.
  2. Discuss with maintainers.
  3. Decide and implement changes.

Ensuring project security and stability is crucial, and I believe pprof could align well with our needs.

yurishkuro commented 10 months ago

pprof is a standalone tool, not a viz library.

EshaanAgg commented 9 months ago

react-flame-graph seems to be the most popular flame-graph visualisation library out there. It is developed by Brian Vaughn, a core React developer who amoung other things also worked on introducing the React Profiler. It seems like a great library that can be said to be the community's "go-to choice", but it hasn't received any updates since 4 years ago.

Also I couldn't find any other tools that allowed the direct conversion of a Jaegar trace to a flame graph, which could pose a problem for us. As a workaround, can we include this script for conversion from pyroscope/flamegraph into our codebase directly with proper attribution in a way that doesn't violate the licensing requirements?