Continuous profiling for Ruby Projects
This is an attempt to revive #1786 (moved), which was partially implemented in &788. This means that at the time of writing we have profiles for Puma in staging.
This implementation is using a vendored
version
of
remind101/ruby-cloud-profiler
which wraps the Google-provided google-cloud-profiler-v2 gem to
access the API with stackprof to get samples into the Google Cloud
Profiler.
The remind101/ruby-cloud-profiler seems unmaintained, so we might
want to fork this ourselves to continue development to integrate the
changes and update
dependencies.
Ideally, this becomes part of Labkit.
This would help with debugging incidents like production#18538 and production#18535.