trisulrp 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/lib/trp.proto ADDED
@@ -0,0 +1,462 @@
1
+ // Trisul Remote Protocol (TRP) definition
2
+ // Based on Google Protocol Buffers
3
+ // (c) 2010, Unleash Networks
4
+ //
5
+ package TRP;
6
+
7
+ message Timestamp{
8
+ required int64 tv_sec=1;
9
+ required int64 tv_usec=2 [default=0];
10
+ }
11
+
12
+ message TimeInterval {
13
+ required Timestamp from=1;
14
+ required Timestamp to=2;
15
+ }
16
+
17
+ message StatsTuple {
18
+ required Timestamp ts=1;
19
+ required double val=2;
20
+ }
21
+
22
+ message MeterValues {
23
+ required int32 meter=1;
24
+ repeated StatsTuple values=2;
25
+ }
26
+
27
+ message KeyStats {
28
+ optional int64 context=1[default=0];
29
+ required string counter_group=2;
30
+ required string key=3;
31
+ repeated MeterValues meters=4;
32
+ }
33
+
34
+ message KeyDetails {
35
+ required string key=1;
36
+ optional string label=2;
37
+ optional string description=3;
38
+ }
39
+
40
+ message SessionID {
41
+ required int64 slice_id=1;
42
+ required int64 session_id=2;
43
+ }
44
+
45
+ message CounterGroupDetails {
46
+ required string guid=1;
47
+ required string name=2;
48
+ optional int64 bucket_size=3;
49
+ optional TimeInterval time_interval=4;
50
+ }
51
+
52
+ enum AuthLevel {
53
+ ADMIN=1;
54
+ BASIC_USER=2;
55
+ FORENSIC_USER=3;
56
+ BLOCKED_USER=4;
57
+ }
58
+
59
+ enum CompressionType {
60
+ UNCOMPRESSED=1;
61
+ GZIP=2;
62
+ }
63
+
64
+ enum PcapFormat {
65
+ LIBPCAP=1;
66
+ UNSNIFF=2;
67
+ }
68
+
69
+ message Message {
70
+ enum Command { HELLO_REQUEST=1;
71
+ HELLO_RESPONSE=2;
72
+ OK_RESPONSE=3;
73
+ ERROR_RESPONSE=5;
74
+ COUNTER_GROUP_REQUEST=6;
75
+ COUNTER_GROUP_RESPONSE=7;
76
+ COUNTER_ITEM_REQUEST=8;
77
+ COUNTER_ITEM_RESPONSE=9;
78
+ RELEASE_RESOURCE_REQUEST=10;
79
+ RELEASE_CONTEXT_REQUEST=11;
80
+ CONTROLLED_COUNTER_GROUP_REQUEST=12;
81
+ CONTROLLED_COUNTER_GROUP_RESPONSE=13;
82
+ FILTERED_DATAGRAMS_REQUEST=14;
83
+ FILTERED_DATAGRAMS_RESPONSE=15;
84
+ CONTROLLED_CONTEXT_REQUEST=16;
85
+ CONTROLLED_CONTEXT_RESPONSE=17;
86
+ SEARCH_KEYS_REQUEST=18;
87
+ SEARCH_KEYS_RESPONSE=19;
88
+ COUNTER_GROUP_INFO_REQUEST=20;
89
+ COUNTER_GROUP_INFO_RESPONSE=21;
90
+ SESSION_TRACKER_REQUEST=22;
91
+ SESSION_TRACKER_RESPONSE=23;
92
+ SESSION_ITEM_REQUEST=24;
93
+ SESSION_ITEM_RESPONSE=25;
94
+ BULK_COUNTER_ITEM_REQUEST=26;
95
+ BULK_COUNTER_ITEM_RESPONSE=27;
96
+ CGMONITOR_REQUEST=28;
97
+ CGMONITOR_RESPONSE=29;
98
+ TOPPER_SNAPSHOT_REQUEST=30;
99
+ TOPPER_SNAPSHOT_RESPONSE=31;
100
+ UPDATE_KEY_REQUEST=32;
101
+ UPDATE_KEY_RESPONSE=33;
102
+ KEY_SESS_ACTIVITY_REQUEST=34;
103
+ KEY_SESS_ACTIVITY_RESPONSE=35;
104
+ RING_STATS_REQUEST=36;
105
+ RING_STATS_RESPONSE=37;
106
+ SERVER_STATS_REQUEST=38;
107
+ SERVER_STATS_RESPONSE=39;
108
+ SESSION_GROUP_REQUEST=40;
109
+ SESSION_GROUP_RESPONSE=41;
110
+ }
111
+
112
+ required Command trp_command=1;
113
+ optional HelloRequest hello_request=2;
114
+ optional HelloResponse hello_response=3;
115
+ optional OKResponse ok_response=4;
116
+ optional ErrorResponse error_response=5;
117
+ optional CounterGroupRequest counter_group_request=6;
118
+ optional CounterGroupResponse counter_group_response=7;
119
+ optional CounterItemRequest counter_item_request=8;
120
+ optional CounterItemResponse counter_item_response=9;
121
+ optional ReleaseContextRequest release_context_request=11;
122
+ optional ControlledCounterGroupRequest controlled_counter_group_request=12;
123
+ optional ControlledCounterGroupResponse controlled_counter_group_response=13;
124
+ optional FilteredDatagramRequest filtered_datagram_request=14;
125
+ optional FilteredDatagramResponse filtered_datagram_response=15;
126
+ optional ControlledContextRequest controlled_context_request=16;
127
+ optional ControlledContextResponse controlled_context_response=17;
128
+ optional SearchKeysRequest search_keys_request=18;
129
+ optional SearchKeysResponse search_keys_response=19;
130
+ optional CounterGroupInfoRequest counter_group_info_request=20;
131
+ optional CounterGroupInfoResponse counter_group_info_response=21;
132
+ optional SessionItemRequest session_item_request=22;
133
+ optional SessionItemResponse session_item_response=23;
134
+ optional BulkCounterItemRequest bulk_counter_item_request=24;
135
+ optional BulkCounterItemResponse bulk_counter_item_response=25;
136
+ optional TopperSnapshotRequest topper_snapshot_request=28;
137
+ optional TopperSnapshotResponse topper_snapshot_response=29;
138
+ optional UpdateKeyRequest update_key_request=30;
139
+ optional KeySessionActivityRequest key_session_activity_request=31;
140
+ optional KeySessionActivityResponse key_session_activity_response=32;
141
+ optional SessionTrackerRequest session_tracker_request=33;
142
+ optional SessionTrackerResponse session_tracker_response=34;
143
+ optional ServerStatsRequest server_stats_request=37;
144
+ optional ServerStatsResponse server_stats_response=38;
145
+ optional SessionGroupRequest session_group_request=39;
146
+ optional SessionGroupResponse session_group_response=40;
147
+
148
+ }
149
+
150
+ ///////////////////////////////
151
+ // Hello
152
+ message HelloRequest{
153
+ required string station_id=1;
154
+ }
155
+
156
+ message HelloResponse{
157
+ required string trisul_id=1;
158
+ required string connection_id=2;
159
+ required string version_string=3;
160
+ required Timestamp connection_start_time=4;
161
+ required Timestamp connection_up_time=5;
162
+ required AuthLevel current_auth_level=6;
163
+ }
164
+
165
+ ///////////////////////////////
166
+ // Error
167
+ message ErrorResponse{
168
+ required int64 original_command=1;
169
+ required int64 error_code=2;
170
+ required string error_message=3;
171
+ }
172
+
173
+ ///////////////////////////////
174
+ // OK
175
+ message OKResponse{
176
+ required int64 original_command=1;
177
+ optional string message=2;
178
+ }
179
+
180
+ message ReleaseContextRequest{
181
+ optional int64 context=1;
182
+ }
183
+
184
+ ///////////////////////////////
185
+ // CounterItemRequest
186
+ message CounterItemRequest{
187
+ optional int64 context=1 [default=0];
188
+ required string counter_group=2;
189
+ required int64 meter=3 [default=0];
190
+ required string key=4;
191
+ required TimeInterval time_interval=5;
192
+ }
193
+
194
+ ///////////////////////////////
195
+ // CounterItemResponse
196
+ message CounterItemResponse{
197
+ required KeyStats stats=1;
198
+ }
199
+
200
+ ///////////////////////////////
201
+ // CounterGroupRequest
202
+ message CounterGroupRequest{
203
+ optional int64 context=1 [default=0];
204
+ required string counter_group=2;
205
+ optional int64 meter=3 [default=0];
206
+ optional int64 maxitems=4 [default=10];
207
+ optional TimeInterval time_interval=5;
208
+ optional Timestamp time_instant=6;
209
+ optional int64 flags=7;
210
+ }
211
+
212
+ ///////////////////////////////
213
+ // CounterItemRequest
214
+ message CounterGroupResponse{
215
+ required int64 context=1;
216
+ required string counter_group=2;
217
+ required int64 meter=3;
218
+ repeated KeyDetails keys=6;
219
+ }
220
+
221
+ message ControlledCounterGroupRequest{
222
+ required string dynamic_group_id=1;
223
+ required string counter_group=2;
224
+ required int64 meter=3;
225
+ required int64 maxitems=4;
226
+ required int64 bucket_ms=5;
227
+ required int64 top_nsize=6;
228
+ required TimeInterval time_interval=7;
229
+ required string control_counter_id=9;
230
+ required string control_key=10;
231
+ }
232
+
233
+ message ControlledCounterGroupResponse{
234
+ required string dynamic_group_id=1;
235
+ }
236
+
237
+
238
+ ///////////////////////////////
239
+ // FilteredDatagramRequest
240
+ message FilteredDatagramRequest{
241
+ optional int64 max_packets=1[default=0];
242
+ optional int64 max_bytes=2[default=0];
243
+ optional CompressionType compress_type=3[default=UNCOMPRESSED];
244
+ required TimeInterval time_interval=4;
245
+ required string filter_expression=5;
246
+ }
247
+
248
+ /////////////////////////////////////
249
+ // FileredDatagaramResponse
250
+ message FilteredDatagramResponse{
251
+ required PcapFormat format=1;
252
+ required CompressionType compress_type=2;
253
+ required TimeInterval time_interval=3;
254
+ required int64 num_datagrams=4;
255
+ required int64 num_bytes=5;
256
+ required string contents=6;
257
+ }
258
+
259
+ //////////////////////////////////////////
260
+ // ControlledContextRequest
261
+ message ControlledContextRequest{
262
+ required TimeInterval time_interval=1;
263
+ required string filter_expression=2;
264
+ }
265
+
266
+ //////////////////////////////////////////
267
+ //// ControlledContextResponse
268
+ message ControlledContextResponse{
269
+ required int64 context=1;
270
+ optional string context_db=2;
271
+ required TimeInterval time_interval =3;
272
+ }
273
+
274
+ ///////////////////////////////////////
275
+ // SearchkeysRequest
276
+ message SearchKeysRequest{
277
+ optional int64 context=1;
278
+ required string counter_group=2;
279
+ required string pattern=3;
280
+ required int64 maxitems=4;
281
+ }
282
+
283
+ //////////////////////////////////////
284
+ // SearchKeysResponse
285
+ message SearchKeysResponse{
286
+ optional int64 context=1;
287
+ required string counter_group=2;
288
+ repeated KeyDetails found_keys=3;
289
+ }
290
+
291
+ /////////////////////////////////////
292
+ /// CounterGroupInfoRequest
293
+ message CounterGroupInfoRequest{
294
+ optional int64 context=1;
295
+ optional string counter_group=2;
296
+ }
297
+
298
+ ///////////////////////////////////
299
+ /// CounterGroupInfoResponse
300
+ message CounterGroupInfoResponse{
301
+ optional int64 context=1;
302
+ repeated CounterGroupDetails group_details=2;
303
+ }
304
+
305
+ /////////////////////////////////////
306
+ // SessionItemRequest
307
+ message SessionItemRequest{
308
+ optional int64 context=1;
309
+ required string session_group=2;
310
+ optional string session_key=3;
311
+ optional SessionID session_id=4;
312
+ }
313
+
314
+ ////////////////////////////////////
315
+ // SessionItemResponse
316
+ message SessionItemResponse{
317
+ optional int64 context=1;
318
+ required string session_group=2;
319
+ optional string session_key=3;
320
+ optional SessionID session_id=4;
321
+ optional string user_label=5;
322
+ required TimeInterval time_interval=6;
323
+ required int64 state=7;
324
+ required int64 az_bytes=8;
325
+ required int64 za_bytes=9;
326
+ required KeyDetails key1A=10;
327
+ required KeyDetails key2A=11;
328
+ required KeyDetails key1Z=12;
329
+ required KeyDetails key2Z=13;
330
+ }
331
+
332
+ //////////////////////////////////////////
333
+ // BulkCounterItemRequest
334
+ message BulkCounterItemRequest{
335
+ optional int64 context=1;
336
+ required string counter_group=2;
337
+ required int64 meter=3;
338
+ required TimeInterval time_interval=4;
339
+ repeated string keys=5;
340
+ }
341
+
342
+ //////////////////////////////////////////
343
+ // BulkCounterItemResponse
344
+ message BulkCounterItemResponse{
345
+ repeated KeyStats stats=1;
346
+ repeated KeyDetails details=2;
347
+ }
348
+
349
+ ///////////////////////////////////////////
350
+ /// TopperSnapshotRequest
351
+ message TopperSnapshotRequest{
352
+ optional int64 context=1;
353
+ required string counter_group=2;
354
+ required int64 meter=3;
355
+ required TimeInterval Time=4;
356
+ required int64 maxitems=5;
357
+ }
358
+
359
+
360
+ ///////////////////////////////////////////
361
+ // TopperSnapshotResponse
362
+ message TopperSnapshotResponse{
363
+ optional int64 context=1;
364
+ required string counter_group=2;
365
+ required int64 meter=3;
366
+ required Timestamp time=4;
367
+ required int64 window_secs=5;
368
+ required string keys=6;
369
+ required string labels=7;
370
+ }
371
+
372
+ //////////////////////////////////////////////
373
+ /// UpdatekeysRequest
374
+ /// Response = OKResponse or ErrorResponse
375
+ message UpdateKeyRequest{
376
+ optional int64 context=1;
377
+ required string counter_group=2;
378
+ required string key=4;
379
+ required string label=5;
380
+ optional string description=6;
381
+ }
382
+
383
+ ///////////////////////////////////
384
+ // KeySessionActivityrequest
385
+ message KeySessionActivityRequest{
386
+ optional int64 context=1;
387
+ required string session_group=2;
388
+ required string key=3;
389
+ required int64 maxitems=4;
390
+ required int64 volume_filter=5;
391
+ required int64 duration_filter=6;
392
+ required TimeInterval time_interval=7;
393
+ }
394
+
395
+ /////////////////////////////////////
396
+ // KeySessionActivityResponse
397
+ message KeySessionActivityResponse{
398
+ optional int64 context=1;
399
+ required string session_group=2;
400
+ repeated SessionID sessions=3;
401
+ }
402
+
403
+ /////////////////////////////////////
404
+ // SessionTrackerRequest
405
+ message SessionTrackerRequest {
406
+ optional int64 context=1;
407
+ required string session_group=2;
408
+ required int64 tracker_id=3 [default=1];
409
+ optional int64 maxitems=4 [default=100];
410
+ required TimeInterval time_interval=5;
411
+ }
412
+
413
+ ///////////////////////////////////
414
+ // SessionTrackerResponse
415
+ message SessionTrackerResponse{
416
+ optional int64 context=1;
417
+ required string session_group=2;
418
+ repeated SessionID sessions=3;
419
+ }
420
+
421
+ ///////////////////////////////////
422
+ // SessionGroupRequest
423
+ message SessionGroupRequest {
424
+ optional int64 context=1;
425
+ required string session_group=2;
426
+ optional int64 tracker_id=3;
427
+ optional string key_filter=4;
428
+ optional int64 maxitems=5 [default=100];
429
+ }
430
+
431
+ //////////////////////////////////
432
+ // SessionGroupResponse
433
+ message SessionGroupResponse {
434
+ optional int64 context=1;
435
+ required string session_group=2;
436
+ repeated string session_keys=3;
437
+ }
438
+
439
+
440
+ //////////////////////////////////
441
+ // ServerStatsRequest
442
+ message ServerStatsRequest{
443
+ required int64 param=1;
444
+ }
445
+
446
+ //////////////////////////////////
447
+ // ServerStatsResponse
448
+ message ServerStatsResponse{
449
+ required string instance_name=1;
450
+ required int64 connections=2;
451
+ required int64 uptime_seconds=3;
452
+ required double cpu_usage_percent_trisul=4;
453
+ required double cpu_usage_percent_total=5;
454
+ required double mem_usage_trisul=6;
455
+ required double mem_usage_total=7;
456
+ required double mem_total=8;
457
+ required int64 size_total=9;
458
+ required double drop_percent_cap=11;
459
+ required double drop_percent_trisul=12;
460
+ required TimeInterval time_interval=13;
461
+ }
462
+