Подробности и статистика запросов
В версии 2.2 OpenTSDB доступны подробные сведения о запросах, поскольку мы сосредоточены на повышении гибкости и производительности. Подробности запроса включают информацию о том, кто сделал запрос (через заголовки и сокет), какой был ответ (HTTP-статусные коды и/или исключения), а также временные характеристики различных процессов TSD.
Каждый HTTP-запрос может содержать некоторые из этих подробностей, такие как исходный запрос и информацию о времени выполнения с помощью параметров showSummary и showQuery. Другие детали можно найти в выводе /api/stats/query, включая заголовки, статус и исключения. Полные данные (без фактических данных результата) могут быть записаны на диск через конфигурацию логирования. На этой странице подробно описаны различные разделы запросов и информация, содержащаяся в них.
Запрос
Этот раздел представляет собой сериализацию запроса, заданного пользователем. В журнале и на странице статистики это будет полный запрос со временем выполнения и глобальными параметрами. При возвращении результатов запроса возвращаются только подзапросы (метрика и фильтры) с соответствующим набором результатов для целей идентификации (например, если вы запрашиваете одну и ту же метрику дважды с двумя различными агрегаторами, вам нужно знать, какой набор данных соответствует какому агрегатору).
Для полей и их значений см. /api/query. Некоторые замечания о полях:
- Карта
tagsдолжна иметь такое же количество записей, как и массивfilters, имеющийgroup_byзаписей. Это связано с обратной совместимостью с версиями 2.1 и 1.0. Запросы старого стиля преобразуются в фильтрованные запросы и работают так же. - Здесь может отображаться ряд дополнительных полей со значениями по умолчанию, такими как
null. - Вы можете скопировать и вставить запрос в клиент POST, чтобы выполнить его и узнать, какие данные были возвращены.
Пример
{
"start": "1455531250181",
"end": null,
"timezone": null,
"options": null,
"padding": false,
"queries": [{
"aggregator": "zimsum",
"metric": "tsd.connectionmgr.bytes.written",
"tsuids": null,
"downsample": "1m-avg",
"rate": true,
"filters": [{
"tagk": "colo",
"filter": "*",
"group_by": true,
"type": "wildcard"
}, {
"tagk": "env",
"filter": "prod",
"group_by": true,
"type": "literal_or"
}, {
"tagk": "role",
"filter": "frontend",
"group_by": true,
"type": "literal_or"
}],
"rateOptions": {
"counter": true,
"counterMax": 9223372036854775807,
"resetValue": 1,
"dropResets": false
},
"tags": {
"role": "literal_or(frontend)",
"env": "literal_or(prod)",
"colo": "wildcard(*)"
}
}, {
"aggregator": "zimsum",
"metric": "tsd.hbase.rpcs.cumulative_bytes_received",
"tsuids": null,
"downsample": "1m-avg",
"rate": true,
"filters": [{
"tagk": "colo",
"filter": "*",
"group_by": true,
"type": "wildcard"
}, {
"tagk": "env",
"filter": "prod",
"group_by": true,
"type": "literal_or"
}, {
"tagk": "role",
"filter": "frontend",
"group_by": true,
"type": "literal_or"
}],
"rateOptions": {
"counter": true,
"counterMax": 9223372036854775807,
"resetValue": 1,
"dropResets": false
},
"tags": {
"role": "literal_or(frontend)",
"env": "literal_or(prod)",
"colo": "wildcard(*)"
}
}],
"delete": false,
"noAnnotations": false,
"globalAnnotations": false,
"showTSUIDs": false,
"msResolution": false,
"showQuery": false,
"showStats": false,
"showSummary": false
}
Исключение
Если запрос завершился ошибкой, это поле будет содержать строку сообщения и первую строку трассировки стека для определения места ошибки. Если запрос был успешным, это поле будет равно null.
Пример
"exception": "No such name for 'metrics': 'nosuchmetric' net.opentsdb.uid.UniqueId$1GetIdCB.call(UniqueId.java:315)"
Пользователь
Для будущих применений это поле можно использовать для извлечения информации о пользователе из запросов и отладки того, кто чаще всего использует TSD. Достаточно легко изменить код TSD для извлечения пользователя из HTTP-заголовка.
RequestHeaders
Это карта заголовков, отправленных вместе с HTTP-запросом. В качестве посредственного усилия по обеспечению безопасности поле заголовка Cookie замаскировано звездочками в том случае, если оно содержит информацию, позволяющую идентифицировать пользователя или содержащую конфиденциальные данные. Каждый запрос отличается, поэтому изучите заголовки в RFC HTTP или документации вашего веб-браузера или клиентов.
Пример
"requestHeaders": {
"Accept-Language": "en-US,en;q=0.8",
"Host": "tsdhost:4242",
"Content-Length": "440",
"Referer": "http://tsdhost:8080/dashboard/db/tsdfrontend",
"Accept-Encoding": "gzip, deflate",
"X-Forwarded-For": "192.168.0.2",
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36",
"Origin": "http://tsdhost:8080",
"Content-Type": "application/json;charset=UTF-8",
"Accept": "application/json, text/plain, */*"
}
HttpResponse
Это поле содержит числовой HTTP-код ответа и текстовое представление этого кода.
Пример
"httpResponse": {
"code": 200,
"reasonPhrase": "OK"
}
Другие поля
Вывод для файлов журналов и страницы статистики включает другие поля со значениями, указанными ниже:
| Метрика | Тип | Описание |
|---|---|---|
| executed | Счетчик | Если один и тот же запрос выполнялся несколько раз (в одно и то же время, одним и тем же агентом и т. д.), то этот целочисленный счетчик будет увеличиваться. Используйте это для определения момента, когда клиент может начать кэшировать результаты. |
| numRunningQueries | Датчик | Сколько запросов выполнялось в момент выполнения запроса (обратите внимание, что для страницы статистики это значение всегда будет актуальным) |
| queryStartTimestamp | Маркер времени (мс) | Маркер времени (эпоха Unix в миллисекундах), когда запрос был получен и начата его обработка. |
| queryCompletedTimestamp | Маркер времени (мс) | Маркер времени (эпоха Unix в миллисекундах), когда запрос был завершен и отправлен клиенту. |
| sentToClient | булево значение | Указывает, был ли запрос успешно отправлен клиенту. Он может быть заблокирован из-за исключения сокета или заполненного буфера записи. |
Статистика
Доступно несколько статистических данных по каждому запросу, и с течением времени будет добавлено больше данных. Измеряются различные уровни детализации, включая:
- Глобальные - метрики, относящиеся ко всему запросу, включая максимальное и среднее время выполнения каждого подзапроса.
- По подзапросу - метрики, относящиеся к одному подзапросу (если их несколько), включая максимальное и среднее время сканирования.
- По сканеру - метрики по каждому отдельному сканеру (полезно, когда включено разбиение).
Глобальная статистика выводится в стандартный журнал и на страницу статистики. Полные сведения по глобальным, подзапросам и сканерам доступны в журнале запросов и через API запросов, когда showSummary присутствует. Статистические данные о времени выполнения на более низком уровне агрегируются в максимальные и средние значения на верхнем уровне. Счетчики на каждом более низком уровне также агрегируются на каждом более высоком уровне, поэтому вы увидите те же метрики счетчиков на каждом уровне. Ниже приведена таблица статистики и разделов.
Примечание
Все временные значения в таблице ниже указаны в миллисекундах. Обратите также внимание, что время может быть увеличено из-за сборки мусора JVM, поэтому убедитесь, что включено ведение журнала сборки мусора, если что-то кажется необычным.
| Метрика | Тип | Раздел | Описание |
|---|---|---|---|
| compactionTime | Вещественное число | Сканер | Накопленное время выполнения каждого ряда кодом уплотнения для создания одного столбца и управления дублированными значениями. |
| hbaseTime | Вещественное число | Сканер | Накопленное время ожидания HBase для возврата данных. (Включает время десериализации AsyncHBase). |
| scannerId | Строка | Сканер | Подробности о сканере, включая таблицу, начальные и конечные ключи, а также используемые фильтры. |
| scannerTime | Вещественное число | Сканер | Общее время с момента инициализации сканера до момента завершения и закрытия сканера. |
| scannerUidToStringTime | Вещественное число | Сканер | Накопленное время преобразования идентификаторов UIDs из ключей строк в строки для использования с фильтрами по регулярным выражениям и подстановочным знакам. Если ни один из фильтров не используется, это значение должно быть равно нулю. |
| successfulScan | Целое число | Сканер, Запрос, Глобально | Количество сканеров, завершившихся успешно. На запрос это значение должно быть равно числу разделов для дробления, или 1 если дробление отключено. |
| uidPairsResolved | Целое число | Сканер | Общее количество ключей строк UIDs, преобразованных в значения меток при использовании фильтра по регулярным выражениям или подстановочным знакам. Если ни один из фильтров не используется, это значение должно быть равно нулю. |
| aggregationTime | Вещественное число | Запрос | Накопленное время агрегации точек данных, включая выборочную выборку, агрегацию нескольких рядов и расчеты скорости. |
| groupByTime | Вещественное число | Запрос | Накопленное время сортировки результатов сканирования в группы для последующей агрегации. |
| queryScanTime | Вещественное число | Запрос | Общее время ожидания возврата результатов сканерами. Это включает groupByTime. |
| saltScannerMergeTime | Вещественное число | Запрос | Общее время слияния результатов сканеров по дроблящим значениям в один набор перед операциями группировки. |
| serializationTime | Вещественное число | Запрос | Общее время сериализации результатов запроса. Это включает aggregationTime и uidToStringTime. |
| uidToStringTime | Вещественное число | Запрос | Накопленное время преобразования идентификаторов UIDs в строки для сериализации. |
| emittedDPs | Целое число | Запрос, Глобально | Общее количество сериализованных точек данных в выводе. Обратите внимание, что это может включать NaN или Null, если запрос это указал. |
| queryIndex | Целое число | Запрос | Индекс подзапроса в исходном списке запросов, заданных пользователем. |
| processingPreWriteTime | Вещественное число | Глобально | Общее время обработки, извлечения данных и сериализации результатов запроса до момента записи по сети. Это значение отправляется в сводках результатов API и используется в качестве оценки общего времени обработки TSD. Однако оно не включает время, необходимое для отправки значения по сети. |
| totalTime | Вещественное число | Глобально | Общее время выполнения запроса, включая запись в сокет. Это значение доступно только в файлах журналов и API статистики. |
Пример
{
"statsSummary": {
"avgAggregationTime": 3.784976,
"avgHBaseTime": 8.530751,
"avgQueryScanTime": 10.964149,
"avgScannerTime": 8.588306,
"avgScannerUidToStringTime": 0.0,
"avgSerializationTime": 3.809661,
"emittedDPs": 1256,
"maxAggregationTime": 3.759478,
"maxHBaseTime": 9.904215,
"maxQueryScanTime": 10.320964,
"maxScannerUidtoStringTime": 0.0,
"maxSerializationTime": 3.779712,
"maxUidToStringTime": 0.197926,
"processingPreWriteTime": 20.170205,
"queryIdx_00": {
"aggregationTime": 3.784976,
"avgHBaseTime": 8.849337,
"avgScannerTime": 8.908597,
"avgScannerUidToStringTime": 0.0,
"emittedDPs": 628,
"groupByTime": 0.0,
"maxHBaseTime": 9.904215,
"maxScannerUidtoStringTime": 0.0,
"queryIndex": 0,
"queryScanTime": 10.964149,
"saltScannerMergeTime": 0.128234,
"scannerStats": {
"scannerIdx_00": {
"compactionTime": 0.048703,
"hbaseTime": 8.844783,
"scannerId": "Scanner(table=\"tsdb\", start_key=[0, 0, 2, 88, 86, -63, -25, -16], stop_key=[0, 0, 2, 88, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.899045,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_01": {
"compactionTime": 0.066892,
"hbaseTime": 8.240165,
"scannerId": "Scanner(table=\"tsdb\", start_key=[1, 0, 2, 88, 86, -63, -25, -16], stop_key=[1, 0, 2, 88, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.314855,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_02": {
"compactionTime": 0.01298,
"hbaseTime": 8.462203,
"scannerId": "Scanner(table=\"tsdb\", start_key=[2, 0, 2, 88, 86, -63, -25, -16], stop_key=[2, 0, 2, 88, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.478315,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_03": {
"compactionTime": 0.036998,
"hbaseTime": 9.862741,
"scannerId": "Scanner(table=\"tsdb\", start_key=[3, 0, 2, 88, 86, -63, -25, -16], stop_key=[3, 0, 2, 88, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 9.904215,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_04": {
"compactionTime": 0.058698,
"hbaseTime": 9.523481,
"scannerId": "Scanner(table=\"tsdb\", start_key=[4, 0, 2, 88, 86, -63, -25, -16], stop_key=[4, 0, 2, 88, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 9.587324,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_05": {
"compactionTime": 0.041017,
"hbaseTime": 9.757787,
"scannerId": "Scanner(table=\"tsdb\", start_key=[5, 0, 2, 88, 86, -63, -25, -16], stop_key=[5, 0, 2, 88, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 9.802395,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_06": {
"compactionTime": 0.062371,
"hbaseTime": 9.332585,
"scannerId": "Scanner(table=\"tsdb\", start_key=[6, 0, 2, 88, 86, -63, -25, -16], stop_key=[6, 0, 2, 88, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 9.40264,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_07": {
"compactionTime": 0.063974,
"hbaseTime": 8.195105,
"scannerId": "Scanner(table=\"tsdb\", start_key=[7, 0, 2, 88, 86, -63, -25, -16], stop_key=[7, 0, 2, 88, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.265713,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_08": {
"compactionTime": 0.062196,
"hbaseTime": 8.21871,
"scannerId": "Scanner(table=\"tsdb\", start_key=[8, 0, 2, 88, 86, -63, -25, -16], stop_key=[8, 0, 2, 88, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.287582,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_09": {
"compactionTime": 0.051666,
"hbaseTime": 7.790636,
"scannerId": "Scanner(table=\"tsdb\", start_key=[9, 0, 2, 88, 86, -63, -25, -16], stop_key=[9, 0, 2, 88, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 7.849597,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_10": {
"compactionTime": 0.036429,
"hbaseTime": 7.6472,
"scannerId": "Scanner(table=\"tsdb\", start_key=[10, 0, 2, 88, 86, -63, -25, -16], stop_key=[10, 0, 2, 88, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 7.689386,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_11": {
"compactionTime": 0.044493,
"hbaseTime": 7.897932,
"scannerId": "Scanner(table=\"tsdb\", start_key=[11, 0, 2, 88, 86, -63, -25, -16], stop_key=[11, 0, 2, 88, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 7.94793,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_12": {
"compactionTime": 0.025362,
"hbaseTime": 9.30409,
"scannerId": "Scanner(table=\"tsdb\", start_key=[12, 0, 2, 88, 86, -63, -25, -16], stop_key=[12, 0, 2, 88, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 9.332411,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_13": {
"compactionTime": 0.057429,
"hbaseTime": 9.215958,
"scannerId": "Scanner(table=\"tsdb\", start_key=[13, 0, 2, 88, 86, -63, -25, -16], stop_key=[13, 0, 2, 88, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 9.278104,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_14": {
"compactionTime": 0.102855,
"hbaseTime": 9.598685,
"scannerId": "Scanner(table=\"tsdb\", start_key=[14, 0, 2, 88, 86, -63, -25, -16], stop_key=[14, 0, 2, 88, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 9.712258,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_15": {
"compactionTime": 0.0727,
"hbaseTime": 9.273193,
"scannerId": "Scanner(table=\"tsdb\", start_key=[15, 0, 2, 88, 86, -63, -25, -16], stop_key=[15, 0, 2, 88, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 9.35403,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_16": {
"compactionTime": 0.025867,
"hbaseTime": 9.011146,
"scannerId": "Scanner(table=\"tsdb\", start_key=[16, 0, 2, 88, 86, -63, -25, -16], stop_key=[16, 0, 2, 88, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 9.039663,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_17": {
"compactionTime": 0.066071,
"hbaseTime": 9.175692,
"scannerId": "Scanner(table=\"tsdb\", start_key=[17, 0, 2, 88, 86, -63, -25, -16], stop_key=[17, 0, 2, 88, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 9.24738,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_18": {
"compactionTime": 0.090249,
"hbaseTime": 8.730833,
"scannerId": "Scanner(table=\"tsdb\", start_key=[18, 0, 2, 88, 86, -63, -25, -16], stop_key=[18, 0, 2, 88, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.831461,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_19": {
"compactionTime": 0.039327,
"hbaseTime": 8.903825,
"scannerId": "Scanner(table=\"tsdb\", start_key=[19, 0, 2, 88, 86, -63, -25, -16], stop_key=[19, 0, 2, 88, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.947639,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
}
},
"serializationTime": 3.809661,
"successfulScan": 20,
"uidPairsResolved": 0,
"uidToStringTime": 0.197926
},
"queryIdx_01": {
"aggregationTime": 3.73398,
"avgHBaseTime": 8.212164,
"avgScannerTime": 8.268015,
"avgScannerUidToStringTime": 0.0,
"emittedDPs": 628,
"groupByTime": 0.0,
"maxHBaseTime": 8.986041,
"maxScannerUidtoStringTime": 0.0,
"queryIndex": 1,
"queryScanTime": 9.67778,
"saltScannerMergeTime": 0.095797,
"scannerStats": {
"scannerIdx_00": {
"compactionTime": 0.054894,
"hbaseTime": 8.708179,
"scannerId": "Scanner(table=\"tsdb\", start_key=[0, 0, 2, 76, 86, -63, -25, -16], stop_key=[0, 0, 2, 76, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.770252,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_01": {
"compactionTime": 0.055956,
"hbaseTime": 8.666615,
"scannerId": "Scanner(table=\"tsdb\", start_key=[1, 0, 2, 76, 86, -63, -25, -16], stop_key=[1, 0, 2, 76, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.730629,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_02": {
"compactionTime": 0.011224,
"hbaseTime": 8.474637,
"scannerId": "Scanner(table=\"tsdb\", start_key=[2, 0, 2, 76, 86, -63, -25, -16], stop_key=[2, 0, 2, 76, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.487582,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_03": {
"compactionTime": 0.081926,
"hbaseTime": 8.894951,
"scannerId": "Scanner(table=\"tsdb\", start_key=[3, 0, 2, 76, 86, -63, -25, -16], stop_key=[3, 0, 2, 76, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.986041,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_04": {
"compactionTime": 0.01882,
"hbaseTime": 8.209866,
"scannerId": "Scanner(table=\"tsdb\", start_key=[4, 0, 2, 76, 86, -63, -25, -16], stop_key=[4, 0, 2, 76, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.231502,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_05": {
"compactionTime": 0.056902,
"hbaseTime": 8.709846,
"scannerId": "Scanner(table=\"tsdb\", start_key=[5, 0, 2, 76, 86, -63, -25, -16], stop_key=[5, 0, 2, 76, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.772216,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_06": {
"compactionTime": 0.131424,
"hbaseTime": 8.033916,
"scannerId": "Scanner(table=\"tsdb\", start_key=[6, 0, 2, 76, 86, -63, -25, -16], stop_key=[6, 0, 2, 76, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.181117,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_07": {
"compactionTime": 0.022517,
"hbaseTime": 8.006976,
"scannerId": "Scanner(table=\"tsdb\", start_key=[7, 0, 2, 76, 86, -63, -25, -16], stop_key=[7, 0, 2, 76, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.032073,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_08": {
"compactionTime": 0.011527,
"hbaseTime": 8.591358,
"scannerId": "Scanner(table=\"tsdb\", start_key=[8, 0, 2, 76, 86, -63, -25, -16], stop_key=[8, 0, 2, 76, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.604491,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_09": {
"compactionTime": 0.162222,
"hbaseTime": 8.25452,
"scannerId": "Scanner(table=\"tsdb\", start_key=[9, 0, 2, 76, 86, -63, -25, -16], stop_key=[9, 0, 2, 76, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.435525,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_10": {
"compactionTime": 0.033886,
"hbaseTime": 7.973254,
"scannerId": "Scanner(table=\"tsdb\", start_key=[10, 0, 2, 76, 86, -63, -25, -16], stop_key=[10, 0, 2, 76, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.011236,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_11": {
"compactionTime": 0.039491,
"hbaseTime": 7.959601,
"scannerId": "Scanner(table=\"tsdb\", start_key=[11, 0, 2, 76, 86, -63, -25, -16], stop_key=[11, 0, 2, 76, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.003249,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_12": {
"compactionTime": 0.107793,
"hbaseTime": 8.177353,
"scannerId": "Scanner(table=\"tsdb\", start_key=[12, 0, 2, 76, 86, -63, -25, -16], stop_key=[12, 0, 2, 76, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.298284,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_13": {
"compactionTime": 0.020697,
"hbaseTime": 8.124243,
"scannerId": "Scanner(table=\"tsdb\", start_key=[13, 0, 2, 76, 86, -63, -25, -16], stop_key=[13, 0, 2, 76, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.147879,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_14": {
"compactionTime": 0.033261,
"hbaseTime": 8.145149,
"scannerId": "Scanner(table=\"tsdb\", start_key=[14, 0, 2, 76, 86, -63, -25, -16], stop_key=[14, 0, 2, 76, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.182331,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_15": {
"compactionTime": 0.057804,
"hbaseTime": 8.17854,
"scannerId": "Scanner(table=\"tsdb\", start_key=[15, 0, 2, 76, 86, -63, -25, -16], stop_key=[15, 0, 2, 76, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.243458,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_16": {
"compactionTime": 0.01212,
"hbaseTime": 8.070582,
"scannerId": "Scanner(table=\"tsdb\", start_key=[16, 0, 2, 76, 86, -63, -25, -16], stop_key=[16, 0, 2, 76, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 8.084813,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_17": {
"compactionTime": 0.036777,
"hbaseTime": 7.919167,
"scannerId": "Scanner(table=\"tsdb\", start_key=[17, 0, 2, 76, 86, -63, -25, -16], stop_key=[17, 0, 2, 76, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 7.959645,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_18": {
"compactionTime": 0.048097,
"hbaseTime": 7.87351,
"scannerId": "Scanner(table=\"tsdb\", start_key=[18, 0, 2, 76, 86, -63, -25, -16], stop_key=[18, 0, 2, 76, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 7.926318,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
},
"scannerIdx_19": {
"compactionTime": 0.0,
"hbaseTime": 7.271033,
"scannerId": "Scanner(table=\"tsdb\", start_key=[19, 0, 2, 76, 86, -63, -25, -16], stop_key=[19, 0, 2, 76, 86, -62, 4, 16], columns={\"t\"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter(\"(?s)^.{8}(?:.{7})*\\Q\u0000\u0000\u0005\\E(?:\\Q\u0000\u0000\u00006\\E)(?:.{7})*$\", ISO-8859-1), scanner_id=0x0000000000000000)",
"scannerTime": 7.271664,
"scannerUidToStringTime": 0.0,
"successfulScan": 1,
"uidPairsResolved": 0
}
},
"serializationTime": 3.749764,
"successfulScan": 20,
"uidPairsResolved": 0,
"uidToStringTime": 0.162088
},
"successfulScan": 40,
"uidPairsResolved": 0
}
}
© 2010–2016 The OpenTSDB Authors
Licensed under the GNU LGPLv2.1+ and GPLv3+ licenses.
http://opentsdb.net/docs/build/html/user_guide/query/stats.html