Commit 0d23b72
Whenever the `PropagationContext` continues an incoming trace (i.e.
whenever the `trace_id` is set, rather than being randomly generated as
for a new trace), check if the `sample_rand` is present and valid in the
incoming DSC. If the `sample_rand` is missing, generate it
deterministically based on the `trace_id` and backfill it into the DSC
on the `PropagationContext`.
When generating the backfilled `sample_rand`, we ensure the generated
value is consistent with the incoming trace's sampling decision and
sample rate, if both of these are present. Otherwise, we generate a new
value in the range [0, 1).
Additionally, we propagate the `sample_rand` to transactions
generated with `continue_trace` (allowing the `sample_rand` to be
propagated on outgoing traces), and also allow `sample_rand` to be
used for making sampling decisions.
Ref #3998
---------
Co-authored-by: Ivana Kellyer <[email protected]>
1 parent 5d26201 commit 0d23b72
File tree
16 files changed
+474
-87
lines changed- sentry_sdk
- tests
- integrations
- aiohttp
- celery
- httpx
- stdlib
- tracing
16 files changed
+474
-87
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| 46 | + | |
46 | 47 | | |
47 | 48 | | |
48 | 49 | | |
| |||
1146 | 1147 | | |
1147 | 1148 | | |
1148 | 1149 | | |
| 1150 | + | |
| 1151 | + | |
| 1152 | + | |
| 1153 | + | |
| 1154 | + | |
| 1155 | + | |
| 1156 | + | |
| 1157 | + | |
| 1158 | + | |
| 1159 | + | |
| 1160 | + | |
1149 | 1161 | | |
1150 | 1162 | | |
| 1163 | + | |
1151 | 1164 | | |
1152 | 1165 | | |
1153 | 1166 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | 2 | | |
4 | 3 | | |
5 | 4 | | |
| |||
477 | 476 | | |
478 | 477 | | |
479 | 478 | | |
| 479 | + | |
| 480 | + | |
480 | 481 | | |
481 | 482 | | |
482 | 483 | | |
| |||
485 | 486 | | |
486 | 487 | | |
487 | 488 | | |
| 489 | + | |
| 490 | + | |
488 | 491 | | |
489 | 492 | | |
490 | 493 | | |
| |||
495 | 498 | | |
496 | 499 | | |
497 | 500 | | |
498 | | - | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
499 | 504 | | |
500 | 505 | | |
501 | 506 | | |
| |||
779 | 784 | | |
780 | 785 | | |
781 | 786 | | |
| 787 | + | |
782 | 788 | | |
783 | 789 | | |
784 | 790 | | |
| |||
803 | 809 | | |
804 | 810 | | |
805 | 811 | | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
806 | 820 | | |
807 | 821 | | |
808 | 822 | | |
| |||
1173 | 1187 | | |
1174 | 1188 | | |
1175 | 1189 | | |
1176 | | - | |
| 1190 | + | |
1177 | 1191 | | |
1178 | 1192 | | |
1179 | | - | |
| 1193 | + | |
1180 | 1194 | | |
1181 | 1195 | | |
1182 | 1196 | | |
| |||
1333 | 1347 | | |
1334 | 1348 | | |
1335 | 1349 | | |
| 1350 | + | |
1336 | 1351 | | |
1337 | 1352 | | |
1338 | 1353 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
8 | 9 | | |
| 10 | + | |
9 | 11 | | |
10 | 12 | | |
11 | 13 | | |
| |||
19 | 21 | | |
20 | 22 | | |
21 | 23 | | |
| 24 | + | |
22 | 25 | | |
23 | 26 | | |
24 | 27 | | |
| |||
45 | 48 | | |
46 | 49 | | |
47 | 50 | | |
| 51 | + | |
48 | 52 | | |
49 | 53 | | |
50 | 54 | | |
| |||
418 | 422 | | |
419 | 423 | | |
420 | 424 | | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
421 | 428 | | |
422 | 429 | | |
423 | 430 | | |
424 | 431 | | |
425 | 432 | | |
426 | 433 | | |
427 | 434 | | |
| 435 | + | |
428 | 436 | | |
429 | 437 | | |
430 | 438 | | |
| |||
469 | 477 | | |
470 | 478 | | |
471 | 479 | | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
472 | 542 | | |
473 | 543 | | |
474 | 544 | | |
| |||
491 | 561 | | |
492 | 562 | | |
493 | 563 | | |
494 | | - | |
495 | | - | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
496 | 571 | | |
497 | 572 | | |
498 | 573 | | |
| |||
515 | 590 | | |
516 | 591 | | |
517 | 592 | | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
518 | 597 | | |
519 | 598 | | |
520 | 599 | | |
| |||
566 | 645 | | |
567 | 646 | | |
568 | 647 | | |
| 648 | + | |
569 | 649 | | |
570 | 650 | | |
571 | 651 | | |
| |||
638 | 718 | | |
639 | 719 | | |
640 | 720 | | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
641 | 735 | | |
642 | 736 | | |
643 | 737 | | |
| |||
748 | 842 | | |
749 | 843 | | |
750 | 844 | | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
751 | 888 | | |
752 | 889 | | |
753 | 890 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1888 | 1888 | | |
1889 | 1889 | | |
1890 | 1890 | | |
| 1891 | + | |
| 1892 | + | |
| 1893 | + | |
| 1894 | + | |
| 1895 | + | |
| 1896 | + | |
| 1897 | + | |
| 1898 | + | |
| 1899 | + | |
| 1900 | + | |
| 1901 | + | |
| 1902 | + | |
| 1903 | + | |
| 1904 | + | |
| 1905 | + | |
| 1906 | + | |
| 1907 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
626 | 626 | | |
627 | 627 | | |
628 | 628 | | |
629 | | - | |
630 | | - | |
631 | | - | |
632 | | - | |
633 | | - | |
634 | | - | |
635 | | - | |
636 | | - | |
637 | | - | |
638 | | - | |
639 | | - | |
640 | | - | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
641 | 642 | | |
642 | 643 | | |
643 | 644 | | |
| |||
0 commit comments