feat: Add Spotlight integration for local development debugging
resolves: #846
Add SpotlightTransport that sends events to local Spotlight server for real-time debugging during development. The integration works by wrapping the existing transport and duplicating events to Spotlight.
Features:
- Spotlight transport decorator supporting custom URL overrides
- SENTRY_SPOTLIGHT environment variable for easy enabling
- Example program demonstrating usage patterns
- README documentation update
Codecov Report
:x: Patch coverage is 67.64706% with 22 lines in your changes missing coverage. Please review.
:white_check_mark: Project coverage is 85.88%. Comparing base (1ce3436) to head (d660c5e).
| Files with missing lines | Patch % | Lines |
|---|---|---|
| transport.go | 57.69% | 15 Missing and 7 partials :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## master #1085 +/- ##
==========================================
- Coverage 86.04% 85.88% -0.16%
==========================================
Files 62 62
Lines 6090 6157 +67
==========================================
+ Hits 5240 5288 +48
- Misses 635 648 +13
- Partials 215 221 +6
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
Thanks for your PR, but we won't merge this anytime soon. We have a big refactor coming in our transport and we can look at this afterwards maybe.
@cleptric Thanks for the update!
I first asked about Spotlight support back in June 2024 and only heard back a year later with "no progress", so I went ahead and built this to give the community something useful and closer to what Python/JS already have (and to help offload some effort since the Sentry team is swamped).
I understand holding off until the transport refactor, but is there a public roadmap or place where this is being discussed? It would really help contributors know what’s changing and avoid working on features that might get blocked.
Happy to rebase once things stabilize!
I'm ok merging this now instead of waiting for our refactoring, as the surface area is indeed rather small. If you could address the lint issue, we can review it and write docs prior the release.
I'm ok merging this now instead of waiting for our refactoring, as the surface area is indeed rather small. If you could address the lint issue, we can review it and write docs prior the release.
Sorry for missing the lint errors! I've fixed it and re-pushed (trying to keep a clean git history for y'all). Let me know if there's anything else I can do to get this merged!