1 {
  2   "type": "object",
  3   "properties": {
  4     "threadDump": {
  5       "type": "object",
  6       "properties": {
  7         "processId": {
  8           "type": "integer",
  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                     "integer",
 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": "integer",
 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                         "parkBlocker": {
 68                           "type": [
 69                             "object"
 70                           ],
 71                           "properties": {
 72                             "object": {
 73                               "type": "string",
 74                               "description": "The blocker object responsible for the thread parking."
 75                             },
 76                             "exclusiveOwnerThreadId": {
 77                               "type": "integer",
 78                               "description": "The thread identifier of the owner when the blocker object has an owner."
 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": "string",
117                                   "description": "The object for which the monitor is owned by the thread."
118                                 }
119                               }
120                             },
121                             "required": [
122                               "depth",
123                               "locks"
124                             ]
125                           }
126                         }
127                       },
128                       "required": [
129                         "tid",
130                         "time",
131                         "name",
132                         "state",
133                         "stack"
134                       ]
135                     }
136                   ]
137                 },
138                 "threadCount": {
139                   "type": "integer",
140                   "description": "The number of threads in the thread container."
141                 }
142               },
143               "required": [
144                 "container",
145                 "parent",
146                 "owner",
147                 "threads"
148               ]
149             }
150           ]
151         }
152       },
153       "required": [
154         "processId",
155         "time",
156         "runtimeVersion",
157         "threadContainers"
158       ]
159     }
160   },
161   "required": [
162     "threadDump"
163   ]
164 }