Libraryless. Click here for Pure Java version (9325L/52K).
1 | static S renderUserThreadsWithStackTraces() { |
2 | ret renderUserThreadsWithStackTraces(mapWithout(Thread.getAllStackTraces(), currentThread())); |
3 | } |
4 | |
5 | static S renderUserThreadsWithStackTraces(Map<Thread, StackTraceElement[]> threadMap) { |
6 | ret renderUserThreadsWithStackTraces(threadMap, "thread"); |
7 | } |
8 | |
9 | static S renderUserThreadsWithStackTraces(Map<Thread, StackTraceElement[]> threadMap, S threadDescription) { |
10 | new StringBuilder bufRunnable; |
11 | new StringBuilder bufWaiting; |
12 | |
13 | int nRunnable = 0, nWaiting = 0, nSystem = 0; |
14 | for (t, stackTrace : threadMap) { |
15 | bool runnable = isThreadRunnable_x(t, stackTrace); |
16 | var buf = runnable ? bufRunnable : bufWaiting; |
17 | |
18 | ThreadGroup g = t.getThreadGroup(); |
19 | if (g != null && g.getName().equals("system")) |
20 | continue with ++nSystem; |
21 | if (runnable) ++nRunnable; else ++nWaiting; |
22 | printTo(buf, t); |
23 | for (StackTraceElement e : threadMap.get(t)) |
24 | printTo(buf, " " + e); |
25 | printTo(buf); |
26 | } |
27 | |
28 | ret asciiHeading2(n2(nRunnable, "runnable " + threadDescription)) |
29 | + "\n" + bufRunnable |
30 | + asciiHeading2(n2(nWaiting, "sleeping " + threadDescription) |
31 | + " (+" + n2(nSystem, "system thread") + ")") |
32 | + "\n" + bufWaiting; |
33 | } |
Began life as a copy of #1000960
download show line numbers debug dex old transpilations
Travelled to 13 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
Snippet ID: | #1010502 |
Snippet name: | renderUserThreadsWithStackTraces |
Eternal ID of this version: | #1010502/14 |
Text MD5: | 514919772fcc7bc58703454f85c0779f |
Transpilation MD5: | d64290844b9b4d9b8752e0ab51e13f6a |
Author: | stefan |
Category: | javax |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2022-09-21 17:16:43 |
Source code size: | 1238 bytes / 33 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 559 / 732 |
Version history: | 13 change(s) |
Referenced in: | [show references] |