-
Notifications
You must be signed in to change notification settings - Fork 390
/
agent_profile.sandesh
197 lines (178 loc) · 4.46 KB
/
agent_profile.sandesh
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
/*
* Copyright (c) 2015 Juniper Networks, Inc. All rights reserved.
*/
/**
* Message definitions for agent profile .
*
* This module is responsible for generating debug information for agent
* by querying oper db table
*
*/
/**
* Sandesh definition for oper db table
*/
struct SandeshDBTableStats {
1: string table;
2: u64 db_entry_count;
3: u64 walker_count;
4: u64 enqueue_count;
5: u64 input_count;
6: u64 notify_count;
}
/**
* Sandesh definition for oper db table entry
*/
struct SandeshDBTableStatsInfo {
1: u16 index;
2: string time_str;
3: list<SandeshDBTableStats> stats;
}
/**
* Response message for db table entry list
*/
response sandesh SandeshDBTableStatsList {
1: list<SandeshDBTableStatsInfo> stats;
}
/**
* Request messae to get db table entry list from agent introspect
*/
request sandesh SandeshDBTableStatsRequest {
1: u16 count; // send data for last 'count' entries
}
/**
* Sandesh definition for flow
*/
struct SandeshFlowStats {
1: u16 index;
2: string time_str;
4: u64 flow_count;
5: u64 add_count;
7: u64 del_count;
8: u64 reval_count;
9: u64 recompute_count;
10: u64 vrouter_responses;
11: u64 vrouter_error;
12: u64 audit_count;
}
/**
* Response message for flow stats list
*/
response sandesh SandeshFlowStatsList {
1: list<SandeshFlowStats> stats;
}
/**
* Request message getting for flow stats
*/
request sandesh SandeshFlowStatsRequest {
1: u16 count; // send data for last 'count' entries
}
/**
* Sandesh definition for summary of flow work-queues
*/
struct SandeshFlowQueueSummaryOneInfo {
1: u64 qcount;
2: u64 dequeues;
3: u64 enqueues;
4: u64 max_qlen;
5: u64 starts;
6: u64 busy_msec;
}
struct SandeshFlowTokenInfo {
1: i32 add_tokens;
2: u64 add_token_full;
3: u64 add_token_restarts;
4: i32 ksync_tokens;
5: u64 ksync_token_full;
6: u64 ksync_token_restarts;
7: i32 update_tokens;
8: u64 update_token_full;
9: u64 update_token_restarts;
10: i32 delete_tokens;
11: u64 delete_token_full;
12: u64 delete_token_restarts;
}
struct SandeshFlowQueueSummaryInfo {
1: u32 index;
2: string time_str;
3: SandeshFlowTokenInfo token_stats;
4: SandeshFlowQueueSummaryOneInfo flow_event_queue;
5: SandeshFlowQueueSummaryOneInfo flow_tokenless_queue;
6: SandeshFlowQueueSummaryOneInfo flow_ksync_queue;
7: SandeshFlowQueueSummaryOneInfo flow_delete_queue;
8: SandeshFlowQueueSummaryOneInfo flow_update_queue;
9: SandeshFlowQueueSummaryOneInfo flow_mgmt_queue;
10: SandeshFlowQueueSummaryOneInfo flow_stats_queue;
11: SandeshFlowQueueSummaryOneInfo pkt_handler_queue;
12: SandeshFlowQueueSummaryOneInfo ksync_tx_queue;
13: SandeshFlowQueueSummaryOneInfo ksync_rx_queue;
}
/**
* Response message for flow-queue summary counts
*/
response sandesh SandeshFlowQueueSummaryResp {
1: list<SandeshFlowQueueSummaryInfo> summary;
}
/**
* Request message to get summary of flow work-queues
*/
request sandesh SandeshFlowQueueSummaryRequest{
}
/**
* Sandesh definition for agent profile task
*/
struct TaskProfileStats {
1: u16 index;
2: i32 flow_run;
3: i32 flow_wait;
4: i32 flow_defer;
5: i32 db_run;
6: i32 db_wait;
7: i32 db_defer;
8: i32 stats_run;
9: i32 stats_wait;
10: i32 stats_defer;
11: i32 io_run;
12: i32 io_wait;
13: i32 io_defer;
14: i32 flow_resp_run;
15: i32 flow_resp_wait;
16: i32 flow_resp_defer;
17: i32 sandesh_rcv_run;
18: i32 sandesh_rcv_wait;
19: i32 sandesh_rcv_defer;
20: i32 bgp_cfg_run;
21: i32 bgp_cfg_wait;
22: i32 bgp_cfg_defer;
23: i32 ksync_run;
24: i32 ksync_wait;
25: i32 ksync_defer;
}
/**
* Response message for profile task
*/
response sandesh SandeshTaskStatsList {
1: list<TaskProfileStats> stats;
}
/**
* Request message to get profile task stats from agent introspect
*/
request sandesh SandeshTaskStatsRequest {
1: u16 count; // send data for last 'count' entries
}
/**
* Response message for SandeshSetTaskProfileParams
* Shows modified parameters
*/
response sandesh SandeshProfileParams {
1: u16 task_exec_threshold;
2: u16 task_schedule_threshold;
3: bool measure_queue_run_time;
}
/**
* Request to tune to task-profiling parameters
*/
request sandesh SandeshSetProfileParams {
1: u16 task_exec_threshold;
2: u16 task_schedule_threshold;
3: bool measure_queue_run_time;
}