Commit 70fc7c8
authored
feat: auto-populate HTTP hints for network events (#8967)
* feat: add Hints API for beforeSend callbacks
Add a Hint class that provides metadata about the origin of
an event (original error/exception, attachments, key-value
data) flowing alongside events through the capture pipeline.
New beforeSendWithHint and beforeBreadcrumbWithHint callbacks
take precedence over their existing counterparts. The WithHint
variants are deprecated and will be removed in v10 when the
hint parameter is added to beforeSend/beforeBreadcrumb directly.
* docs: add changelog entry for Hints API
* Update changelog
* ref: address hints API review feedback
Guard Hint state with SentryMutex instead of NSLock, and deprecate
the WithHint callback setters via @available and
DEPRECATED_MSG_ATTRIBUTE, since the hint parameter moves into
beforeSend/beforeBreadcrumb in the next major version.
Pre-populate hint.attachments with the scope attachments before
beforeSendWithHint runs and treat the hint list as authoritative
afterwards, so the callback can remove attachments as well as add
them. Add concurrency tests for Hint and attachment add/remove
coverage for the client.
* docs: add changelog entry for capture hints
* feat: add hint to public capture methods
Thread user-provided SentryHint through
SentrySDK -> SentryHub -> SentryClient capture
methods, matching sentry-java's pattern for
beforeSend callbacks.
* feat: auto-populate HTTP hints for network events
Attach URLRequest and HTTPURLResponse to hints for
network breadcrumbs and HTTP client error events so
beforeSendWithHint and beforeBreadcrumbWithHint
callbacks can access the original HTTP context.
* Fix changelog entry
* Run generate api
* feat: expose HTTP hint properties on SentryObjCHint
Add urlRequest and httpResponse to SentryObjCHint so
Objective-C consumers can access auto-populated HTTP
metadata in beforeSend and beforeBreadcrumb callbacks.1 parent 974e670 commit 70fc7c8
20 files changed
Lines changed: 610 additions & 5 deletions
File tree
- SentryTestUtils/Sources
- Sources
- SentryObjCCompat
- SentryObjC/Public
- Sentry
- include
- Swift
- Networking
- Protocol
- Tests/SentryTests
- HybridSDK
- Integrations/Performance/Network
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
| 60 | + | |
60 | 61 | | |
61 | 62 | | |
62 | 63 | | |
63 | 64 | | |
64 | 65 | | |
65 | 66 | | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
66 | 75 | | |
67 | 76 | | |
68 | 77 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
670 | 670 | | |
671 | 671 | | |
672 | 672 | | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
673 | 687 | | |
674 | 688 | | |
675 | 689 | | |
| |||
692 | 706 | | |
693 | 707 | | |
694 | 708 | | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
695 | 714 | | |
696 | 715 | | |
697 | 716 | | |
698 | 717 | | |
699 | 718 | | |
700 | 719 | | |
701 | 720 | | |
702 | | - | |
703 | | - | |
| 721 | + | |
| 722 | + | |
704 | 723 | | |
705 | 724 | | |
706 | 725 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
498 | 498 | | |
499 | 499 | | |
500 | 500 | | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
501 | 506 | | |
502 | 507 | | |
503 | 508 | | |
| |||
510 | 515 | | |
511 | 516 | | |
512 | 517 | | |
513 | | - | |
| 518 | + | |
514 | 519 | | |
515 | 520 | | |
516 | 521 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
64 | 68 | | |
65 | 69 | | |
66 | 70 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
80 | 86 | | |
81 | 87 | | |
82 | 88 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
310 | 310 | | |
311 | 311 | | |
312 | 312 | | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
313 | 316 | | |
314 | 317 | | |
315 | 318 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
27 | 35 | | |
28 | 36 | | |
29 | 37 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
38 | 48 | | |
39 | 49 | | |
40 | 50 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
490 | 490 | | |
491 | 491 | | |
492 | 492 | | |
493 | | - | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
494 | 499 | | |
495 | 500 | | |
496 | 501 | | |
| |||
573 | 578 | | |
574 | 579 | | |
575 | 580 | | |
576 | | - | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
577 | 588 | | |
578 | 589 | | |
579 | 590 | | |
| |||
0 commit comments