sentry-ruby icon indicating copy to clipboard operation
sentry-ruby copied to clipboard

Sort endpoints by allocations

Open vitobotta opened this issue 3 years ago • 7 comments

Describe the idea

I would like to be able to sort traces for web requests by allocations.

Why do you think it's beneficial to most of the users

It can help investigate issues with memory usage.

Context: I am trying to find out the cause of some memory issues (not sure if bloat or proper leak yet), and It would be useful to see information about allocations and memory usage in general.

Thanks!

vitobotta avatar Jun 07 '22 18:06 vitobotta

I think this feature has 2 parts:

  • The SDK should start sending memory allocation info for Transactions. We can start from sentry-rails as Rails should already captures such info.
  • Sentry core needs to support custom or dedicated memory column on the performance dashboard. This is a feature I think many APM services have (I remember ScoutAPM has it), so it may already on their list. @sl0thentr0py am I right on this?

st0012 avatar Jun 08 '22 08:06 st0012

hi @vitobotta @st0012 this is actually on our roadmap and we're building 'Custom Measurements/Metrics' support into Sentry. Once this is ready, you'll be able to add arbitrary measurements onto a transaction and then use them in Discover/Performance dashboards. (Don't have an ETA though for when all sides of the product will be ready, sorry!)

We will also build common use cases such as this one into the SDK. We've had trouble identifying good use cases for server side SDKs so this is a great suggestion, thank you!

Some more info for @st0012 , from the SDK side, there will be a new transaction.set_measurement(name, unit, value) API (python reference implementation).

sl0thentr0py avatar Jun 08 '22 11:06 sl0thentr0py

Hi! Thanks for letting me know Glad it's on the roadmap! Looking forward to it.

vitobotta avatar Jun 08 '22 14:06 vitobotta

@sl0thentr0py From the SDK doc I can see that there are also standard measurements like:

"fp",
"fcp",
"lcp",
"fid",
"cls",
"ttfb",
"ttfb.requesttime",

Which I think we haven't supported yet? Should we also do that?

Update: nvm, I think they're only for web vitals

st0012 avatar Jul 02 '22 09:07 st0012