Commit 85a3a57
perf: Avoid per-transaction Timer thread in SentryTracer (JAVA-570)
Transactions with an idle or deadline timeout each created a
java.util.Timer, which spawns a thread synchronously on the calling
thread (often the main thread on Android). At scale (screen loads, HTTP
spans) this was the dominant source of SDK thread churn.
Schedule the idle/deadline timeouts on the shared SentryExecutorService
instead, so no thread is created per transaction. On finish only the
scheduled futures are cancelled; the shared executor is never shut down
here since it is used SDK-wide.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 58b65f0 commit 85a3a57
2 files changed
Lines changed: 52 additions & 61 deletions
| 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 | + | |
113 | 115 | | |
114 | 116 | | |
115 | 117 | | |
116 | 118 | | |
117 | 119 | | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | 120 | | |
126 | 121 | | |
127 | | - | |
| 122 | + | |
| 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 | + | |
300 | 295 | | |
301 | | - | |
| 296 | + | |
302 | 297 | | |
303 | 298 | | |
304 | 299 | | |
| |||
307 | 302 | | |
308 | 303 | | |
309 | 304 | | |
310 | | - | |
| 305 | + | |
311 | 306 | | |
312 | 307 | | |
313 | | - | |
314 | | - | |
315 | | - | |
316 | | - | |
317 | | - | |
318 | | - | |
319 | | - | |
320 | 308 | | |
321 | | - | |
| 309 | + | |
| 310 | + | |
322 | 311 | | |
323 | 312 | | |
324 | 313 | | |
| |||
335 | 324 | | |
336 | 325 | | |
337 | 326 | | |
338 | | - | |
339 | | - | |
| 327 | + | |
| 328 | + | |
340 | 329 | | |
341 | | - | |
| 330 | + | |
342 | 331 | | |
343 | 332 | | |
344 | 333 | | |
| |||
973 | 962 | | |
974 | 963 | | |
975 | 964 | | |
976 | | - | |
977 | | - | |
| 965 | + | |
| 966 | + | |
978 | 967 | | |
979 | 968 | | |
980 | 969 | | |
981 | 970 | | |
982 | | - | |
983 | | - | |
| 971 | + | |
| 972 | + | |
984 | 973 | | |
985 | 974 | | |
986 | 975 | | |
987 | 976 | | |
988 | | - | |
989 | | - | |
| 977 | + | |
| 978 | + | |
990 | 979 | | |
991 | 980 | | |
992 | 981 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
| |||
913 | 914 | | |
914 | 915 | | |
915 | 916 | | |
916 | | - | |
| 917 | + | |
917 | 918 | | |
918 | 919 | | |
919 | 920 | | |
920 | 921 | | |
921 | 922 | | |
922 | 923 | | |
923 | 924 | | |
924 | | - | |
| 925 | + | |
925 | 926 | | |
926 | 927 | | |
927 | 928 | | |
| |||
949 | 950 | | |
950 | 951 | | |
951 | 952 | | |
952 | | - | |
| 953 | + | |
953 | 954 | | |
954 | 955 | | |
955 | 956 | | |
| |||
958 | 959 | | |
959 | 960 | | |
960 | 961 | | |
961 | | - | |
| 962 | + | |
962 | 963 | | |
963 | 964 | | |
964 | 965 | | |
965 | 966 | | |
966 | 967 | | |
967 | 968 | | |
968 | | - | |
| 969 | + | |
969 | 970 | | |
970 | 971 | | |
971 | 972 | | |
972 | 973 | | |
973 | 974 | | |
974 | | - | |
| 975 | + | |
975 | 976 | | |
976 | 977 | | |
977 | 978 | | |
978 | 979 | | |
979 | 980 | | |
980 | | - | |
| 981 | + | |
981 | 982 | | |
982 | 983 | | |
983 | 984 | | |
| |||
1008 | 1009 | | |
1009 | 1010 | | |
1010 | 1011 | | |
1011 | | - | |
| 1012 | + | |
1012 | 1013 | | |
1013 | 1014 | | |
1014 | 1015 | | |
1015 | 1016 | | |
1016 | 1017 | | |
1017 | 1018 | | |
1018 | | - | |
| 1019 | + | |
1019 | 1020 | | |
1020 | 1021 | | |
1021 | | - | |
1022 | 1022 | | |
1023 | 1023 | | |
1024 | | - | |
| 1024 | + | |
| 1025 | + | |
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 | | |
| |||
1080 | 1082 | | |
1081 | 1083 | | |
1082 | 1084 | | |
1083 | | - | |
| 1085 | + | |
1084 | 1086 | | |
1085 | 1087 | | |
1086 | 1088 | | |
| |||
1092 | 1094 | | |
1093 | 1095 | | |
1094 | 1096 | | |
1095 | | - | |
| 1097 | + | |
1096 | 1098 | | |
1097 | 1099 | | |
1098 | 1100 | | |
| |||
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