- Follow fork/threads
Currently, when watching a pid, we do not have a way to follow forks.
We need to watch FORK/EXIT events and create/dispose additional perf
streams from the kernel.
- Add cpu/mem/net data source
- Add frame types for generic counters
- Add support for visualizations other than the callgraph.
1) I'd like to see a graph of call depth over time.
2) line graphs for cpu/mem/net.
3) disk I/O
One quick way to put together the UI is to just use ListBox for the
rows. Then we need a "graph" child that allows drawing. The nice thing
here is that we get pixel caching for free. Resizing the row height
gets a little annoying though.
- Remote Profiler Support
SpProfiler is an interface, for which we only currently have an
SpLocalProfiler implementation. It would be nice to gain a
SpRemoteProfiler that can use SSH to connect to another machine
and run the sysprof-cli client. The couple of tricky parts are
going to revolve around setting up sources.
- Specify Debug Directory (or alternative)
When analyizing profiling information from another machine, we need access
to the symbols. Currently, we have no way to do this, but it would be nice
if we could have one of two ways to resolve this issue:
1) When finishing up the profiling session, we could do a pass through all
the symbols and extract them on the target machine. We could then append
this information with a new CaptureFrame type to the capture.
2) Specify a directory to load debug symbols from.
I think my preference is #1.