JuliaPerf / JuliaPerf/PProf.jl
Split package in two, to separate building profile protos from visualizing profiles
- Dominant language
- Julia
- Stars
- 173
- Forks
- 20
- PR merge metrics
- No merged PRs in 30d
Description
## Problem
- `pprof_jll` now depends on `Graphviz_jll` since https://github.com/JuliaPackaging/Yggdrasil/pull/5652.
- this is an attempt to address https://github.com/JuliaPerf/PProf.jl/issues/16
- This has some disadvantages
- dependency bloat
- adding packages with licenses some users may not want (e.g. custom libpng license, LGPL license for Cairo)
- It’s a significant number of JLLs that are added.
- graphviz, pango, cairo, etc.
## Proposal
Some users don't actually need `pprof_jll` as a dependency (for example, at RAI). The parts of PProf.jl that we do need, are the parts that convert a profile into the pprof protobuf format. The `pprof_jll` is there for users to be able to visualize the profiles. We only use PProf for generating protos, as part of https://github.com/JuliaPerf/PerformanceProfilingHttpEndpoints.jl.
What this suggests to me is that probably we should split the PProf package in two (in the same repo):
- `PProf.jl` (Visualization + generating profiles), and
- `PProfProducer`, or `PProfConverter`, or `PProfCore`, or something like that, which is a package that just provides the `profile => pprof.pb.gz` conversion functionality.
Then RAI could depend only on the latter, and thus we wouldn't depend on `graphviz_jll`.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.