Commit 6e8b34a
committed
fix(spotlight): align behavior with SDK spec
Align the Spotlight implementation with the official spec at
https://develop.sentry.dev/sdk/expected-features/spotlight/
Changes:
1. Fix precedence rules:
- When spotlight=True and SENTRY_SPOTLIGHT env var is a URL, use the
env var URL (per spec requirement)
- Log warning when config URL overrides env var URL
- Log warning when spotlight=False explicitly disables despite env
var being set
2. Route all envelopes to Spotlight:
- Sessions, logs, and metrics now also get sent to Spotlight via the
_capture_envelope callback
- Move Spotlight initialization before batchers are created
3. Add exponential backoff retry logic:
- SpotlightClient now implements proper exponential backoff when the
Spotlight server is unreachable
- Skips sending during backoff period to avoid blocking
- Logs errors only once per backoff cycle
4. Update tests:
- Fix test expectation for spotlight=True + env URL case
- Add tests for warning scenarios
- Add test for session envelope routing to Spotlight1 parent 977b306 commit 6e8b34a
2 files changed
+80
-71
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
389 | 389 | | |
390 | 390 | | |
391 | 391 | | |
392 | | - | |
393 | | - | |
394 | | - | |
395 | | - | |
396 | | - | |
397 | | - | |
398 | | - | |
399 | | - | |
400 | | - | |
401 | | - | |
402 | | - | |
403 | | - | |
404 | | - | |
405 | | - | |
406 | | - | |
407 | | - | |
408 | | - | |
409 | | - | |
410 | | - | |
411 | | - | |
412 | | - | |
413 | | - | |
414 | | - | |
415 | | - | |
416 | | - | |
417 | | - | |
418 | | - | |
419 | | - | |
420 | | - | |
421 | | - | |
422 | | - | |
423 | | - | |
424 | | - | |
425 | | - | |
426 | | - | |
427 | | - | |
428 | | - | |
429 | | - | |
430 | | - | |
431 | | - | |
432 | | - | |
433 | | - | |
434 | | - | |
435 | | - | |
436 | | - | |
437 | | - | |
438 | | - | |
439 | | - | |
440 | | - | |
441 | | - | |
442 | | - | |
443 | | - | |
444 | | - | |
445 | | - | |
446 | | - | |
447 | | - | |
448 | | - | |
449 | | - | |
450 | | - | |
451 | | - | |
452 | | - | |
453 | | - | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
454 | 403 | | |
455 | 404 | | |
456 | 405 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
64 | | - | |
65 | 64 | | |
66 | | - | |
| 65 | + | |
67 | 66 | | |
68 | 67 | | |
69 | 68 | | |
| |||
85 | 84 | | |
86 | 85 | | |
87 | 86 | | |
88 | | - | |
89 | | - | |
| 87 | + | |
90 | 88 | | |
91 | 89 | | |
92 | 90 | | |
| |||
242 | 240 | | |
243 | 241 | | |
244 | 242 | | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
245 | 305 | | |
246 | 306 | | |
247 | 307 | | |
248 | 308 | | |
249 | 309 | | |
250 | 310 | | |
251 | 311 | | |
252 | | - | |
253 | | - | |
254 | | - | |
255 | | - | |
| 312 | + | |
256 | 313 | | |
257 | | - | |
| 314 | + | |
258 | 315 | | |
259 | 316 | | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
260 | 320 | | |
261 | 321 | | |
262 | 322 | | |
| |||
0 commit comments