Skip to content

Commit afe537e

Browse files
authored
Merge pull request oceanbase#547 from Teingi/2.5.x_1113
update top sql display
2 parents 6ab92df + 0e24928 commit afe537e

File tree

1 file changed

+81
-65
lines changed

1 file changed

+81
-65
lines changed

handler/display/tasks/observer/topsql.yaml

Lines changed: 81 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -7,98 +7,114 @@ task:
77
steps:
88
- type: sql
99
tittle: Top SQL time consumption in the last {mtime} minutes
10-
sql: "select /*+read_consistency(weak),query_timeout(100000000)*/ tenant_name,SQL_ID,QUERY_SQL,count(1),avg(ELAPSED_TIME),avg(EXECUTE_TIME),avg(QUEUE_TIME),avg(AFFECTED_ROWS),avg(GET_PLAN_TIME)
11-
from oceanbase.gv$ob_sql_audit
12-
where time_to_usec(now(6))-request_time <{mtime}*60*1000000
13-
and tenant_name='{tenant_name}'
14-
group by SQL_ID order by avg(ELAPSED_TIME)*count(1) desc limit 20;"
10+
sql:
11+
"select /*+read_consistency(weak),query_timeout(100000000)*/ tenant_name,SQL_ID,substr(query_sql, 1, 20) as query_sql,count(1),avg(ELAPSED_TIME),avg(EXECUTE_TIME),avg(QUEUE_TIME),avg(AFFECTED_ROWS),avg(GET_PLAN_TIME)
12+
from oceanbase.gv$ob_sql_audit
13+
where time_to_usec(now(6))-request_time <{mtime}*60*1000000
14+
and tenant_name='{tenant_name}'
15+
group by SQL_ID order by avg(ELAPSED_TIME)*count(1) desc limit 20;"
1516
global: true
1617
- type: sql
1718
tittle: Top-N SQL queries ranked by request count in the last {mtime} minutes
18-
sql: "select /*+read_consistency(weak),query_timeout(100000000)*/ tenant_name,SQL_ID, QUERY_SQL,count(*) as QPS, avg(t1.elapsed_time) RT
19-
from oceanbase.gv$ob_sql_audit t1
20-
where tenant_name='{tenant_name}' and IS_EXECUTOR_RPC = 0
21-
and request_time > (time_to_usec(now()) - {mtime}*60*1000000)
22-
and request_time < time_to_usec(now())
23-
group by t1.sql_id order by QPS desc limit 20;"
19+
sql:
20+
"select /*+read_consistency(weak),query_timeout(100000000)*/ tenant_name,SQL_ID, substr(query_sql, 1, 20) as query_sql,count(*) as QPS, avg(t1.elapsed_time) RT
21+
from oceanbase.gv$ob_sql_audit t1
22+
where tenant_name='{tenant_name}' and IS_EXECUTOR_RPC = 0
23+
and request_time > (time_to_usec(now()) - {mtime}*60*1000000)
24+
and request_time < time_to_usec(now())
25+
group by t1.sql_id order by QPS desc limit 20;"
2426
global: true
2527
- type: sql
2628
tittle: The SQL that consumes the most CPU among all SQLs in the last {mtime} minutes
27-
sql: "select /*+read_consistency(weak),query_timeout(100000000)*/ tenant_name,sql_id, substr(query_sql, 1, 20) as query_sql,
28-
sum(elapsed_time - queue_time) sum_t, count(*) cnt,
29-
avg(get_plan_time), avg(execute_time)
30-
from oceanbase.gv$ob_sql_audit
31-
where tenant_name ='{tenant_name}'
32-
and request_time > (time_to_usec(now()) - {mtime}*60*1000000)
33-
and request_time < time_to_usec(now())
34-
group by sql_id order by sum_t desc limit 20;"
29+
sql:
30+
"select /*+read_consistency(weak),query_timeout(100000000)*/ tenant_name,sql_id, substr(query_sql, 1, 20) as query_sql,
31+
sum(elapsed_time - queue_time) as cpu_time, count(*) cnt,
32+
avg(get_plan_time), avg(execute_time)
33+
from oceanbase.gv$ob_sql_audit
34+
where tenant_name ='{tenant_name}'
35+
and request_time > (time_to_usec(now()) - {mtime}*60*1000000)
36+
and request_time < time_to_usec(now())
37+
group by sql_id order by cpu_time desc limit 20;"
3538
global: true
3639
- type: sql
3740
tittle: Check whether there have been a large number of unreasonable remote execution requests for SQL executions in the past {mtime} minutes
38-
sql: "select /*+read_consistency(weak),query_timeout(100000000)*/ count(*), plan_type
39-
from oceanbase.gv$ob_sql_audit
40-
where tenant_name ='{tenant_name}'
41-
and IS_EXECUTOR_RPC = 0
42-
and request_time > (time_to_usec(now()) - {mtime}*60*1000000)
43-
and request_time < time_to_usec(now())
44-
group by plan_type limit 20;"
41+
sql:
42+
"select /*+read_consistency(weak),query_timeout(100000000)*/ count(*), plan_type
43+
from oceanbase.gv$ob_sql_audit
44+
where tenant_name ='{tenant_name}'
45+
and IS_EXECUTOR_RPC = 0
46+
and is_inner_sql = 0
47+
and request_time > (time_to_usec(now()) - {mtime}*60*1000000)
48+
and request_time < time_to_usec(now())
49+
group by plan_type limit 20;"
4550
global: true
4651
- type: sql
4752
tittle: SQL for querying a full table scan
48-
sql: "select /*+read_consistency(weak),query_timeout(100000000)*/ query_sql
49-
from oceanbase.gv$ob_sql_audit
50-
where table_scan = 1 and tenant_name = '{tenant_name}'
51-
and request_time > (time_to_usec(now()) - {mtime}*60*1000000)
52-
and request_time < time_to_usec(now())
53-
group by sql_id limit 20;"
53+
sql:
54+
"select /*+read_consistency(weak),query_timeout(100000000)*/ tenant_name, SQL_ID, substr(query_sql, 1, 20) as query_sql, elapsed_time
55+
from oceanbase.gv$ob_sql_audit
56+
where table_scan = 1 and tenant_name = '{tenant_name}'
57+
and request_time > (time_to_usec(now()) - {mtime}*60*1000000)
58+
and request_time < time_to_usec(now())
59+
and is_inner_sql = 0
60+
order by elapsed_time desc limit 20;"
5461
global: true
5562
- version: "[3.0.0.0, 4.0.0.0]"
5663
steps:
5764
- type: sql
5865
tittle: Top SQL time consumption in the last {mtime} minutes
59-
sql: "select /*+read_consistency(weak),query_timeout(100000000)*/ tenant_name,SQL_ID,QUERY_SQL,count(1),avg(ELAPSED_TIME),avg(EXECUTE_TIME),avg(QUEUE_TIME),avg(AFFECTED_ROWS),avg(GET_PLAN_TIME)
60-
from oceanbase.gv$sql_audit
61-
where time_to_usec(now(6))-request_time <{mtime}*60*1000000
62-
and tenant_name='{tenant_name}'
63-
group by SQL_ID order by avg(ELAPSED_TIME)*count(1) desc limit 20 ;"
66+
sql:
67+
"select /*+read_consistency(weak),query_timeout(100000000)*/ tenant_name,SQL_ID,substr(query_sql, 1, 20) as query_sql,count(1),avg(ELAPSED_TIME),avg(EXECUTE_TIME),avg(QUEUE_TIME),avg(AFFECTED_ROWS),avg(GET_PLAN_TIME)
68+
from oceanbase.gv$sql_audit
69+
where time_to_usec(now(6))-request_time <{mtime}*60*1000000
70+
and tenant_name='{tenant_name}'
71+
and is_inner_sql = 0
72+
group by SQL_ID order by avg(ELAPSED_TIME)*count(1) desc limit 20 ;"
6473
global: true
6574
- type: sql
6675
tittle: Top-N SQL queries ranked by request count in the last {mtime} minutes
67-
sql: "select /*+read_consistency(weak),query_timeout(100000000)*/ tenant_name, SQL_ID,QUERY_SQL, count(*) as QPS, avg(t1.elapsed_time) RT
68-
from oceanbase.gv$sql_audit t1
69-
where tenant_name='{tenant_name}'
70-
and IS_EXECUTOR_RPC = 0
71-
and request_time > (time_to_usec(now()) - {mtime}*60*1000000)
72-
and request_time < time_to_usec(now())
73-
group by t1.sql_id order by QPS desc limit 20;"
76+
sql:
77+
"select /*+read_consistency(weak),query_timeout(100000000)*/ tenant_name, SQL_ID,substr(query_sql, 1, 20) as query_sql, count(*) as QPS, avg(t1.elapsed_time) RT
78+
from oceanbase.gv$sql_audit t1
79+
where tenant_name='{tenant_name}'
80+
and IS_EXECUTOR_RPC = 0
81+
and is_inner_sql = 0
82+
and request_time > (time_to_usec(now()) - {mtime}*60*1000000)
83+
and request_time < time_to_usec(now())
84+
group by t1.sql_id order by QPS desc limit 20;"
7485
global: true
7586
- type: sql
7687
tittle: The SQL that consumes the most CPU among all SQLs in the last {mtime} minutes
77-
sql: "select /*+read_consistency(weak),query_timeout(100000000)*/ tenant_name,sql_id, substr(query_sql, 1, 20) as query_sql,
78-
sum(elapsed_time - queue_time) sum_t, count(*) cnt,
79-
avg(get_plan_time), avg(execute_time)
80-
from oceanbase.gv$sql_audit
81-
where tenant_name='{tenant_name}'
82-
and request_time > (time_to_usec(now()) - {mtime}*60*1000000)
83-
and request_time < time_to_usec(now())
84-
group by sql_id order by sum_t desc limit 20;"
88+
sql:
89+
"select /*+read_consistency(weak),query_timeout(100000000)*/ tenant_name,sql_id, substr(query_sql, 1, 20) as query_sql,
90+
sum(elapsed_time - queue_time) as cpu_time, count(*) cnt,
91+
avg(get_plan_time), avg(execute_time)
92+
from oceanbase.gv$sql_audit
93+
where tenant_name='{tenant_name}'
94+
and request_time > (time_to_usec(now()) - {mtime}*60*1000000)
95+
and request_time < time_to_usec(now())
96+
and is_inner_sql = 0
97+
group by sql_id order by cpu_time desc limit 20;"
8598
global: true
8699
- type: sql
87100
tittle: Check whether there have been a large number of unreasonable remote execution requests for SQL executions in the past {mtime} minutes
88-
sql: "select /*+read_consistency(weak),query_timeout(100000000)*/ count(*), plan_type
89-
from oceanbase.gv$sql_audit
90-
where tenant_name='{tenant_name}'
91-
and IS_EXECUTOR_RPC = 0
92-
and request_time > (time_to_usec(now()) - {mtime}*60*1000000)
93-
and request_time < time_to_usec(now())
94-
group by plan_type limit 20;"
101+
sql:
102+
"select /*+read_consistency(weak),query_timeout(100000000)*/ count(*), plan_type
103+
from oceanbase.gv$sql_audit
104+
where tenant_name='{tenant_name}'
105+
and IS_EXECUTOR_RPC = 0
106+
and request_time > (time_to_usec(now()) - {mtime}*60*1000000)
107+
and request_time < time_to_usec(now())
108+
group by plan_type limit 20;"
95109
global: true
96110
- type: sql
97111
tittle: SQL for querying a full table scan
98-
sql: "select /*+read_consistency(weak),query_timeout(100000000)*/ query_sql
99-
from oceanbase.gv$sql_audit
100-
where table_scan = 1 and tenant_name = '{tenant_name}'
101-
and request_time > (time_to_usec(now()) - {mtime}*60*10000)
102-
and request_time < time_to_usec(now())
103-
group by sql_id limit 20;"
112+
sql:
113+
"select /*+read_consistency(weak),query_timeout(100000000)*/ tenant_name, SQL_ID, substr(query_sql, 1, 20) as query_sql
114+
from oceanbase.gv$sql_audit
115+
where table_scan = 1 and tenant_name = '{tenant_name}'
116+
and request_time > (time_to_usec(now()) - {mtime}*60*10000)
117+
and request_time < time_to_usec(now())
118+
and is_inner_sql = 0
119+
order by elapsed_time desc limit 20;"
104120
global: true

0 commit comments

Comments
 (0)