|
7 | 7 | steps:
|
8 | 8 | - type: sql
|
9 | 9 | 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;" |
15 | 16 | global: true
|
16 | 17 | - type: sql
|
17 | 18 | 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;" |
24 | 26 | global: true
|
25 | 27 | - type: sql
|
26 | 28 | 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;" |
35 | 38 | global: true
|
36 | 39 | - type: sql
|
37 | 40 | 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;" |
45 | 50 | global: true
|
46 | 51 | - type: sql
|
47 | 52 | 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;" |
54 | 61 | global: true
|
55 | 62 | - version: "[3.0.0.0, 4.0.0.0]"
|
56 | 63 | steps:
|
57 | 64 | - type: sql
|
58 | 65 | 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 ;" |
64 | 73 | global: true
|
65 | 74 | - type: sql
|
66 | 75 | 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;" |
74 | 85 | global: true
|
75 | 86 | - type: sql
|
76 | 87 | 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;" |
85 | 98 | global: true
|
86 | 99 | - type: sql
|
87 | 100 | 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;" |
95 | 109 | global: true
|
96 | 110 | - type: sql
|
97 | 111 | 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;" |
104 | 120 | global: true
|
0 commit comments