getsentry / sentry-ruby

Sentry SDK for Ruby
https://sentry.io/for/ruby
MIT License
927 stars 493 forks source link

Try vernier for profiling #2124

Open sl0thentr0py opened 11 months ago

sl0thentr0py commented 11 months ago

https://github.com/jhawthorn/vernier

does multithreaded stuff

natikgadzhi commented 10 months ago

@sl0thentr0py, mind if I try and poke around?

I'm only getting started, so:

  1. I'd like to setup something to profile and see how that looks in action — perhaps a reproducible demo of Mastodon running with Sentry profiler plugged in.
  2. Once that's done, I'll spike on using Vernier. My initial idea is to allow it as an option on the config level — so that the user can initially switch between stackprof and vernier, based on their preference or whatever they have in the bundle, or the Ruby version, seems like Vernier will need 3.2, and not everyone is there yet.
  3. I'll check how those profiles look in the UI — then we can perhaps take the first look at the spike PR.

Does that sound like a reasonable approach?

sl0thentr0py commented 10 months ago

@natikgadzhi sure! we always welcome contributions

You'll basically need to extract the profile samples from vernier and massage them into our format. You can refer here or ask me if you don't understand something about our profile payload, it's a bit confusing if you've never worked with it.

natikgadzhi commented 9 months ago

Still on it — got distracted by shiny things like Spotlight and Crons 🤦🏼

sl0thentr0py commented 9 months ago

it's ok.. take your time we're happy to take contributions but you don't have to do everything at once :)

solnic commented 4 weeks ago

@sl0thentr0py do we want to support both and make it configurable?