trisulrp 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+