1 { 2 "type": "object", 3 "properties": { 4 "threadDump": { 5 "type": "object", 6 "properties": { 7 "processId": { 8 "type": "string", 9 "description": "The native process id of the Java virtual machine." 10 }, 11 "time": { 12 "type": "string", 13 "description": "The time in ISO 8601 format when the thread dump was generated." 14 }, 15 "runtimeVersion": { 16 "type": "string", 17 "description": "The runtime version, see java.lang.Runtime.Version" 18 }, 19 "threadContainers": { 20 "type": "array", 21 "description": "The array of thread containers (thread groupings).", 22 "items": [ 23 { 24 "type": "object", 25 "properties": { 26 "container": { 27 "type": "string", 28 "description": "The container name. The container name is unique." 29 }, 30 "parent": { 31 "type": [ 32 "string", 33 "null" 34 ], 35 "description": "The parent container name or null for the root container." 36 }, 37 "owner": { 38 "type": [ 39 "string", 40 "null" 41 ], 42 "description": "The thread identifier of the owner thread if owned." 43 }, 44 "threads": { 45 "type": "array", 46 "description": "The array of threads in the thread container.", 47 "items": [ 48 { 49 "type": "object", 50 "properties": { 51 "tid": { 52 "type": "string", 53 "description": "The thread identifier." 54 }, 55 "time": { 56 "type": "string", 57 "description": "The time in ISO 8601 format that the thread was sampled." 58 }, 59 "name": { 60 "type": "string", 61 "description": "The thread name." 62 }, 63 "state": { 64 "type": "string", 65 "description": "The thread state (Thread::getState)." 66 }, 67 "virtual" : { 68 "type": "boolean", 69 "description": "true for a virtual thread." 70 }, 71 "parkBlocker": { 72 "type": [ 73 "object" 74 ], 75 "properties": { 76 "object": { 77 "type": "string", 78 "description": "The blocker object responsible for the thread parking." 79 } 80 }, 81 "required": [ 82 "object" 83 ] 84 }, 85 "blockedOn": { 86 "type": "string", 87 "description": "The object that the thread is blocked on waiting to enter/re-enter a synchronization block/method." 88 }, 89 "waitingOn": { 90 "type": "string", 91 "description": "The object that the thread is waiting to be notified (Object.wait)." 92 }, 93 "stack": { 94 "type": "array", 95 "description": "The thread stack. The first element is the top of the stack.", 96 "items": [ 97 { 98 "type": "string", 99 "description": "A stack trace element (java.lang.StackTraceElement)." 100 } 101 ] 102 }, 103 "monitorsOwned": { 104 "type": "array", 105 "description": "The objects for which monitors are owned by the thread.", 106 "items": { 107 "type": "object", 108 "properties": { 109 "depth": { 110 "type": "integer", 111 "description": "The stack depth at which the monitors are owned." 112 }, 113 "locks": { 114 "type": "array", 115 "items": { 116 "type": [ 117 "string", 118 null 119 ], 120 "description": "The object for which the monitor is owned by the thread, null if eliminated" 121 } 122 } 123 }, 124 "required": [ 125 "depth", 126 "locks" 127 ] 128 } 129 }, 130 "carrier": { 131 "type": "string", 132 "description": "The thread identifier of the carrier thread if mounted." 133 } 134 }, 135 "required": [ 136 "tid", 137 "time", 138 "name", 139 "state", 140 "stack" 141 ] 142 } 143 ] 144 }, 145 "threadCount": { 146 "type": "string", 147 "description": "The number of threads in the thread container." 148 } 149 }, 150 "required": [ 151 "container", 152 "parent", 153 "owner", 154 "threads" 155 ] 156 } 157 ] 158 } 159 }, 160 "required": [ 161 "processId", 162 "time", 163 "runtimeVersion", 164 "threadContainers" 165 ] 166 } 167 }, 168 "required": [ 169 "threadDump" 170 ] 171 }