Query Profile Action
Request
GET /rest/v2/manager/query/query_info
GET /rest/v2/manager/query/trace/{trace_id}
GET /rest/v2/manager/query/sql/{query_id}
GET /rest/v2/manager/query/profile/text/{query_id}
GET /rest/v2/manager/query/profile/graph/{query_id}
GET /rest/v2/manager/query/profile/json/{query_id}
GET /rest/v2/manager/query/profile/fragments/{query_id}
GET /rest/v2/manager/query/current_queries
GET /rest/v2/manager/query/kill/{query_id}
获取查询信息
GET /rest/v2/manager/query/query_info
Description
可获取集群所有 fe 节点 select 查询信息。
Query parameters
query_id
可选,指定返回查询的queryID, 默认返回所有查询的信息。
- search
可选,指定返回包含字符串的查询信息,目前仅进行字符串匹配。
- is_all_node
可选,若为 true 则返回所有fe节点的查询信息,若为 false 则返回当前fe节点的查询信息。默认为true。
Response
1. {
2. "msg": "success",
3. "code": 0,
4. "data": {
5. "column_names": [
6. "Query ID",
7. "FE节点",
8. "查询用户",
9. "执行数据库",
10. "Sql",
11. "查询类型",
12. "开始时间",
13. "结束时间",
14. "执行时长",
15. "状态"
16. ],
17. "rows": [
18. [
19. ...
20. ]
21. ]
22. },
23. "count": 0
24. }
SinceVersion 1.2
Admin 和 Root 用户可以查看所有 Query。普通用户仅能查看自己发送的 Query。
Examples
1. GET /rest/v2/manager/query/query_info
3. {
4. "msg": "success",
5. "code": 0,
6. "data": {
7. "column_names": [
8. "Query ID",
9. "FE节点",
10. "查询用户",
11. "执行数据库",
12. "Sql",
13. "查询类型",
14. "开始时间",
15. "结束时间",
16. "执行时长",
17. "状态"
18. ],
19. "rows": [
20. [
21. "d7c93d9275334c35-9e6ac5f295a7134b",
22. "127.0.0.1:8030",
23. "root",
24. "default_cluster:testdb",
25. "select c.id, c.name, p.age, p.phone, c.date, c.cost from cost c join people p on c.id = p.id where p.age > 20 order by c.id",
26. "Query",
27. "2021-07-29 16:59:12",
28. "2021-07-29 16:59:12",
29. "109ms",
30. "EOF"
31. ]
32. ]
33. },
34. "count": 0
35. }
通过 Trace Id 获取 Query Id
GET /rest/v2/manager/query/trace_id/{trace_id}
Description
通过 Trace Id 获取 Query Id.
在执行一个 Query 前,先设置一个唯一的 trace id:
set session_context="trace_id:your_trace_id";
在同一个 Session 链接内执行 Query 后,可以通过 trace id 获取 query id。
Path parameters
{trace_id}
用户设置的 trace id.
Query parameters
Response
1. {
2. "msg": "success",
3. "code": 0,
4. "data": "fb1d9737de914af1-a498d5c5dec638d3",
5. "count": 0
6. }
SinceVersion 1.2
Admin 和 Root 用户可以查看所有 Query。普通用户仅能查看自己发送的 Query。若指定 trace id 不存在或无权限,则返回 Bad Request:
1. {
2. "msg": "Bad Request",
3. "code": 403,
4. "data": "error messages",
5. "count": 0
6. }
获取指定查询的sql和文本profile
GET /rest/v2/manager/query/sql/{query_id}
GET /rest/v2/manager/query/profile/text/{query_id}
Description
用于获取指定query id的sql和profile文本。
Path parameters
query_id
query id。
Query parameters
is_all_node
可选,若为 true 则在所有fe节点中查询指定query id的信息,若为 false 则在当前连接的fe节点中查询指定query id的信息。默认为true。
Response
1. {
2. "msg": "success",
3. "code": 0,
4. "data": {
5. "sql": ""
6. },
7. "count": 0
8. }
1. {
2. "msg": "success",
3. "code": 0,
4. "data": {
5. "profile": ""
6. },
7. "count": 0
8. }
SinceVersion 1.2
Admin 和 Root 用户可以查看所有 Query。普通用户仅能查看自己发送的 Query。若指定 query id 不存在或无权限,则返回 Bad Request:
1. {
2. "msg": "Bad Request",
3. "code": 403,
4. "data": "error messages",
5. "count": 0
6. }
Examples
- 获取 sql:
``` 1. GET /rest/v2/manager/query/sql/d7c93d9275334c35-9e6ac5f295a7134b
- Response:
- {
- "msg": "success",
- "code": 0,
- "data": {
- "sql": "select c.id, c.name, p.age, p.phone, c.date, c.cost from cost c join people p on c.id = p.id where p.age > 20 order by c.id"
- },
- "count": 0
- } ```
获取指定查询fragment和instance信息
GET /rest/v2/manager/query/profile/fragments/{query_id}
Description
用于获取指定query id的fragment名称,instance id、主机IP及端口和执行时长。
Path parameters
query_id
query id。
Query parameters
is_all_node
可选,若为 true 则在所有fe节点中查询指定query id的信息,若为 false 则在当前连接的fe节点中查询指定query id的信息。默认为true。
Response
1. {
2. "msg": "success",
3. "code": 0,
4. "data": [
5. {
6. "fragment_id": "",
7. "time": "",
8. "instance_id": {
9. "": {
10. "host": "",
11. "active_time": ""
12. }
13. }
14. }
15. ],
16. "count": 0
17. }
SinceVersion 1.2
Admin 和 Root 用户可以查看所有 Query。普通用户仅能查看自己发送的 Query。若指定 query id 不存在或无权限,则返回 Bad Request:
1. {
2. "msg": "Bad Request",
3. "code": 403,
4. "data": "error messages",
5. "count": 0
6. }
Examples
1. GET /rest/v2/manager/query/profile/fragments/d7c93d9275334c35-9e6ac5f295a7134b
3. Response:
4. {
5. "msg": "success",
6. "code": 0,
7. "data": [
8. {
9. "fragment_id": "0",
10. "time": "36.169ms",
11. "instance_id": {
12. "d7c93d9275334c35-9e6ac5f295a7134e": {
13. "host": "172.19.0.4:9060",
14. "active_time": "36.169ms"
15. }
16. }
17. },
18. {
19. "fragment_id": "1",
20. "time": "20.710ms",
21. "instance_id": {
22. "d7c93d9275334c35-9e6ac5f295a7134c": {
23. "host": "172.19.0.5:9060",
24. "active_time": "20.710ms"
25. }
26. }
27. },
28. {
29. "fragment_id": "2",
30. "time": "7.83ms",
31. "instance_id": {
32. "d7c93d9275334c35-9e6ac5f295a7134d": {
33. "host": "172.19.0.6:9060",
34. "active_time": "7.83ms"
35. },
36. "d7c93d9275334c35-9e6ac5f295a7134f": {
37. "host": "172.19.0.7:9060",
38. "active_time": "10.873ms"
39. }
40. }
41. }
42. ],
43. "count": 0
44. }
获取指定query id树状profile信息
GET /rest/v2/manager/query/profile/graph/{query_id}
Description
获取指定query id树状profile信息,同 show query profile 指令。
Path parameters
query_id
query id。
Query parameters
fragment_id和instance_id
可选,这两个参数需同时指定或同时不指定。
同时不指定则返回profile 简易树形图,相当于show query profile '/query_id';
同时指定则返回指定instance详细profile树形图,相当于show query profile '/query_id/fragment_id/instance_id'.
- is_all_node
可选,若为 true 则在所有fe节点中查询指定query id的信息,若为 false 则在当前连接的fe节点中查询指定query id的信息。默认为true。
Response
1. {
2. "msg": "success",
3. "code": 0,
4. "data": {
5. "graph":""
6. },
7. "count": 0
8. }
SinceVersion 1.2
Admin 和 Root 用户可以查看所有 Query。普通用户仅能查看自己发送的 Query。若指定 query id 不存在或无权限,则返回 Bad Request:
1. {
2. "msg": "Bad Request",
3. "code": 403,
4. "data": "error messages",
5. "count": 0
6. }
正在执行的query
GET /rest/v2/manager/query/current_queries
Description
同 show proc "/current_query_stmts",返回当前正在执行的 query
Path parameters
Query parameters
is_all_node
可选,若为 true 则返回所有FE节点当前正在执行的 query 信息。默认为 true。
Response
1. {
2. "msg": "success",
3. "code": 0,
4. "data": {
5. "columnNames": ["Frontend", "QueryId", "ConnectionId", "Database", "User", "ExecTime", "SqlHash", "Statement"],
6. "rows": [
7. ["172.19.0.3", "108e47ab438a4560-ab1651d16c036491", "2", "", "root", "6074", "1a35f62f4b14b9d7961b057b77c3102f", "select sleep(60)"],
8. ["172.19.0.11", "3606cad4e34b49c6-867bf6862cacc645", "3", "", "root", "9306", "1a35f62f4b14b9d7961b057b77c3102f", "select sleep(60)"]
9. ]
10. },
11. "count": 0
12. }
取消query
POST /rest/v2/manager/query/kill/{query_id}
Description
取消执行连接中正在执行的 query
Path parameters
{query_id}
query id. 你可以通过 trace_id 接口,获取 query id。
Query parameters
Response
1. {
2. "msg": "success",
3. "code": 0,
4. "data": null,
5. "count": 0
6. }
