getsentry / sentry

Developer-first error tracking and performance monitoring
https://sentry.io
Other
37.48k stars 4.03k forks source link

Event Model is Too Event Oriented - Send Data without Error/Transaction Event #63198

Open thinkocapo opened 5 months ago

thinkocapo commented 5 months ago

Problem Statement

User has various "business metrics" they want to capture and they don't have an Open Transaction anymore, and there are no Errors occurring. They want to treat this metric as a first class object in sentry and be able to alert on it. They don't want to parse it out of billions of transaction events. I have presentation explaining why it is not for Business/Marketing/Analytics purposes but rather, "This is the most important thing to our developer, because sometimes there are no errors, or it's not clear which error or performance information is correlated to the general business problem. Easier to see that the business problem is happening, like all of our Completed Purchases for the hour drops to zero. Capturing a custom transaction for this does not work, because there are multiple different metrics we are tracking which represent what a Completed Purchase is.

User finds a Custom Transaction will be prohibitively expensive.

Relates to https://github.com/getsentry/sentry/issues/63197 user needs to Alert on these Spans, but can't do it while they're inside of Transactions.

Solution Brainstorm

OnlySpans? DDM?

Product Area

Unknown

getsantry[bot] commented 5 months ago

Assigning to @getsentry/support for routing ⏲️

getsantry[bot] commented 5 months ago

Routing to @getsentry/product-owners-performance for triage ⏲️

gggritso commented 5 months ago

@thinkocapo thanks for raising this! I think DDM is perfect for this situation. You're right, neither custom transactions nor measurements nor errors nor spans make sense.

If the client wants to track true developer metrics, then DDM is the right solution. From the current conversations it looks like alerting on metrics is top-of-mind for that team 👍🏻

it is not for Business/Marketing/Analytics purposes but rather, "This is the most important thing to our developer

is spot-on, in my opinion. To me, it would make sense to track a metric (maybe a simple counter is fine) that's close to the code, but correlates 1:1 with a business outcome, like a checkout_success event.