-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathtxeventq-metrics.toml
executable file
·99 lines (95 loc) · 2.65 KB
/
txeventq-metrics.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
[[metric]]
context = "ownership"
metricsdesc = { inst_id = "Owner instance of the current queues." }
request = '''
SELECT
inst_id
FROM
gv$persistent_queues
WHERE
ROWNUM < 2
'''
[[metric]]
context = "teq"
metricsdesc = { curr_inst_id = "ID of current instance" }
request = "SELECT instance_number AS curr_inst_id FROM v$instance"
[[metric]]
context = "teq"
labels = ["inst_id"]
metricsdesc = { total_queues = "Total number of queues"}
request = '''
SELECT
inst_id,
COUNT(*) AS total_queues
FROM
(
SELECT DISTINCT
t1.inst_id,
t2.queue_name
FROM
gv$aq_sharded_subscriber_stat t1
JOIN gv$persistent_queues t2 ON t1.queue_id = t2.queue_id
)
GROUP BY
inst_id
'''
[[metric]]
context = "teq"
labels = ["inst_id"]
metricsdesc = { total_subscribers = "Total number of subscribers"}
request = '''
SELECT
inst_id,
COUNT(*) AS total_subscribers
FROM
(
SELECT DISTINCT
inst_id,
subscriber_id
FROM
gv$aq_sharded_subscriber_stat
)
GROUP BY
inst_id
'''
[[metric]]
context = "teq"
labels = ["inst_id", "queue_name", "subscriber_name"]
metricsdesc = { enqueued_msgs = "Total enqueued messages.", dequeued_msgs = "Total dequeued messages.", remained_msgs = "Total remained messages.", time_since_last_dequeue = "Time since last dequeue.", estd_time_to_drain_no_enq = "Estimated time to drain if no enqueue.", message_latency_1 = "Message latency for last 5 mins.", message_latency_2 = "Message latency for last 1 hour.", message_latency_3 = "Message latency for last 5 hours."}
request = '''
SELECT DISTINCT
t1.inst_id,
t1.queue_id,
t2.queue_name,
t1.subscriber_id AS subscriber_name,
t1.enqueued_msgs,
t1.dequeued_msgs,
t1.remained_msgs,
t1.time_since_last_dequeue,
t1.estd_time_to_drain_no_enq,
t1.message_latency_1,
t1.message_latency_2,
t1.message_latency_3
FROM
(
SELECT
inst_id,
queue_id,
subscriber_id,
SUM(enqueued_msgs) AS enqueued_msgs,
SUM(dequeued_msgs) AS dequeued_msgs,
SUM(enqueued_msgs - dequeued_msgs) AS remained_msgs,
MIN(time_since_last_dequeue) AS time_since_last_dequeue,
MAX(estd_time_to_drain_no_enq) AS estd_time_to_drain_no_enq,
AVG(10) AS message_latency_1,
AVG(20) AS message_latency_2,
AVG(30) AS message_latency_3
FROM
gv$aq_sharded_subscriber_stat
GROUP BY
queue_id,
subscriber_id,
inst_id
) t1
JOIN gv$persistent_queues t2 ON t1.queue_id = t2.queue_id
'''