trisulrp 2.0.5 → 2.2.7
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.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/trisulrp/protocol.rb +92 -8
- data/lib/trisulrp/trp.pb.rb +160 -0
- data/lib/trisulrp/trp.proto +154 -2
- data/trisulrp.gemspec +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b1ac0e3642aaea73eac4fa4eb3c4a559444488f6
|
4
|
+
data.tar.gz: 40aa06ccece5bc45e4f6f63654e46c8e66a022c8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d4f9c78685a9a72294247d65174aef76bf6bdecb9477b940699357354614311dc5ed0170c9b22d0ff1cddf0bcb4e8234574210c1a1e9831fcaba1321ddb9d3a2
|
7
|
+
data.tar.gz: a0de67b6bf980213aef1507a85268d46e51dfad91dc1d8313c85d8bec9fba11d3da336ab30cb5d45eef14f620838e630c91163e5a4961affd0719911c66d9e3d
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.2.7
|
data/lib/trisulrp/protocol.rb
CHANGED
@@ -7,6 +7,14 @@ require 'openssl'
|
|
7
7
|
require 'socket'
|
8
8
|
require 'time'
|
9
9
|
|
10
|
+
begin
|
11
|
+
FFI_RZMQ_AVAIL=true
|
12
|
+
require 'ffi-rzmq'
|
13
|
+
rescue
|
14
|
+
FFI_RZMQ_AVAIL=false
|
15
|
+
end
|
16
|
+
|
17
|
+
|
10
18
|
# ==== TrisulRP::Protocol
|
11
19
|
# Contains methods to help with common TRP tasks like
|
12
20
|
# * creating connections
|
@@ -92,6 +100,12 @@ module TrisulRP::Protocol
|
|
92
100
|
|
93
101
|
# Dispatch request to server & get response
|
94
102
|
# [conn] TRP connection previously opened via TrisulRP::Protocol::connect
|
103
|
+
#
|
104
|
+
# - connection can a ZMQ endpoint string like zmq:ipc://.. if string starts
|
105
|
+
# with 'zmq:' it will be treated as ZMQ.
|
106
|
+
#
|
107
|
+
# Needs ffi-rzmq gem
|
108
|
+
#
|
95
109
|
# [trp_request] a TRP request object, created directly or using the mk_request helper
|
96
110
|
#
|
97
111
|
# ==== Returns
|
@@ -106,9 +120,12 @@ module TrisulRP::Protocol
|
|
106
120
|
def get_response(conn,trp_request)
|
107
121
|
outbuf=""
|
108
122
|
outbuf=trp_request.serialize_to_string
|
109
|
-
|
110
|
-
|
111
|
-
|
123
|
+
|
124
|
+
conn.write([outbuf.length].pack("N*"))
|
125
|
+
conn.write(outbuf)
|
126
|
+
|
127
|
+
inbuf=""
|
128
|
+
inbuf = conn.read(4)
|
112
129
|
buflenarr=inbuf.unpack("N*")
|
113
130
|
datalen=buflenarr[0]
|
114
131
|
dataarray=conn.read(datalen)
|
@@ -116,12 +133,64 @@ module TrisulRP::Protocol
|
|
116
133
|
resp.parse dataarray
|
117
134
|
if resp.trp_command == TRP::Message::Command::ERROR_RESPONSE
|
118
135
|
print "TRP ErrorResponse: #{resp.error_response.error_message}\n"
|
119
|
-
raise resp.error_response
|
136
|
+
raise resp.error_response.error_message
|
120
137
|
end
|
121
138
|
yield unwrap_response(resp) if block_given?
|
122
139
|
return unwrap_response(resp)
|
123
140
|
end
|
124
141
|
|
142
|
+
# Using ZMQ to Dispatch request to server & get response
|
143
|
+
#
|
144
|
+
# This is used by new webtrisul architecuter to connect to trisul_queryd
|
145
|
+
#
|
146
|
+
# [conn] - a ZMQ endpoint string like ipc://..
|
147
|
+
#
|
148
|
+
# Needs ffi-rzmq gem
|
149
|
+
#
|
150
|
+
# [trp_request] a TRP request object, created directly or using the mk_request helper
|
151
|
+
#
|
152
|
+
# ==== Returns
|
153
|
+
# ==== Yields
|
154
|
+
# a response object, you can then inspect the fields in the response and spawn additional
|
155
|
+
# requests if required
|
156
|
+
#
|
157
|
+
# ==== On error
|
158
|
+
# raises an error if the server returns an ErrorResponse - this contains an error_message field
|
159
|
+
# which can tell you what went wrong
|
160
|
+
#
|
161
|
+
def get_response_zmq(endpoint, trp_request)
|
162
|
+
|
163
|
+
outbuf=""
|
164
|
+
|
165
|
+
# out
|
166
|
+
outbuf=trp_request.serialize_to_string
|
167
|
+
ctx=ZMQ::Context.new
|
168
|
+
sock = ctx.socket(ZMQ::REQ)
|
169
|
+
sock.connect(endpoint)
|
170
|
+
sock.send_string(outbuf)
|
171
|
+
|
172
|
+
|
173
|
+
#in
|
174
|
+
dataarray=""
|
175
|
+
sock.recv_string(dataarray)
|
176
|
+
resp =TRP::Message.new
|
177
|
+
resp.parse dataarray
|
178
|
+
if resp.trp_command == TRP::Message::Command::ERROR_RESPONSE
|
179
|
+
print "TRP ErrorResponse: #{resp.error_response.error_message}\n"
|
180
|
+
sock.close
|
181
|
+
ctx.terminate
|
182
|
+
raise resp.error_response.error_message
|
183
|
+
end
|
184
|
+
|
185
|
+
sock.close
|
186
|
+
ctx.terminate
|
187
|
+
|
188
|
+
yield unwrap_response(resp) if block_given?
|
189
|
+
return unwrap_response(resp)
|
190
|
+
|
191
|
+
end
|
192
|
+
|
193
|
+
|
125
194
|
|
126
195
|
# Query the total time window available in Trisul
|
127
196
|
#
|
@@ -149,10 +218,15 @@ module TrisulRP::Protocol
|
|
149
218
|
req=mk_request(TRP::Message::Command::COUNTER_GROUP_INFO_REQUEST,
|
150
219
|
:counter_group => TrisulRP::Guids::CG_AGGREGATE)
|
151
220
|
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
221
|
+
if conn.is_a?(String)
|
222
|
+
resp = get_response_zmq(conn,req)
|
223
|
+
else
|
224
|
+
resp = get_response(conn,req)
|
225
|
+
end
|
226
|
+
|
227
|
+
|
228
|
+
from_tm = Time.at(resp.group_details[0].time_interval.from.tv_sec)
|
229
|
+
to_tm = Time.at(resp.group_details[0].time_interval.to.tv_sec)
|
156
230
|
|
157
231
|
return [from_tm,to_tm]
|
158
232
|
|
@@ -263,6 +337,12 @@ module TrisulRP::Protocol
|
|
263
337
|
req.grep_request = TRP::GrepRequest.new(params)
|
264
338
|
when TRP::Message::Command::KEYSPACE_REQUEST
|
265
339
|
req.keyspace_request = TRP::KeySpaceRequest.new(params)
|
340
|
+
when TRP::Message::Command::TOPPER_TREND_REQUEST
|
341
|
+
req.topper_trend_request = TRP::TopperTrendRequest.new(params)
|
342
|
+
when TRP::Message::Command::QUERY_PDP_REQUEST
|
343
|
+
req.query_pdp_request = TRP::QueryPDPRequest.new(params)
|
344
|
+
when TRP::Message::Command::STAB_PUBSUB_CTL
|
345
|
+
req.subscribe_ctl = TRP::SubscribeCtl.new(params)
|
266
346
|
else
|
267
347
|
raise "Unknown TRP command ID"
|
268
348
|
end
|
@@ -358,6 +438,10 @@ module TrisulRP::Protocol
|
|
358
438
|
resp.grep_response
|
359
439
|
when TRP::Message::Command::KEYSPACE_RESPONSE
|
360
440
|
resp.keyspace_response
|
441
|
+
when TRP::Message::Command::TOPPER_TREND_RESPONSE
|
442
|
+
resp.topper_trend_response
|
443
|
+
when TRP::Message::Command::QUERY_PDP_RESPONSE
|
444
|
+
resp.query_pdp_response
|
361
445
|
else
|
362
446
|
raise "Unknown TRP command ID"
|
363
447
|
end
|
data/lib/trisulrp/trp.pb.rb
CHANGED
@@ -9,6 +9,7 @@ module TRP
|
|
9
9
|
class TimeInterval < ::ProtocolBuffers::Message; end
|
10
10
|
class StatsTuple < ::ProtocolBuffers::Message; end
|
11
11
|
class MeterValues < ::ProtocolBuffers::Message; end
|
12
|
+
class MeterInfo < ::ProtocolBuffers::Message; end
|
12
13
|
class KeyStats < ::ProtocolBuffers::Message; end
|
13
14
|
class KeyDetails < ::ProtocolBuffers::Message; end
|
14
15
|
class SessionID < ::ProtocolBuffers::Message; end
|
@@ -16,6 +17,7 @@ module TRP
|
|
16
17
|
class ResourceID < ::ProtocolBuffers::Message; end
|
17
18
|
class CounterGroupDetails < ::ProtocolBuffers::Message; end
|
18
19
|
class SessionDetails < ::ProtocolBuffers::Message; end
|
20
|
+
class PDPDetails < ::ProtocolBuffers::Message; end
|
19
21
|
class Message < ::ProtocolBuffers::Message; end
|
20
22
|
class HelloRequest < ::ProtocolBuffers::Message; end
|
21
23
|
class HelloResponse < ::ProtocolBuffers::Message; end
|
@@ -61,6 +63,11 @@ module TRP
|
|
61
63
|
class GrepResponse < ::ProtocolBuffers::Message; end
|
62
64
|
class KeySpaceRequest < ::ProtocolBuffers::Message; end
|
63
65
|
class KeySpaceResponse < ::ProtocolBuffers::Message; end
|
66
|
+
class TopperTrendRequest < ::ProtocolBuffers::Message; end
|
67
|
+
class TopperTrendResponse < ::ProtocolBuffers::Message; end
|
68
|
+
class QueryPDPRequest < ::ProtocolBuffers::Message; end
|
69
|
+
class QueryPDPResponse < ::ProtocolBuffers::Message; end
|
70
|
+
class SubscribeCtl < ::ProtocolBuffers::Message; end
|
64
71
|
|
65
72
|
# enums
|
66
73
|
module AuthLevel
|
@@ -127,6 +134,39 @@ module TRP
|
|
127
134
|
|
128
135
|
required :int32, :meter, 1
|
129
136
|
repeated ::TRP::StatsTuple, :values, 2
|
137
|
+
optional :int64, :total, 3
|
138
|
+
optional :int64, :seconds, 4
|
139
|
+
end
|
140
|
+
|
141
|
+
class MeterInfo < ::ProtocolBuffers::Message
|
142
|
+
# forward declarations
|
143
|
+
|
144
|
+
# enums
|
145
|
+
module MeterType
|
146
|
+
include ::ProtocolBuffers::Enum
|
147
|
+
|
148
|
+
set_fully_qualified_name "TRP.MeterInfo.MeterType"
|
149
|
+
|
150
|
+
VT_INVALID = 0
|
151
|
+
VT_RATE_COUNTER_WITH_SLIDING_WINDOW = 1
|
152
|
+
VT_COUNTER = 2
|
153
|
+
VT_COUNTER_WITH_SLIDING_WINDOW = 3
|
154
|
+
VT_RATE_COUNTER = 4
|
155
|
+
VT_GAUGE = 5
|
156
|
+
VT_GAUGE_MIN_MAX_AVG = 6
|
157
|
+
VT_AUTO = 7
|
158
|
+
VT_RUNNING_COUNTER = 8
|
159
|
+
VT_AVERAGE = 9
|
160
|
+
end
|
161
|
+
|
162
|
+
set_fully_qualified_name "TRP.MeterInfo"
|
163
|
+
|
164
|
+
required :int32, :id, 1
|
165
|
+
required ::TRP::MeterInfo::MeterType, :type, 2
|
166
|
+
required :int32, :topcount, 3
|
167
|
+
required :string, :name, 4
|
168
|
+
optional :string, :description, 5
|
169
|
+
optional :string, :units, 6
|
130
170
|
end
|
131
171
|
|
132
172
|
class KeyStats < ::ProtocolBuffers::Message
|
@@ -176,6 +216,7 @@ module TRP
|
|
176
216
|
optional :int64, :bucket_size, 3
|
177
217
|
optional ::TRP::TimeInterval, :time_interval, 4
|
178
218
|
optional :int64, :topper_bucket_size, 5
|
219
|
+
repeated ::TRP::MeterInfo, :meters, 6
|
179
220
|
end
|
180
221
|
|
181
222
|
class SessionDetails < ::ProtocolBuffers::Message
|
@@ -203,6 +244,31 @@ module TRP
|
|
203
244
|
required :int64, :za_payload, 20
|
204
245
|
required :int64, :setup_rtt, 21
|
205
246
|
required :int64, :retransmissions, 22
|
247
|
+
optional :int64, :tracker_statval, 23
|
248
|
+
end
|
249
|
+
|
250
|
+
class PDPDetails < ::ProtocolBuffers::Message
|
251
|
+
set_fully_qualified_name "TRP.PDPDetails"
|
252
|
+
|
253
|
+
required ::TRP::SessionID, :session_id, 1
|
254
|
+
required :string, :ipa, 2
|
255
|
+
required :string, :msisdn, 3
|
256
|
+
required :string, :imei, 4
|
257
|
+
required :string, :imsi, 5
|
258
|
+
required :string, :teidc1, 6
|
259
|
+
required :string, :teidd1, 7
|
260
|
+
required :string, :teidc2, 8
|
261
|
+
required :string, :teidd2, 9
|
262
|
+
required :string, :apn, 10
|
263
|
+
required :string, :rai, 11
|
264
|
+
required :string, :uli, 12
|
265
|
+
required :string, :rat, 13
|
266
|
+
required :string, :cause, 14
|
267
|
+
required :int64, :stat0, 15
|
268
|
+
required :int64, :stat1, 16
|
269
|
+
required ::TRP::TimeInterval, :time_interval, 18
|
270
|
+
optional :string, :mccmnc, 19
|
271
|
+
optional :string, :trace, 20
|
206
272
|
end
|
207
273
|
|
208
274
|
class Message < ::ProtocolBuffers::Message
|
@@ -268,6 +334,11 @@ module TRP
|
|
268
334
|
GREP_RESPONSE = 61
|
269
335
|
KEYSPACE_REQUEST = 70
|
270
336
|
KEYSPACE_RESPONSE = 71
|
337
|
+
TOPPER_TREND_REQUEST = 72
|
338
|
+
TOPPER_TREND_RESPONSE = 73
|
339
|
+
QUERY_PDP_REQUEST = 74
|
340
|
+
QUERY_PDP_RESPONSE = 75
|
341
|
+
STAB_PUBSUB_CTL = 80
|
271
342
|
end
|
272
343
|
|
273
344
|
set_fully_qualified_name "TRP.Message"
|
@@ -317,6 +388,11 @@ module TRP
|
|
317
388
|
optional ::TRP::GrepResponse, :grep_response, 52
|
318
389
|
optional ::TRP::KeySpaceRequest, :keyspace_request, 53
|
319
390
|
optional ::TRP::KeySpaceResponse, :keyspace_response, 54
|
391
|
+
optional ::TRP::TopperTrendRequest, :topper_trend_request, 55
|
392
|
+
optional ::TRP::TopperTrendResponse, :topper_trend_response, 56
|
393
|
+
optional ::TRP::QueryPDPRequest, :query_pdp_request, 57
|
394
|
+
optional ::TRP::QueryPDPResponse, :query_pdp_response, 58
|
395
|
+
optional ::TRP::SubscribeCtl, :subscribe_ctl, 59
|
320
396
|
end
|
321
397
|
|
322
398
|
class HelloRequest < ::ProtocolBuffers::Message
|
@@ -401,6 +477,7 @@ module TRP
|
|
401
477
|
optional ::TRP::TimeInterval, :time_interval, 5
|
402
478
|
optional ::TRP::Timestamp, :time_instant, 6
|
403
479
|
optional :int64, :flags, 7
|
480
|
+
optional :bool, :resolve_keys, 8
|
404
481
|
end
|
405
482
|
|
406
483
|
class CounterGroupResponse < ::ProtocolBuffers::Message
|
@@ -409,6 +486,7 @@ module TRP
|
|
409
486
|
required :int64, :context, 1
|
410
487
|
required :string, :counter_group, 2
|
411
488
|
required :int64, :meter, 3
|
489
|
+
optional :int64, :sysgrouptotal, 4
|
412
490
|
repeated ::TRP::KeyDetails, :keys, 6
|
413
491
|
end
|
414
492
|
|
@@ -511,6 +589,7 @@ module TRP
|
|
511
589
|
|
512
590
|
optional :int64, :context, 1, :default => 0
|
513
591
|
optional :string, :counter_group, 2
|
592
|
+
optional :bool, :get_meter_info, 3, :default => false
|
514
593
|
end
|
515
594
|
|
516
595
|
class CounterGroupInfoResponse < ::ProtocolBuffers::Message
|
@@ -598,6 +677,7 @@ module TRP
|
|
598
677
|
optional :int64, :context, 1
|
599
678
|
required :string, :session_group, 2
|
600
679
|
repeated ::TRP::SessionDetails, :sessions, 3
|
680
|
+
optional :int64, :tracker_id, 4
|
601
681
|
end
|
602
682
|
|
603
683
|
class SessionGroupRequest < ::ProtocolBuffers::Message
|
@@ -827,4 +907,84 @@ module TRP
|
|
827
907
|
repeated :string, :hits, 3
|
828
908
|
end
|
829
909
|
|
910
|
+
class TopperTrendRequest < ::ProtocolBuffers::Message
|
911
|
+
set_fully_qualified_name "TRP.TopperTrendRequest"
|
912
|
+
|
913
|
+
optional :int64, :context, 1, :default => 0
|
914
|
+
required :string, :counter_group, 2
|
915
|
+
optional :int64, :meter, 3, :default => 0
|
916
|
+
optional :int64, :maxitems, 4, :default => 10
|
917
|
+
optional ::TRP::TimeInterval, :time_interval, 5
|
918
|
+
end
|
919
|
+
|
920
|
+
class TopperTrendResponse < ::ProtocolBuffers::Message
|
921
|
+
set_fully_qualified_name "TRP.TopperTrendResponse"
|
922
|
+
|
923
|
+
required :int64, :context, 1
|
924
|
+
required :string, :counter_group, 2
|
925
|
+
required :int64, :meter, 3
|
926
|
+
repeated ::TRP::KeyStats, :keytrends, 4
|
927
|
+
end
|
928
|
+
|
929
|
+
class QueryPDPRequest < ::ProtocolBuffers::Message
|
930
|
+
set_fully_qualified_name "TRP.QueryPDPRequest"
|
931
|
+
|
932
|
+
optional :int64, :context, 1, :default => 0
|
933
|
+
optional :string, :session_group, 2, :default => "{3FCBAE7F-BBEC-47CA-BAE0-B48D5F96FD6B}"
|
934
|
+
required ::TRP::TimeInterval, :time_interval, 3
|
935
|
+
optional :string, :ipa, 4
|
936
|
+
optional :string, :msisdn, 5
|
937
|
+
optional :string, :imei, 6
|
938
|
+
optional :string, :imsi, 7
|
939
|
+
optional :string, :apn, 8
|
940
|
+
optional :string, :rai, 9
|
941
|
+
optional :string, :uli, 10
|
942
|
+
optional :string, :rat, 11
|
943
|
+
optional :string, :cause, 12
|
944
|
+
optional :string, :mccmnc, 13
|
945
|
+
optional :int64, :maxitems, 14, :default => 100
|
946
|
+
optional :string, :teid, 15
|
947
|
+
end
|
948
|
+
|
949
|
+
class QueryPDPResponse < ::ProtocolBuffers::Message
|
950
|
+
set_fully_qualified_name "TRP.QueryPDPResponse"
|
951
|
+
|
952
|
+
optional :int64, :context, 1
|
953
|
+
repeated ::TRP::PDPDetails, :sessions, 3
|
954
|
+
end
|
955
|
+
|
956
|
+
class SubscribeCtl < ::ProtocolBuffers::Message
|
957
|
+
# forward declarations
|
958
|
+
|
959
|
+
# enums
|
960
|
+
module StabberType
|
961
|
+
include ::ProtocolBuffers::Enum
|
962
|
+
|
963
|
+
set_fully_qualified_name "TRP.SubscribeCtl.StabberType"
|
964
|
+
|
965
|
+
ST_COUNTER_ITEM = 0
|
966
|
+
ST_ALERT = 1
|
967
|
+
ST_FLOW = 2
|
968
|
+
ST_TOPPER = 3
|
969
|
+
end
|
970
|
+
|
971
|
+
module CtlType
|
972
|
+
include ::ProtocolBuffers::Enum
|
973
|
+
|
974
|
+
set_fully_qualified_name "TRP.SubscribeCtl.CtlType"
|
975
|
+
|
976
|
+
CT_SUBSCRIBE = 0
|
977
|
+
CT_UNSUBSCRIBE = 1
|
978
|
+
end
|
979
|
+
|
980
|
+
set_fully_qualified_name "TRP.SubscribeCtl"
|
981
|
+
|
982
|
+
optional :int64, :context, 1, :default => 0
|
983
|
+
required ::TRP::SubscribeCtl::CtlType, :ctl, 2
|
984
|
+
required ::TRP::SubscribeCtl::StabberType, :type, 3
|
985
|
+
optional :string, :guid, 4
|
986
|
+
optional :string, :key, 5
|
987
|
+
optional :int64, :meterid, 6
|
988
|
+
end
|
989
|
+
|
830
990
|
end
|
data/lib/trisulrp/trp.proto
CHANGED
@@ -1,7 +1,11 @@
|
|
1
1
|
// Trisul Remote Protocol (TRP) definition
|
2
2
|
// Based on Google Protocol Buffers
|
3
3
|
// (c) 2010-11, Unleash Networks (http://www.unleashnetworks.com)
|
4
|
-
// $Rev:
|
4
|
+
// $Rev: 6946 $
|
5
|
+
|
6
|
+
option optimize_for = LITE_RUNTIME;
|
7
|
+
|
8
|
+
|
5
9
|
package TRP;
|
6
10
|
|
7
11
|
message Timestamp {
|
@@ -22,6 +26,34 @@ message StatsTuple {
|
|
22
26
|
message MeterValues {
|
23
27
|
required int32 meter=1;
|
24
28
|
repeated StatsTuple values=2;
|
29
|
+
optional int64 total=3;
|
30
|
+
optional int64 seconds=4;
|
31
|
+
}
|
32
|
+
|
33
|
+
message MeterInfo {
|
34
|
+
|
35
|
+
// from TrisulAPI
|
36
|
+
enum MeterType
|
37
|
+
{
|
38
|
+
VT_INVALID=0;
|
39
|
+
VT_RATE_COUNTER_WITH_SLIDING_WINDOW=1;// this for top-N type counters
|
40
|
+
VT_COUNTER=2; // basic counter, stores val in the raw
|
41
|
+
VT_COUNTER_WITH_SLIDING_WINDOW=3; // use this for top-N type counters
|
42
|
+
VT_RATE_COUNTER=4; // rate counter stores val/sec
|
43
|
+
VT_GAUGE=5; // basic gauge
|
44
|
+
VT_GAUGE_MIN_MAX_AVG=6; // gauge with 3 additional min/avg/max cols (auto)
|
45
|
+
VT_AUTO=7; // automatic (eg, min/max/avg/stddev/)
|
46
|
+
VT_RUNNING_COUNTER=8; // running counter, no delta calc
|
47
|
+
VT_AVERAGE=9; // average of samples, total/sampl uses 32bt|32bit
|
48
|
+
}
|
49
|
+
|
50
|
+
|
51
|
+
required int32 id=1;
|
52
|
+
required MeterType type=2;
|
53
|
+
required int32 topcount=3;
|
54
|
+
required string name=4;
|
55
|
+
optional string description=5;
|
56
|
+
optional string units=6;
|
25
57
|
}
|
26
58
|
|
27
59
|
message KeyStats {
|
@@ -58,6 +90,7 @@ message CounterGroupDetails {
|
|
58
90
|
optional int64 bucket_size=3;
|
59
91
|
optional TimeInterval time_interval=4;
|
60
92
|
optional int64 topper_bucket_size=5;
|
93
|
+
repeated MeterInfo meters=6;
|
61
94
|
}
|
62
95
|
|
63
96
|
message SessionDetails {
|
@@ -83,9 +116,32 @@ message SessionDetails {
|
|
83
116
|
required int64 za_payload=20;
|
84
117
|
required int64 setup_rtt=21;
|
85
118
|
required int64 retransmissions=22;
|
119
|
+
optional int64 tracker_statval=23;
|
120
|
+
}
|
121
|
+
|
122
|
+
|
123
|
+
message PDPDetails {
|
124
|
+
required SessionID session_id=1;
|
125
|
+
required string ipa = 2 ;
|
126
|
+
required string msisdn = 3 ;
|
127
|
+
required string imei = 4 ;
|
128
|
+
required string imsi = 5 ;
|
129
|
+
required string teidc1 = 6 ;
|
130
|
+
required string teidd1 = 7 ;
|
131
|
+
required string teidc2 = 8 ;
|
132
|
+
required string teidd2 = 9 ;
|
133
|
+
required string apn = 10 ;
|
134
|
+
required string rai = 11 ;
|
135
|
+
required string uli = 12 ;
|
136
|
+
required string rat = 13 ;
|
137
|
+
required string cause = 14 ;
|
138
|
+
required int64 stat0 = 15 ;
|
139
|
+
required int64 stat1 = 16 ;
|
140
|
+
required TimeInterval time_interval=18;
|
141
|
+
optional string mccmnc = 19 ;
|
142
|
+
optional string trace = 20 ;
|
86
143
|
}
|
87
144
|
|
88
|
-
|
89
145
|
enum AuthLevel {
|
90
146
|
ADMIN=1;
|
91
147
|
BASIC_USER=2;
|
@@ -163,6 +219,11 @@ message Message {
|
|
163
219
|
GREP_RESPONSE=61;
|
164
220
|
KEYSPACE_REQUEST=70;
|
165
221
|
KEYSPACE_RESPONSE=71;
|
222
|
+
TOPPER_TREND_REQUEST=72;
|
223
|
+
TOPPER_TREND_RESPONSE=73;
|
224
|
+
QUERY_PDP_REQUEST=74;
|
225
|
+
QUERY_PDP_RESPONSE=75;
|
226
|
+
STAB_PUBSUB_CTL=80;
|
166
227
|
}
|
167
228
|
|
168
229
|
required Command trp_command=1;
|
@@ -212,6 +273,11 @@ message Message {
|
|
212
273
|
optional GrepResponse grep_response=52;
|
213
274
|
optional KeySpaceRequest keyspace_request=53;
|
214
275
|
optional KeySpaceResponse keyspace_response=54;
|
276
|
+
optional TopperTrendRequest topper_trend_request=55;
|
277
|
+
optional TopperTrendResponse topper_trend_response=56;
|
278
|
+
optional QueryPDPRequest query_pdp_request=57;
|
279
|
+
optional QueryPDPResponse query_pdp_response=58;
|
280
|
+
optional SubscribeCtl subscribe_ctl=59;
|
215
281
|
}
|
216
282
|
|
217
283
|
///////////////////////////////
|
@@ -293,6 +359,7 @@ message CounterGroupRequest{
|
|
293
359
|
optional TimeInterval time_interval=5;
|
294
360
|
optional Timestamp time_instant=6;
|
295
361
|
optional int64 flags=7;
|
362
|
+
optional bool resolve_keys=8;
|
296
363
|
}
|
297
364
|
|
298
365
|
///////////////////////////////
|
@@ -301,6 +368,7 @@ message CounterGroupResponse{
|
|
301
368
|
required int64 context=1;
|
302
369
|
required string counter_group=2;
|
303
370
|
required int64 meter=3;
|
371
|
+
optional int64 sysgrouptotal=4;
|
304
372
|
repeated KeyDetails keys=6;
|
305
373
|
}
|
306
374
|
|
@@ -396,6 +464,7 @@ message SearchKeysResponse{
|
|
396
464
|
message CounterGroupInfoRequest{
|
397
465
|
optional int64 context=1[default=0];
|
398
466
|
optional string counter_group=2;
|
467
|
+
optional bool get_meter_info=3[default=false];
|
399
468
|
}
|
400
469
|
|
401
470
|
///////////////////////////////////
|
@@ -485,6 +554,7 @@ message SessionTrackerResponse{
|
|
485
554
|
optional int64 context=1;
|
486
555
|
required string session_group=2;
|
487
556
|
repeated SessionDetails sessions=3;
|
557
|
+
optional int64 tracker_id=4;
|
488
558
|
}
|
489
559
|
|
490
560
|
///////////////////////////////////
|
@@ -698,3 +768,85 @@ message KeySpaceResponse {
|
|
698
768
|
repeated string hits=3;
|
699
769
|
}
|
700
770
|
|
771
|
+
///////////////////////////////
|
772
|
+
// TopperTrendRequest
|
773
|
+
message TopperTrendRequest {
|
774
|
+
optional int64 context=1 [default=0];
|
775
|
+
required string counter_group=2;
|
776
|
+
optional int64 meter=3 [default=0];
|
777
|
+
optional int64 maxitems=4 [default=10];
|
778
|
+
optional TimeInterval time_interval=5;
|
779
|
+
}
|
780
|
+
|
781
|
+
///////////////////////////////
|
782
|
+
// TopperTrendResponse
|
783
|
+
message TopperTrendResponse {
|
784
|
+
required int64 context=1;
|
785
|
+
required string counter_group=2;
|
786
|
+
required int64 meter=3;
|
787
|
+
repeated KeyStats keytrends=4;
|
788
|
+
}
|
789
|
+
|
790
|
+
///////////////////////////////////
|
791
|
+
// QueryPDP - any of the fields can be filled
|
792
|
+
// all the fields filled are treated as AND criteria
|
793
|
+
// {3fcbae7f-bbec-47ca-bae0-b48d5f96fd6b}
|
794
|
+
// define_guid(<<name>>,
|
795
|
+
// 0x3fcbae7f, 0xbbec, 0x47ca, 0xba, 0xe0, 0xb4, 0x8d, 0x5f, 0x96, 0xfd, 0x6b);
|
796
|
+
|
797
|
+
message QueryPDPRequest {
|
798
|
+
optional int64 context=1[default=0];
|
799
|
+
optional string session_group=2[default="{3FCBAE7F-BBEC-47CA-BAE0-B48D5F96FD6B}"];
|
800
|
+
required TimeInterval time_interval=3;
|
801
|
+
optional string ipa=4;
|
802
|
+
optional string msisdn=5;
|
803
|
+
optional string imei=6;
|
804
|
+
optional string imsi=7;
|
805
|
+
optional string apn=8;
|
806
|
+
optional string rai=9;
|
807
|
+
optional string uli=10;
|
808
|
+
optional string rat=11;
|
809
|
+
optional string cause=12;
|
810
|
+
optional string mccmnc=13;
|
811
|
+
optional int64 maxitems=14[default=100];
|
812
|
+
optional string teid=15;
|
813
|
+
}
|
814
|
+
|
815
|
+
/////////////////////////////////////
|
816
|
+
// QueryPDPResponse
|
817
|
+
message QueryPDPResponse {
|
818
|
+
optional int64 context=1;
|
819
|
+
repeated PDPDetails sessions=3;
|
820
|
+
}
|
821
|
+
|
822
|
+
|
823
|
+
|
824
|
+
|
825
|
+
///////////////////////////////////
|
826
|
+
// Subscribe - add a subcription to the Real Time channel
|
827
|
+
message SubscribeCtl {
|
828
|
+
|
829
|
+
// from TrisulAPI
|
830
|
+
enum StabberType
|
831
|
+
{
|
832
|
+
ST_COUNTER_ITEM=0;
|
833
|
+
ST_ALERT=1;
|
834
|
+
ST_FLOW=2;
|
835
|
+
ST_TOPPER=3;
|
836
|
+
}
|
837
|
+
|
838
|
+
enum CtlType
|
839
|
+
{
|
840
|
+
CT_SUBSCRIBE=0;
|
841
|
+
CT_UNSUBSCRIBE=1;
|
842
|
+
}
|
843
|
+
|
844
|
+
optional int64 context=1[default=0];
|
845
|
+
required CtlType ctl=2;
|
846
|
+
required StabberType type=3;
|
847
|
+
optional string guid=4;
|
848
|
+
optional string key=5;
|
849
|
+
optional int64 meterid=6;
|
850
|
+
}
|
851
|
+
|
852
|
+
|
data/trisulrp.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "trisulrp"
|
8
|
-
s.version = "2.
|
8
|
+
s.version = "2.2.7"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["vivek"]
|
12
|
-
s.date = "
|
12
|
+
s.date = "2015-06-25"
|
13
13
|
s.description = "This gem deals about the trisul remote protocol"
|
14
14
|
s.email = "vivek_rajagopal@yahoo.com"
|
15
15
|
s.extra_rdoc_files = [
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trisulrp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- vivek
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-06-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby-protocol-buffers
|