-
Notifications
You must be signed in to change notification settings - Fork 235
feat(sync-service): GenStage telemetry #2837
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAttention: Patch coverage is
✅ All tests successful. No failed tests found.
Additional details and impacted files@@ Coverage Diff @@
## main #2837 +/- ##
==========================================
- Coverage 78.32% 78.24% -0.08%
==========================================
Files 155 156 +1
Lines 7354 7379 +25
Branches 275 273 -2
==========================================
+ Hits 5760 5774 +14
- Misses 1592 1603 +11
Partials 2 2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
benchmark this |
Current replication processing time telemetry records overall time and breaks down by it's various parts, however there are gaps in this breakdown and data from trigger.dev shows that a significant amount of time is spent in these gaps.
This PR times all the following 7 intervals (in this order):
3 of these intervals were already available: message_to_collector, partitions.handle_event and dispatcher.dispatch however are now using the new IntervalTimer for consistency.
The new IntervalTimer (and it's sibling ProcessIntervalTimer) have been introduced as many of these intervals are impossible to put spans around due to way GenStage code is structured. ProcessIntervalTimer additionally uses process memory for the times when the timer state cannot be passed around (again due to how GenStage code is structured)