/api/stats/threads
Конечная точка threads используется для отладки TSD и предоставления информации о состоянии и выполнении различных потоков без необходимости использования трассировки JStack. (v2.2)
Глаголы
- GET
Запросы
Параметров нет.
Пример запроса
Строка запроса
http://localhost:4242/api/stats/threads
Ответ
Ответ представляет собой массив объектов. Поля в ответе включают:
| Имя | Тип данных | Описание | Пример |
|---|---|---|---|
| threadID | Целое число | Числовой идентификатор потока | 1 |
| priority | Целое число | Приоритет выполнения потока | 5 |
| name | Строка | Строковое имя потока, обычно назначаемое по умолчанию | Новый поток ввода-вывода #23 |
| interrupted | Булево | Прерван ли поток | false |
| state | Строка | Одно из допустимых состояний потока Java | RUNNABLE |
| stack | Массив<Строка> | Трассировка стека, показывающая текущее местоположение выполнения | См. ниже |
Пример ответа
[
{
"threadID": 33,
"priority": 5,
"name": "AsyncHBase I/O Worker #23",
"interrupted": false,
"state": "RUNNABLE",
"stack": [
"sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)",
"sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:136)",
"sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:69)",
"sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)",
"sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)",
"org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:68)",
"org.jboss.netty.channel.socket.nio.AbstractNioSelector.select(AbstractNioSelector.java:415)",
"org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:212)",
"org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)",
"org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)",
"org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)",
"org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)",
"java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)",
"java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)",
"java.lang.Thread.run(Thread.java:695)"
]
},
{
"threadID": 6,
"priority": 9,
"name": "Signal Dispatcher",
"interrupted": false,
"state": "RUNNABLE",
"stack": []
},
{
"threadID": 21,
"priority": 5,
"name": "AsyncHBase I/O Worker #11",
"interrupted": false,
"state": "RUNNABLE",
"stack": [
"sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)",
"sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:136)",
"sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:69)",
"sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)",
"sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)",
"org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:68)",
"org.jboss.netty.channel.socket.nio.AbstractNioSelector.select(AbstractNioSelector.java:415)",
"org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:212)",
"org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)",
"org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)",
"org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)",
"org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)",
"java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)",
"java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)",
"java.lang.Thread.run(Thread.java:695)"
]
},
{
"threadID": 2,
"priority": 10,
"name": "Reference Handler",
"interrupted": false,
"state": "WAITING",
"stack": [
"java.lang.Object.wait(Native Method)",
"java.lang.Object.wait(Object.java:485)",
"java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)"
]
},
{
"threadID": 44,
"priority": 5,
"name": "OpenTSDB Timer TSDB Timer #1",
"interrupted": false,
"state": "TIMED_WAITING",
"stack": [
"java.lang.Thread.sleep(Native Method)",
"org.jboss.netty.util.HashedWheelTimer$Worker.waitForNextTick(HashedWheelTimer.java:483)",
"org.jboss.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:392)",
"org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)",
"java.lang.Thread.run(Thread.java:695)"
]
}
]
© 2010–2016 The OpenTSDB Authors
Licensed under the GNU LGPLv2.1+ and GPLv3+ licenses.
http://opentsdb.net/docs/build/html/api_http/stats/threads.html