grafana / pyroscope-rs

Pyroscope Profiler for Rust. Profile your Rust applications.
Apache License 2.0
139 stars 28 forks source link

0.4.0 release #23

Closed omarabid closed 2 years ago

omarabid commented 2 years ago

Backends

CLI

The current implementation is "functional", though the merging of configuration is a bit hacky and all over the place now. Configuration is passed down in this order: Defaults -> Env -> Config file -> CLI arguments.

Supported commands: exec / connect / completion Supported arguments: application-name, log-level, no-logging, rbspy-blocking, pyspy-blocking, pyspy-idle, pyspy-gil, pyspy-native, sample-rate, server-address, tag

If you want to test the CLI, first cd into the pyroscope_cli directory and run

cargo build --release

You can then find the program inside target/release.

CI

Build and Tests are done against two OSes and two CPU architectures: Ubuntu/macOS and x86_64/ARM64. As the packages are separated, each one is built and tested separately. (lib, cli, pprofrs, rbspy, pyspy)

https://github.com/pyroscope-io/pyroscope-rs/actions/runs/2028544090

Remaining Tasks

omarabid commented 2 years ago

@drahnr can't seem to add you as reviewer, so pinging you here.

omarabid commented 2 years ago

@petethepig


  1. Added arguments support in https://github.com/pyroscope-io/pyroscope-rs/commit/5f2511a2a6a18d1968194b6923c84c704c532596. Arguments for the command could be passed with an additional --.
  2. That's correct. However, I think both outputs are correct, and "on-cpu" should be passed through the CLI as an option too. I'll give the current PR (https://github.com/rbspy/rbspy/pull/327) a try and report back the results.