Commit d5d5aea
perf(core): Reuse shared executor for transaction timeouts (SDK-1347)
SentryTracer created a dedicated java.util.Timer (a new thread) per
transaction that had an idle or deadline timeout. For apps with many
transactions (screen loads, HTTP spans) this churned threads and added
CPU overhead.
Schedule the idle/deadline timeouts on the SDK's shared
SentryExecutorService (a single ScheduledThreadPoolExecutor) instead, so
no per-transaction thread is created. The executor is set with
removeOnCancelPolicy(true) so timeouts that are cancelled early (the
common case) are evicted from the queue immediately rather than lingering.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 2ebf90a commit d5d5aea
4 files changed
Lines changed: 77 additions & 68 deletions
File tree
- sentry-android-core/src/test/java/io/sentry/android/core
- sentry/src
- main/java/io/sentry
- test/java/io/sentry
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| |||
652 | 653 | | |
653 | 654 | | |
654 | 655 | | |
| 656 | + | |
| 657 | + | |
655 | 658 | | |
656 | 659 | | |
657 | 660 | | |
| |||
1883 | 1886 | | |
1884 | 1887 | | |
1885 | 1888 | | |
| 1889 | + | |
| 1890 | + | |
| 1891 | + | |
| 1892 | + | |
1886 | 1893 | | |
1887 | 1894 | | |
1888 | 1895 | | |
| |||
Lines changed: 11 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
| 49 | + | |
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
53 | | - | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
54 | 63 | | |
55 | 64 | | |
56 | 65 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
16 | | - | |
17 | 15 | | |
| 16 | + | |
18 | 17 | | |
19 | 18 | | |
20 | 19 | | |
| |||
37 | 36 | | |
38 | 37 | | |
39 | 38 | | |
40 | | - | |
41 | | - | |
| 39 | + | |
| 40 | + | |
42 | 41 | | |
43 | | - | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
44 | 46 | | |
45 | 47 | | |
46 | 48 | | |
| |||
99 | 101 | | |
100 | 102 | | |
101 | 103 | | |
102 | | - | |
| 104 | + | |
103 | 105 | | |
104 | 106 | | |
105 | 107 | | |
| |||
109 | 111 | | |
110 | 112 | | |
111 | 113 | | |
112 | | - | |
| 114 | + | |
| 115 | + | |
113 | 116 | | |
114 | 117 | | |
115 | 118 | | |
116 | 119 | | |
117 | 120 | | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | 121 | | |
126 | 122 | | |
127 | | - | |
| 123 | + | |
128 | 124 | | |
129 | 125 | | |
130 | 126 | | |
| |||
265 | 261 | | |
266 | 262 | | |
267 | 263 | | |
268 | | - | |
| 264 | + | |
269 | 265 | | |
270 | | - | |
| 266 | + | |
271 | 267 | | |
272 | 268 | | |
273 | | - | |
274 | | - | |
| 269 | + | |
275 | 270 | | |
276 | 271 | | |
277 | 272 | | |
| |||
295 | 290 | | |
296 | 291 | | |
297 | 292 | | |
298 | | - | |
299 | | - | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
300 | 296 | | |
301 | | - | |
| 297 | + | |
302 | 298 | | |
303 | 299 | | |
304 | 300 | | |
| |||
307 | 303 | | |
308 | 304 | | |
309 | 305 | | |
310 | | - | |
| 306 | + | |
| 307 | + | |
311 | 308 | | |
312 | 309 | | |
313 | | - | |
314 | | - | |
315 | | - | |
316 | | - | |
317 | | - | |
318 | | - | |
319 | | - | |
320 | 310 | | |
321 | | - | |
| 311 | + | |
| 312 | + | |
322 | 313 | | |
323 | 314 | | |
324 | 315 | | |
| |||
335 | 326 | | |
336 | 327 | | |
337 | 328 | | |
338 | | - | |
339 | | - | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
340 | 332 | | |
341 | | - | |
| 333 | + | |
342 | 334 | | |
343 | 335 | | |
344 | 336 | | |
| |||
973 | 965 | | |
974 | 966 | | |
975 | 967 | | |
976 | | - | |
977 | | - | |
| 968 | + | |
| 969 | + | |
978 | 970 | | |
979 | 971 | | |
980 | 972 | | |
981 | 973 | | |
982 | | - | |
983 | | - | |
| 974 | + | |
| 975 | + | |
984 | 976 | | |
985 | 977 | | |
986 | 978 | | |
987 | | - | |
988 | | - | |
989 | | - | |
| 979 | + | |
| 980 | + | |
990 | 981 | | |
991 | 982 | | |
992 | 983 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
40 | 43 | | |
41 | 44 | | |
42 | 45 | | |
| |||
913 | 916 | | |
914 | 917 | | |
915 | 918 | | |
916 | | - | |
| 919 | + | |
917 | 920 | | |
918 | 921 | | |
919 | 922 | | |
920 | 923 | | |
921 | 924 | | |
922 | 925 | | |
923 | 926 | | |
924 | | - | |
| 927 | + | |
925 | 928 | | |
926 | 929 | | |
927 | 930 | | |
| |||
949 | 952 | | |
950 | 953 | | |
951 | 954 | | |
952 | | - | |
| 955 | + | |
953 | 956 | | |
954 | 957 | | |
955 | 958 | | |
| |||
958 | 961 | | |
959 | 962 | | |
960 | 963 | | |
961 | | - | |
| 964 | + | |
962 | 965 | | |
963 | 966 | | |
964 | 967 | | |
965 | 968 | | |
966 | 969 | | |
967 | 970 | | |
968 | | - | |
| 971 | + | |
969 | 972 | | |
970 | 973 | | |
971 | 974 | | |
972 | 975 | | |
973 | 976 | | |
974 | | - | |
| 977 | + | |
975 | 978 | | |
976 | 979 | | |
977 | 980 | | |
978 | 981 | | |
979 | 982 | | |
980 | | - | |
| 983 | + | |
981 | 984 | | |
982 | 985 | | |
983 | 986 | | |
| |||
1008 | 1011 | | |
1009 | 1012 | | |
1010 | 1013 | | |
1011 | | - | |
| 1014 | + | |
1012 | 1015 | | |
1013 | 1016 | | |
1014 | 1017 | | |
1015 | 1018 | | |
1016 | 1019 | | |
1017 | 1020 | | |
1018 | | - | |
| 1021 | + | |
1019 | 1022 | | |
1020 | 1023 | | |
1021 | | - | |
1022 | 1024 | | |
1023 | 1025 | | |
1024 | | - | |
1025 | | - | |
1026 | | - | |
| 1026 | + | |
| 1027 | + | |
| 1028 | + | |
1027 | 1029 | | |
1028 | 1030 | | |
1029 | 1031 | | |
| |||
1035 | 1037 | | |
1036 | 1038 | | |
1037 | 1039 | | |
1038 | | - | |
| 1040 | + | |
1039 | 1041 | | |
1040 | 1042 | | |
1041 | 1043 | | |
| |||
1072 | 1074 | | |
1073 | 1075 | | |
1074 | 1076 | | |
1075 | | - | |
| 1077 | + | |
1076 | 1078 | | |
1077 | 1079 | | |
1078 | 1080 | | |
1079 | 1081 | | |
1080 | 1082 | | |
1081 | 1083 | | |
1082 | 1084 | | |
1083 | | - | |
| 1085 | + | |
1084 | 1086 | | |
1085 | 1087 | | |
1086 | 1088 | | |
1087 | | - | |
| 1089 | + | |
1088 | 1090 | | |
1089 | 1091 | | |
1090 | 1092 | | |
1091 | 1093 | | |
1092 | 1094 | | |
1093 | 1095 | | |
1094 | 1096 | | |
1095 | | - | |
| 1097 | + | |
1096 | 1098 | | |
1097 | 1099 | | |
1098 | 1100 | | |
1099 | | - | |
| 1101 | + | |
1100 | 1102 | | |
1101 | 1103 | | |
1102 | 1104 | | |
1103 | 1105 | | |
1104 | 1106 | | |
1105 | 1107 | | |
1106 | 1108 | | |
1107 | | - | |
| 1109 | + | |
1108 | 1110 | | |
1109 | | - | |
| 1111 | + | |
1110 | 1112 | | |
1111 | 1113 | | |
1112 | 1114 | | |
| |||
1539 | 1541 | | |
1540 | 1542 | | |
1541 | 1543 | | |
1542 | | - | |
| 1544 | + | |
1543 | 1545 | | |
1544 | | - | |
| 1546 | + | |
1545 | 1547 | | |
1546 | 1548 | | |
1547 | 1549 | | |
1548 | 1550 | | |
1549 | | - | |
| 1551 | + | |
1550 | 1552 | | |
1551 | 1553 | | |
1552 | 1554 | | |
1553 | | - | |
| 1555 | + | |
1554 | 1556 | | |
1555 | 1557 | | |
1556 | 1558 | | |
| |||
0 commit comments