datawire_mdk 2.0.5
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 +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
|