datawire_mdk 2.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/datawire-quark-core.rb +1213 -0
- data/lib/datawire_mdk_md.rb +54752 -0
- data/lib/mdk.rb +962 -0
- data/lib/mdk_discovery.rb +1518 -0
- data/lib/mdk_discovery/protocol.rb +818 -0
- data/lib/mdk_discovery/synapse.rb +267 -0
- data/lib/mdk_introspection.rb +281 -0
- data/lib/mdk_introspection/aws.rb +101 -0
- data/lib/mdk_introspection/kubernetes.rb +125 -0
- data/lib/mdk_protocol.rb +1255 -0
- data/lib/mdk_runtime.rb +2135 -0
- data/lib/mdk_runtime/actors.rb +457 -0
- data/lib/mdk_runtime/files.rb +575 -0
- data/lib/mdk_runtime/promise.rb +814 -0
- data/lib/mdk_tracing.rb +369 -0
- data/lib/mdk_tracing/api.rb +188 -0
- data/lib/mdk_tracing/protocol.rb +850 -0
- data/lib/mdk_util.rb +141 -0
- data/lib/quark.rb +3684 -0
- data/lib/quark/behaviors.rb +494 -0
- data/lib/quark/concurrent.rb +1250 -0
- data/lib/quark/error.rb +84 -0
- data/lib/quark/logging.rb +278 -0
- data/lib/quark/mock.rb +1223 -0
- data/lib/quark/os.rb +286 -0
- data/lib/quark/reflect.rb +489 -0
- data/lib/quark/spi.rb +130 -0
- data/lib/quark/spi_api.rb +489 -0
- data/lib/quark/spi_api_tracing.rb +1426 -0
- data/lib/quark/test.rb +766 -0
- metadata +142 -0
data/lib/mdk_tracing.rb
ADDED
@@ -0,0 +1,369 @@
|
|
1
|
+
# Quark 1.0.406 run at 2016-08-31 13:21:53.028839
|
2
|
+
module Quark
|
3
|
+
require "quark"
|
4
|
+
def self.mdk_tracing; MdkTracing; end
|
5
|
+
module MdkTracing
|
6
|
+
require "datawire-quark-core"
|
7
|
+
require_relative 'quark/reflect' # 0 ('quark',) ()
|
8
|
+
require_relative 'mdk_tracing/api' # 0 ('mdk_tracing',) ()
|
9
|
+
require_relative 'mdk_tracing/protocol' # 0 ('mdk_tracing',) ()
|
10
|
+
require_relative 'mdk_protocol' # 0 () ()
|
11
|
+
require_relative 'datawire_mdk_md' # 0 () ()
|
12
|
+
require_relative 'quark' # 0 () ()
|
13
|
+
require_relative 'mdk_runtime' # 0 () ()
|
14
|
+
require_relative 'mdk_introspection' # 0 () ()
|
15
|
+
|
16
|
+
|
17
|
+
def self.SharedContextInitializer; SharedContextInitializer; end
|
18
|
+
class SharedContextInitializer < ::DatawireQuarkCore::QuarkObject
|
19
|
+
extend ::DatawireQuarkCore::Static
|
20
|
+
|
21
|
+
static mdk_tracing_SharedContextInitializer_ref: -> { nil }
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
def initialize()
|
26
|
+
self.__init_fields__
|
27
|
+
|
28
|
+
nil
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
|
34
|
+
def getValue()
|
35
|
+
|
36
|
+
return ::DatawireQuarkCore.cast(nil) { ::Quark.mdk_protocol.SharedContext }
|
37
|
+
|
38
|
+
nil
|
39
|
+
end
|
40
|
+
|
41
|
+
def _getClass()
|
42
|
+
|
43
|
+
return "mdk_tracing.SharedContextInitializer"
|
44
|
+
|
45
|
+
nil
|
46
|
+
end
|
47
|
+
|
48
|
+
def _getField(name)
|
49
|
+
|
50
|
+
return nil
|
51
|
+
|
52
|
+
nil
|
53
|
+
end
|
54
|
+
|
55
|
+
def _setField(name, value)
|
56
|
+
|
57
|
+
nil
|
58
|
+
|
59
|
+
nil
|
60
|
+
end
|
61
|
+
|
62
|
+
def __init_fields__()
|
63
|
+
|
64
|
+
|
65
|
+
nil
|
66
|
+
end
|
67
|
+
|
68
|
+
|
69
|
+
end
|
70
|
+
SharedContextInitializer.unlazy_statics
|
71
|
+
|
72
|
+
def self.Tracer; Tracer; end
|
73
|
+
class Tracer < ::DatawireQuarkCore::QuarkObject
|
74
|
+
attr_accessor :logger, :url, :queryURL, :token, :lastPoll, :_context, :_client, :runtime
|
75
|
+
extend ::DatawireQuarkCore::Static
|
76
|
+
|
77
|
+
static quark_List_mdk_tracing_protocol_LogEvent__ref: -> { nil }
|
78
|
+
static mdk_tracing_Tracer_ref: -> { nil }
|
79
|
+
|
80
|
+
|
81
|
+
|
82
|
+
def initialize(runtime)
|
83
|
+
|
84
|
+
self.__init_fields__
|
85
|
+
(self).runtime = runtime
|
86
|
+
|
87
|
+
nil
|
88
|
+
end
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
def self.withURLsAndToken(url, queryURL, token)
|
94
|
+
|
95
|
+
newTracer = ::Quark.mdk_tracing.Tracer.new(::Quark.mdk_runtime.defaultRuntime())
|
96
|
+
(newTracer).url = url
|
97
|
+
if (((queryURL) == (nil)) || (((queryURL).size) == (0)))
|
98
|
+
parsedURL = ::Quark.quark.URL.parse(url)
|
99
|
+
if (((parsedURL).scheme) == ("ws"))
|
100
|
+
(parsedURL).scheme = "http"
|
101
|
+
else
|
102
|
+
(parsedURL).scheme = "https"
|
103
|
+
end
|
104
|
+
(parsedURL).path = "/api/v1/logs"
|
105
|
+
(newTracer).queryURL = parsedURL.toString()
|
106
|
+
else
|
107
|
+
(newTracer).queryURL = queryURL
|
108
|
+
end
|
109
|
+
(newTracer).token = token
|
110
|
+
return newTracer
|
111
|
+
|
112
|
+
nil
|
113
|
+
end
|
114
|
+
|
115
|
+
def _openIfNeeded()
|
116
|
+
|
117
|
+
if ((@_client) == (nil))
|
118
|
+
@_client = ::Quark.mdk_tracing.protocol.TracingClient.new(self, @runtime)
|
119
|
+
end
|
120
|
+
if ((@token) == (nil))
|
121
|
+
@token = ::Quark.mdk_introspection.DatawireToken.getToken(@runtime.getEnvVarsService())
|
122
|
+
end
|
123
|
+
|
124
|
+
nil
|
125
|
+
end
|
126
|
+
|
127
|
+
def stop()
|
128
|
+
|
129
|
+
if ((@_client) != (nil))
|
130
|
+
(@runtime).dispatcher.stopActor(@_client)
|
131
|
+
end
|
132
|
+
|
133
|
+
nil
|
134
|
+
end
|
135
|
+
|
136
|
+
def initContext()
|
137
|
+
|
138
|
+
@_context.setValue(::Quark.mdk_protocol.SharedContext.new())
|
139
|
+
|
140
|
+
nil
|
141
|
+
end
|
142
|
+
|
143
|
+
def joinContext(context)
|
144
|
+
|
145
|
+
@_context.setValue(context.start_span())
|
146
|
+
|
147
|
+
nil
|
148
|
+
end
|
149
|
+
|
150
|
+
def joinEncodedContext(encodedContext)
|
151
|
+
|
152
|
+
newContext = ::Quark.mdk_protocol.SharedContext.decode(encodedContext)
|
153
|
+
self.joinContext(newContext)
|
154
|
+
|
155
|
+
nil
|
156
|
+
end
|
157
|
+
|
158
|
+
def getContext()
|
159
|
+
|
160
|
+
return @_context.getValue()
|
161
|
+
|
162
|
+
nil
|
163
|
+
end
|
164
|
+
|
165
|
+
def setContext(ctx)
|
166
|
+
|
167
|
+
@_context.setValue(ctx)
|
168
|
+
|
169
|
+
nil
|
170
|
+
end
|
171
|
+
|
172
|
+
def start_span()
|
173
|
+
|
174
|
+
@_context.setValue(self.getContext().start_span())
|
175
|
+
|
176
|
+
nil
|
177
|
+
end
|
178
|
+
|
179
|
+
def finish_span()
|
180
|
+
|
181
|
+
@_context.setValue(self.getContext().finish_span())
|
182
|
+
|
183
|
+
nil
|
184
|
+
end
|
185
|
+
|
186
|
+
def log(procUUID, level, category, text)
|
187
|
+
|
188
|
+
self._openIfNeeded()
|
189
|
+
ctx = self.getContext()
|
190
|
+
ctx.tick()
|
191
|
+
@logger.trace(("CTX ") + (ctx.toString()))
|
192
|
+
evt = ::Quark.mdk_tracing.protocol.LogEvent.new()
|
193
|
+
(evt).context = ctx.copy()
|
194
|
+
(evt).timestamp = ::Quark.quark.now()
|
195
|
+
(evt).node = procUUID
|
196
|
+
(evt).level = level
|
197
|
+
(evt).category = category
|
198
|
+
(evt).contentType = "text/plain"
|
199
|
+
(evt).text = text
|
200
|
+
@_client.log(evt)
|
201
|
+
|
202
|
+
nil
|
203
|
+
end
|
204
|
+
|
205
|
+
def poll()
|
206
|
+
|
207
|
+
self._openIfNeeded()
|
208
|
+
@logger.trace("Polling for logs...")
|
209
|
+
rightNow = ::Quark.quark.now()
|
210
|
+
result = self.query(@lastPoll, rightNow)
|
211
|
+
@lastPoll = rightNow
|
212
|
+
return result.andThen(::Quark.quark._BoundMethod.new(self, "deresultify", ::DatawireQuarkCore::List.new([])))
|
213
|
+
|
214
|
+
nil
|
215
|
+
end
|
216
|
+
|
217
|
+
def subscribe(handler)
|
218
|
+
|
219
|
+
self._openIfNeeded()
|
220
|
+
@_client.subscribe(handler)
|
221
|
+
|
222
|
+
nil
|
223
|
+
end
|
224
|
+
|
225
|
+
def deresultify(result)
|
226
|
+
|
227
|
+
@logger.trace((("got ") + ((((result).result).size).to_s)) + (" log events"))
|
228
|
+
return (result).result
|
229
|
+
|
230
|
+
nil
|
231
|
+
end
|
232
|
+
|
233
|
+
##
|
234
|
+
# Query the trace logs. startTimeMillis and endTimeMillis are milliseconds since the UNIX epoch.
|
235
|
+
|
236
|
+
def query(startTimeMillis, endTimeMillis)
|
237
|
+
|
238
|
+
args = ::DatawireQuarkCore::List.new([])
|
239
|
+
reqID = "Query "
|
240
|
+
if ((startTimeMillis) >= ((0)))
|
241
|
+
(args) << (("startTime=") + ((startTimeMillis).to_s))
|
242
|
+
reqID = (reqID) + ((startTimeMillis).to_s)
|
243
|
+
end
|
244
|
+
reqID = (reqID) + ("-")
|
245
|
+
if ((endTimeMillis) >= ((0)))
|
246
|
+
(args) << (("endTime=") + ((endTimeMillis).to_s))
|
247
|
+
reqID = (reqID) + ((endTimeMillis).to_s)
|
248
|
+
end
|
249
|
+
url = (self).queryURL
|
250
|
+
if (((args).size) > (0))
|
251
|
+
url = ((url) + ("?")) + ((args).join("&"))
|
252
|
+
end
|
253
|
+
req = ::DatawireQuarkCore::HTTP::Request.new(url)
|
254
|
+
req.setMethod("GET")
|
255
|
+
req.setHeader("Content-Type", "application/json")
|
256
|
+
req.setHeader("Authorization", ("Bearer ") + ((self).token))
|
257
|
+
return ::Quark.quark.IO.httpRequest(req).andThen(::Quark.quark._BoundMethod.new(self, "handleQueryResponse", ::DatawireQuarkCore::List.new([])))
|
258
|
+
|
259
|
+
nil
|
260
|
+
end
|
261
|
+
|
262
|
+
def handleQueryResponse(response)
|
263
|
+
|
264
|
+
code = response.getCode()
|
265
|
+
body = response.getBody()
|
266
|
+
if ((code) == (200))
|
267
|
+
return ::Quark.mdk_tracing.api.GetLogEventsResult.decode(body)
|
268
|
+
else
|
269
|
+
error = ""
|
270
|
+
if (((body).size) > (0))
|
271
|
+
error = body
|
272
|
+
end
|
273
|
+
if (((error).size) < (1))
|
274
|
+
error = ("HTTP response ") + ((code).to_s)
|
275
|
+
end
|
276
|
+
@logger.error(("query failure: ") + (error))
|
277
|
+
return ::Quark.quark.HTTPError.new(error)
|
278
|
+
end
|
279
|
+
|
280
|
+
nil
|
281
|
+
end
|
282
|
+
|
283
|
+
def _getClass()
|
284
|
+
|
285
|
+
return "mdk_tracing.Tracer"
|
286
|
+
|
287
|
+
nil
|
288
|
+
end
|
289
|
+
|
290
|
+
def _getField(name)
|
291
|
+
|
292
|
+
if ((name) == ("logger"))
|
293
|
+
return (self).logger
|
294
|
+
end
|
295
|
+
if ((name) == ("url"))
|
296
|
+
return (self).url
|
297
|
+
end
|
298
|
+
if ((name) == ("queryURL"))
|
299
|
+
return (self).queryURL
|
300
|
+
end
|
301
|
+
if ((name) == ("token"))
|
302
|
+
return (self).token
|
303
|
+
end
|
304
|
+
if ((name) == ("lastPoll"))
|
305
|
+
return (self).lastPoll
|
306
|
+
end
|
307
|
+
if ((name) == ("_context"))
|
308
|
+
return (self)._context
|
309
|
+
end
|
310
|
+
if ((name) == ("_client"))
|
311
|
+
return (self)._client
|
312
|
+
end
|
313
|
+
if ((name) == ("runtime"))
|
314
|
+
return (self).runtime
|
315
|
+
end
|
316
|
+
return nil
|
317
|
+
|
318
|
+
nil
|
319
|
+
end
|
320
|
+
|
321
|
+
def _setField(name, value)
|
322
|
+
|
323
|
+
if ((name) == ("logger"))
|
324
|
+
(self).logger = value
|
325
|
+
end
|
326
|
+
if ((name) == ("url"))
|
327
|
+
(self).url = ::DatawireQuarkCore.cast(value) { ::String }
|
328
|
+
end
|
329
|
+
if ((name) == ("queryURL"))
|
330
|
+
(self).queryURL = ::DatawireQuarkCore.cast(value) { ::String }
|
331
|
+
end
|
332
|
+
if ((name) == ("token"))
|
333
|
+
(self).token = ::DatawireQuarkCore.cast(value) { ::String }
|
334
|
+
end
|
335
|
+
if ((name) == ("lastPoll"))
|
336
|
+
(self).lastPoll = ::DatawireQuarkCore.cast(value) { ::Integer }
|
337
|
+
end
|
338
|
+
if ((name) == ("_context"))
|
339
|
+
(self)._context = ::DatawireQuarkCore.cast(value) { ::DatawireQuarkCore::TLS }
|
340
|
+
end
|
341
|
+
if ((name) == ("_client"))
|
342
|
+
(self)._client = ::DatawireQuarkCore.cast(value) { ::Quark.mdk_tracing.protocol.TracingClient }
|
343
|
+
end
|
344
|
+
if ((name) == ("runtime"))
|
345
|
+
(self).runtime = ::DatawireQuarkCore.cast(value) { ::Quark.mdk_runtime.MDKRuntime }
|
346
|
+
end
|
347
|
+
|
348
|
+
nil
|
349
|
+
end
|
350
|
+
|
351
|
+
def __init_fields__()
|
352
|
+
|
353
|
+
self.logger = ::Quark.quark._getLogger("MDK Tracer")
|
354
|
+
self.url = "wss://tracing.datawire.io/ws/v1"
|
355
|
+
self.queryURL = "https://tracing.datawire.io/api/v1/logs"
|
356
|
+
self.token = nil
|
357
|
+
self.lastPoll = 0
|
358
|
+
self._context = ::DatawireQuarkCore::TLS.new(::Quark.mdk_tracing.SharedContextInitializer.new())
|
359
|
+
self._client = nil
|
360
|
+
self.runtime = nil
|
361
|
+
|
362
|
+
nil
|
363
|
+
end
|
364
|
+
|
365
|
+
|
366
|
+
end
|
367
|
+
Tracer.unlazy_statics
|
368
|
+
end # module MdkTracing
|
369
|
+
end # module Quark
|
@@ -0,0 +1,188 @@
|
|
1
|
+
# Quark 1.0.406 run at 2016-08-31 13:21:53.028839
|
2
|
+
module Quark
|
3
|
+
require "quark"
|
4
|
+
def self.mdk_tracing; MdkTracing; end
|
5
|
+
module MdkTracing
|
6
|
+
def self.api; Api; end
|
7
|
+
module Api
|
8
|
+
require "datawire-quark-core"
|
9
|
+
require_relative '../quark/reflect' # 0 ('quark',) ('mdk_tracing',)
|
10
|
+
require_relative '../datawire_mdk_md' # 0 () ('mdk_tracing',)
|
11
|
+
require_relative '../mdk_protocol' # 0 () ('mdk_tracing',)
|
12
|
+
require_relative '../quark' # 0 () ('mdk_tracing',)
|
13
|
+
require_relative 'protocol' # 1 () ()
|
14
|
+
|
15
|
+
|
16
|
+
def self.ApiHandler; ApiHandler; end
|
17
|
+
class ApiHandler < ::DatawireQuarkCore::QuarkObject
|
18
|
+
extend ::DatawireQuarkCore::Static
|
19
|
+
|
20
|
+
static mdk_tracing_api_ApiHandler_ref: -> { nil }
|
21
|
+
|
22
|
+
|
23
|
+
|
24
|
+
def initialize()
|
25
|
+
self.__init_fields__
|
26
|
+
|
27
|
+
nil
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
##
|
34
|
+
# Retrieves zero or more events based on the provided request parameters.
|
35
|
+
|
36
|
+
def getLogEvents(request)
|
37
|
+
raise NotImplementedError, '`ApiHandler.getLogEvents` is an abstract method'
|
38
|
+
|
39
|
+
nil
|
40
|
+
end
|
41
|
+
|
42
|
+
def __init_fields__()
|
43
|
+
|
44
|
+
|
45
|
+
nil
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
end
|
50
|
+
ApiHandler.unlazy_statics
|
51
|
+
|
52
|
+
def self.GetLogEventsRequest; GetLogEventsRequest; end
|
53
|
+
class GetLogEventsRequest < ::Quark.mdk_protocol.Serializable
|
54
|
+
attr_accessor :startTime, :endTime
|
55
|
+
extend ::DatawireQuarkCore::Static
|
56
|
+
|
57
|
+
static mdk_tracing_api_GetLogEventsRequest_ref: -> { nil }
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
def initialize()
|
62
|
+
|
63
|
+
super()
|
64
|
+
|
65
|
+
nil
|
66
|
+
end
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
def self.decode(encoded)
|
72
|
+
|
73
|
+
return ::DatawireQuarkCore.cast(::Quark.mdk_protocol.Serializable.decodeClassName("mdk_tracing.api.GetLogEventsRequest", encoded)) { ::Quark.mdk_tracing.api.GetLogEventsRequest }
|
74
|
+
|
75
|
+
nil
|
76
|
+
end
|
77
|
+
|
78
|
+
def _getClass()
|
79
|
+
|
80
|
+
return "mdk_tracing.api.GetLogEventsRequest"
|
81
|
+
|
82
|
+
nil
|
83
|
+
end
|
84
|
+
|
85
|
+
def _getField(name)
|
86
|
+
|
87
|
+
if ((name) == ("startTime"))
|
88
|
+
return (self).startTime
|
89
|
+
end
|
90
|
+
if ((name) == ("endTime"))
|
91
|
+
return (self).endTime
|
92
|
+
end
|
93
|
+
return nil
|
94
|
+
|
95
|
+
nil
|
96
|
+
end
|
97
|
+
|
98
|
+
def _setField(name, value)
|
99
|
+
|
100
|
+
if ((name) == ("startTime"))
|
101
|
+
(self).startTime = ::DatawireQuarkCore.cast(value) { ::Integer }
|
102
|
+
end
|
103
|
+
if ((name) == ("endTime"))
|
104
|
+
(self).endTime = ::DatawireQuarkCore.cast(value) { ::Integer }
|
105
|
+
end
|
106
|
+
|
107
|
+
nil
|
108
|
+
end
|
109
|
+
|
110
|
+
def __init_fields__()
|
111
|
+
|
112
|
+
super
|
113
|
+
self.startTime = 0
|
114
|
+
self.endTime = ::Quark.quark.now()
|
115
|
+
|
116
|
+
nil
|
117
|
+
end
|
118
|
+
|
119
|
+
|
120
|
+
end
|
121
|
+
GetLogEventsRequest.unlazy_statics
|
122
|
+
|
123
|
+
def self.GetLogEventsResult; GetLogEventsResult; end
|
124
|
+
class GetLogEventsResult < ::Quark.mdk_protocol.Serializable
|
125
|
+
attr_accessor :result
|
126
|
+
extend ::DatawireQuarkCore::Static
|
127
|
+
|
128
|
+
static mdk_tracing_api_GetLogEventsResult_ref: -> { nil }
|
129
|
+
|
130
|
+
|
131
|
+
|
132
|
+
def initialize()
|
133
|
+
|
134
|
+
super()
|
135
|
+
|
136
|
+
nil
|
137
|
+
end
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
def self.decode(encoded)
|
143
|
+
|
144
|
+
return ::DatawireQuarkCore.cast(::Quark.mdk_protocol.Serializable.decodeClassName("mdk_tracing.api.GetLogEventsResult", encoded)) { ::Quark.mdk_tracing.api.GetLogEventsResult }
|
145
|
+
|
146
|
+
nil
|
147
|
+
end
|
148
|
+
|
149
|
+
def _getClass()
|
150
|
+
|
151
|
+
return "mdk_tracing.api.GetLogEventsResult"
|
152
|
+
|
153
|
+
nil
|
154
|
+
end
|
155
|
+
|
156
|
+
def _getField(name)
|
157
|
+
|
158
|
+
if ((name) == ("result"))
|
159
|
+
return (self).result
|
160
|
+
end
|
161
|
+
return nil
|
162
|
+
|
163
|
+
nil
|
164
|
+
end
|
165
|
+
|
166
|
+
def _setField(name, value)
|
167
|
+
|
168
|
+
if ((name) == ("result"))
|
169
|
+
(self).result = ::DatawireQuarkCore.cast(value) { ::DatawireQuarkCore::List }
|
170
|
+
end
|
171
|
+
|
172
|
+
nil
|
173
|
+
end
|
174
|
+
|
175
|
+
def __init_fields__()
|
176
|
+
|
177
|
+
super
|
178
|
+
self.result = nil
|
179
|
+
|
180
|
+
nil
|
181
|
+
end
|
182
|
+
|
183
|
+
|
184
|
+
end
|
185
|
+
GetLogEventsResult.unlazy_statics
|
186
|
+
end # module Api
|
187
|
+
end # module MdkTracing
|
188
|
+
end # module Quark
|