skylight 2.0.0.beta2 → 2.0.0.beta3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: db165039da03ba238e5a23b22d7194644f4f41652e85c881db67258998a953eb
4
- data.tar.gz: 2552166e6e2982649d0ae01355cfd7648b7cecd4f905e33720adbac43b6cf70d
3
+ metadata.gz: 4b5dae77c81d35433c8d2da47b0a7a2b82f7730888802cf3ab892815ceba3f5a
4
+ data.tar.gz: f8c1649317979a382353b1410e1453e4af12fa025e2d03302860af1673990317
5
5
  SHA512:
6
- metadata.gz: c433d4c32a30060baa0741220a6f49c0ebec54dfc42b9af3a9541d97b3178167caf68db4e27bd58882bc91826b817866e34c60b83a85f28db251139ab318cd3d
7
- data.tar.gz: d6dc55b986b620bdca5b8a646f7f5e50c7e10f680931a08cd8eb87fb3c79291c41ece0aead98509c5c3203558271960ecc58fe69a19329640befc0ebd2450100
6
+ metadata.gz: 00f7d040355b847525a0c4d1ee6e47a5e64ab8040f9a7cb709fdbd482a912e6fef7d218a181bb9eb655fd3bdabd83a8af7d279527910c2ab783238b17780e519
7
+ data.tar.gz: dbe7b6e960a53d0be3f5ea0423b4bad1cb5dc90f0343c9ea7d73a897182537255f7a7d099e1e31d47e672abc24d29317bce511581c0d436f339091affbd8f74a
@@ -1,3 +1,11 @@
1
+ ## 2.0.0-beta3 (March 22, 2017)
2
+
3
+ * [BREAKING] `log_sql_parse_errors` config option is now on by default.
4
+ * [IMPROVEMENT] Improved handling of errors generated in the Rust agent.
5
+ * [IMPROVEMENT] Add a probe method to Instrumentable as a shortcut
6
+ * [IMRPOVEMENT] Add logging to Instrumentable for easier access
7
+ * [IMPROVEMENT] Improved logging during startup
8
+
1
9
  ## 2.0.0-beta2 (February 5, 2017)
2
10
 
3
11
  * [BUGFIX] Fix incorrect module path that caused installation issues
@@ -7,10 +15,23 @@
7
15
  * [FEATURE] New SQL lexer to support a wider variety of SQL queries.
8
16
  * [BREAKING] Drop support for a number of deprecated libraries, including Rails prior to 4.2, Ruby prior to 2.2, and Sinatra prior to 1.4.
9
17
 
18
+ ## 1.6.0 (March 21, 2018)
19
+
20
+ * [FEATURE] Time spent the Rails router is now identified separately in the trace
21
+ * [IMPROVEMENT] Switch logger to debug mode if tracing is enabled
22
+ * [IMPROVEMENT] Improved logging for a number of error cases
23
+ * [IMPROVEMENT] Middleware probe should now accept anything allowed by Rack::Lint
24
+ * [IMPROVEMENT] We were using arity checks to determine Rails version but due to other libraries' monkey patches this could sometimes fail. We just check version numbers now.
25
+ * [BUGFIX] Middleware probe no longer errors when Middleware returns a frozen array
26
+
27
+ ## 1.5.1 (February 7, 2018)
28
+
29
+ * [BUGFIX] `skylight doctor` no longer erroneously reports inability to reach Skylight servers.
30
+
10
31
  ## 1.5.0 (December 6, 2017)
11
32
 
12
33
  * [FEATURE] [Coach](https://github.com/gocardless/coach) instrumentation. Enabled automatically via ActiveSupport::Notifications.
13
- * [FEATURE] Option to enable or disable agent by setting SKYLIGHT_ENABLE via ENV.
34
+ * [FEATURE] Option to enable or disable agent by setting SKYLIGHT_ENABLED via ENV.
14
35
  * [IMPROVEMENT] Better logging for certain error cases.
15
36
  * [BUGFIX] Backport a SPEC compliance fix for older Rack::ETag to resolve case where the Middleware probe could cause empty traces.
16
37
  * [BUGFIX] Fix a case where using the non-block form of `Skylight.instrument` with `Skylight.done` could cause lost trace data.
@@ -0,0 +1,5 @@
1
+ E0001 - Spans were closed out of order
2
+ E0002 - Exceeded the number of unique span descriptions
3
+ E0003 - Exceeded maximum number of spans
4
+ E0004 - Failed to lex SQL query
5
+ E9999 - Unknown
@@ -246,7 +246,7 @@ $CFLAGS << " -std=c99 -Wall -fno-strict-aliasing"
246
246
 
247
247
  # Allow stricter checks to be turned on for development or debugging
248
248
  if SKYLIGHT_EXT_STRICT
249
- $CFLAGS << " -pedantic"
249
+ $CFLAGS << " -Wextra"
250
250
  end
251
251
 
252
252
  # TODO: Compute the relative path to the location
@@ -1,8 +1,8 @@
1
1
  ---
2
- version: "2.0.0-7fe2c49"
2
+ version: "2.0.0-5ca78bf"
3
3
  checksums:
4
- x86-linux: "57e0b65fd5bd03be9ad406711279d6164982107a4af144a85d4a352f035244ff"
5
- x86_64-linux: "5a2648e000f7b184dfaadd01f37399e808c80826613279571b61e4d7b122118a"
6
- x86_64-linux-musl: "39fc56d55782af71c8c37f93d1082e05c9a4c0decb68487ea6695d95971985f6"
7
- x86_64-darwin: "05a68826b7cef60c19d22302ec4f5eaa5134fd3be6d19513f6de76337fccb734"
8
- x86_64-freebsd: "97f4a65c0ba19cfa236fec73f2fdd74e0df9ae0e12ecec7709c996a3c4eb10f2"
4
+ x86-linux: "b919d4bba6cd4998f63115a558229ac4f151b5a2df1acec767a6956650b5dc36"
5
+ x86_64-linux: "862f509a9c4b53f4d18d1f41a1fbd6919ac822a7efa3c24a57acbfaf85a450ac"
6
+ x86_64-linux-musl: "b1bec2068b32465ae70291f5376f4384bcc09635be678974ee93a3f9a847bfe2"
7
+ x86_64-darwin: "4cad72f0b4d7fda8e785b98e4d1523f05216e4b925ab79db02713f463c387011"
8
+ x86_64-freebsd: "103bdfb9c47c90855b78f5e7bfa591e935ad6239533c6c3f07a1d82cf5a1528a"
@@ -44,10 +44,11 @@ STR2BUF(VALUE str) {
44
44
  };
45
45
  }
46
46
 
47
- #define CHECK_FFI(success, message) \
47
+ #define CHECK_FFI(code, method_name) \
48
48
  do { \
49
- if ((success) != 0 ) { \
50
- rb_raise(rb_eRuntimeError, message); \
49
+ if ((code) != 0 ) { \
50
+ VALUE error_class = rb_funcall(rb_eNativeError, rb_intern("for_code"), 1, INT2NUM(code)); \
51
+ rb_raise(error_class, method_name); \
51
52
  return Qnil; \
52
53
  } \
53
54
  } while(0)
@@ -99,9 +100,12 @@ typedef VALUE (*blocking_fn_t)(void*);
99
100
  */
100
101
 
101
102
  VALUE rb_mSkylight;
103
+ VALUE rb_eNativeError;
102
104
  VALUE rb_mCore;
103
105
  VALUE rb_mUtil;
104
106
  VALUE rb_cClock;
107
+ VALUE rb_cTrace;
108
+ VALUE rb_cInstrumenter;
105
109
 
106
110
  static const char* no_instrumenter_msg =
107
111
  "Instrumenter not currently running";
@@ -109,6 +113,7 @@ static const char* no_instrumenter_msg =
109
113
  static const char* consumed_trace_msg =
110
114
  "Trace objects cannot be used once it has been submitted to the instrumenter";
111
115
 
116
+
112
117
  static VALUE
113
118
  load_libskylight(VALUE klass, VALUE path) {
114
119
  int res;
@@ -175,7 +180,7 @@ instrumenter_new(VALUE klass, VALUE rb_env) {
175
180
 
176
181
  CHECK_FFI(
177
182
  sky_instrumenter_new(env, envc, &instrumenter),
178
- "failed to initialize instrumenter");
183
+ "Instrumenter#native_new");
179
184
 
180
185
  return Data_Wrap_Struct(klass, NULL, sky_instrumenter_free, instrumenter);
181
186
  }
@@ -213,7 +218,7 @@ instrumenter_stop(VALUE self) {
213
218
 
214
219
  CHECK_FFI(
215
220
  sky_instrumenter_stop(instrumenter),
216
- "native Instrumenter#stop failed");
221
+ "Instrumenter#native_stop");
217
222
 
218
223
  sky_deactivate_memprof();
219
224
 
@@ -249,7 +254,7 @@ instrumenter_track_desc(VALUE self, VALUE rb_endpoint, VALUE rb_desc) {
249
254
 
250
255
  CHECK_FFI(
251
256
  sky_instrumenter_track_desc(instrumenter, STR2BUF(rb_endpoint), STR2BUF(rb_desc), &tracked),
252
- "native Instrumenter#track_desc failed");
257
+ "Instrumenter#native_track_desc");
253
258
 
254
259
  if (tracked) {
255
260
  return Qtrue;
@@ -277,7 +282,7 @@ trace_new(VALUE klass, VALUE start, VALUE uuid, VALUE endpoint, VALUE meta) {
277
282
 
278
283
  CHECK_FFI(
279
284
  sky_trace_new(NUM2ULL(start), STR2BUF(uuid), STR2BUF(endpoint), &trace),
280
- "native Trace#new failed");
285
+ "Trace#native_new");
281
286
 
282
287
  sky_clear_allocation_count();
283
288
 
@@ -293,7 +298,7 @@ trace_get_started_at(VALUE self) {
293
298
 
294
299
  CHECK_FFI(
295
300
  sky_trace_start(trace, &start),
296
- "native Trace#started_at failed");
301
+ "Trace#native_get_started_at");
297
302
 
298
303
  return ULL2NUM(start);
299
304
  }
@@ -307,7 +312,7 @@ trace_get_endpoint(VALUE self) {
307
312
 
308
313
  CHECK_FFI(
309
314
  sky_trace_endpoint(trace, &endpoint),
310
- "native Trace#endpoint failed");
315
+ "Trace#native_get_endpoint");
311
316
 
312
317
  return BUF2STR(endpoint);
313
318
  }
@@ -321,13 +326,15 @@ trace_set_endpoint(VALUE self, VALUE endpoint) {
321
326
 
322
327
  CHECK_FFI(
323
328
  sky_trace_set_endpoint(trace, STR2BUF(endpoint)),
324
- "native Trace#set_endpoint failed");
329
+ "Trace#native_set_endpoint");
325
330
 
326
331
  return Qnil;
327
332
  }
328
333
 
329
334
  static VALUE
330
335
  trace_set_exception(VALUE self, VALUE exception) {
336
+ UNUSED(self);
337
+ UNUSED(exception);
331
338
  return Qnil;
332
339
  }
333
340
 
@@ -340,7 +347,7 @@ trace_get_uuid(VALUE self) {
340
347
 
341
348
  CHECK_FFI(
342
349
  sky_trace_uuid(trace, &uuid),
343
- "native Trace#uuid failed");
350
+ "Trace#native_get_uuid");
344
351
 
345
352
  return BUF2STR(uuid);
346
353
  }
@@ -357,7 +364,7 @@ trace_start_span(VALUE self, VALUE time, VALUE category) {
357
364
 
358
365
  CHECK_FFI(
359
366
  sky_trace_instrument(trace, NUM2ULL(time), STR2BUF(category), &span),
360
- "native Trace#start_span failed");
367
+ "Trace#native_start_span");
361
368
 
362
369
  if (sky_have_memprof()) {
363
370
  sky_trace_span_add_uint_annotation(trace, span, 2, sky_consume_allocations());
@@ -381,11 +388,27 @@ trace_stop_span(VALUE self, VALUE span, VALUE time) {
381
388
 
382
389
  CHECK_FFI(
383
390
  sky_trace_span_done(trace, FIX2UINT(span), NUM2ULL(time)),
384
- "native Trace#stop_span failed");
391
+ "Trace#native_stop_span");
385
392
 
386
393
  return Qnil;
387
394
  }
388
395
 
396
+ static VALUE
397
+ trace_span_get_category(VALUE self, VALUE span) {
398
+ sky_trace_t* trace;
399
+ sky_buf_t category;
400
+
401
+ My_Struct(trace, sky_trace_t, consumed_trace_msg);
402
+
403
+ CHECK_TYPE(span, T_FIXNUM);
404
+
405
+ CHECK_FFI(
406
+ sky_trace_span_get_category(trace, FIX2UINT(span), &category),
407
+ "Trace#native_span_get_category");
408
+
409
+ return BUF2STR(category);
410
+ }
411
+
389
412
  static VALUE
390
413
  trace_span_set_title(VALUE self, VALUE span, VALUE title) {
391
414
  sky_trace_t* trace;
@@ -402,6 +425,22 @@ trace_span_set_title(VALUE self, VALUE span, VALUE title) {
402
425
  return Qnil;
403
426
  }
404
427
 
428
+ static VALUE
429
+ trace_span_get_title(VALUE self, VALUE span) {
430
+ sky_trace_t* trace;
431
+ sky_buf_t title;
432
+
433
+ My_Struct(trace, sky_trace_t, consumed_trace_msg);
434
+
435
+ CHECK_TYPE(span, T_FIXNUM);
436
+
437
+ CHECK_FFI(
438
+ sky_trace_span_get_title(trace, FIX2UINT(span), &title),
439
+ "Trace#native_span_get_title");
440
+
441
+ return BUF2STR(title);
442
+ }
443
+
405
444
  static VALUE
406
445
  trace_span_set_description(VALUE self, VALUE span, VALUE desc) {
407
446
  sky_trace_t* trace;
@@ -413,23 +452,38 @@ trace_span_set_description(VALUE self, VALUE span, VALUE desc) {
413
452
 
414
453
  CHECK_FFI(
415
454
  sky_trace_span_set_desc(trace, FIX2UINT(span), STR2BUF(desc)),
416
- "native Trace#span_set_description failed");
455
+ "Trace#native_span_set_description");
417
456
 
418
457
  return Qnil;
419
458
  }
420
459
 
421
460
  static VALUE
422
461
  trace_span_set_meta(VALUE self, VALUE span, VALUE meta) {
462
+ UNUSED(self);
463
+ UNUSED(span);
464
+ UNUSED(meta);
465
+ return Qnil;
466
+ }
467
+
468
+ static VALUE
469
+ trace_span_started(VALUE self) {
470
+ UNUSED(self);
423
471
  return Qnil;
424
472
  }
425
473
 
426
474
  static VALUE
427
475
  trace_span_set_exception(VALUE self, VALUE span, VALUE exception, VALUE exception_details) {
476
+ UNUSED(self);
477
+ UNUSED(span);
478
+ UNUSED(exception);
479
+ UNUSED(exception_details);
428
480
  return Qnil;
429
481
  }
430
482
 
431
483
  static VALUE
432
484
  trace_span_get_correlation_header(VALUE self, VALUE span_id) {
485
+ UNUSED(self);
486
+ UNUSED(span_id);
433
487
  return Qnil;
434
488
  }
435
489
 
@@ -460,10 +514,10 @@ lex_sql(VALUE klass, VALUE rb_sql, VALUE rb_use_old_lexer) {
460
514
 
461
515
  if (RTEST(rb_use_old_lexer)) {
462
516
  CHECK_FFI(sky_lex_sql_old(sql, &title, &statement),
463
- "native lex_sql_old failed");
517
+ "Skylight#lex_sql (old)");
464
518
  } else {
465
519
  CHECK_FFI(sky_lex_sql(sql, &title, &statement),
466
- "native lex_sql failed");
520
+ "Skylight#lex_sql");
467
521
  }
468
522
 
469
523
  // Set the statement return
@@ -486,6 +540,9 @@ lex_sql(VALUE klass, VALUE rb_sql, VALUE rb_use_old_lexer) {
486
540
 
487
541
  void Init_skylight_native() {
488
542
  rb_mSkylight = rb_define_module("Skylight");
543
+
544
+ rb_eNativeError = rb_const_get(rb_mSkylight, rb_intern("NativeError"));
545
+
489
546
  rb_define_singleton_method(rb_mSkylight, "load_libskylight", load_libskylight, 1);
490
547
  rb_define_singleton_method(rb_mSkylight, "lex_sql", lex_sql, 2);
491
548
 
@@ -496,7 +553,7 @@ void Init_skylight_native() {
496
553
  rb_cClock = rb_define_class_under(rb_mUtil, "Clock", rb_cObject);
497
554
  rb_define_method(rb_cClock, "native_hrtime", clock_high_res_time, 0);
498
555
 
499
- VALUE rb_cTrace = rb_const_get(rb_mSkylight, rb_intern("Trace"));
556
+ rb_cTrace = rb_const_get(rb_mSkylight, rb_intern("Trace"));
500
557
  rb_define_singleton_method(rb_cTrace, "native_new", trace_new, 4);
501
558
  rb_define_method(rb_cTrace, "native_get_started_at", trace_get_started_at, 0);
502
559
  rb_define_method(rb_cTrace, "native_get_endpoint", trace_get_endpoint, 0);
@@ -505,13 +562,16 @@ void Init_skylight_native() {
505
562
  rb_define_method(rb_cTrace, "native_get_uuid", trace_get_uuid, 0);
506
563
  rb_define_method(rb_cTrace, "native_start_span", trace_start_span, 2);
507
564
  rb_define_method(rb_cTrace, "native_stop_span", trace_stop_span, 2);
565
+ rb_define_method(rb_cTrace, "native_span_get_category", trace_span_get_category, 1);
508
566
  rb_define_method(rb_cTrace, "native_span_set_title", trace_span_set_title, 2);
567
+ rb_define_method(rb_cTrace, "native_span_get_title", trace_span_get_title, 1);
509
568
  rb_define_method(rb_cTrace, "native_span_set_description", trace_span_set_description, 2);
510
569
  rb_define_method(rb_cTrace, "native_span_set_meta", trace_span_set_meta, 2);
570
+ rb_define_method(rb_cTrace, "native_span_started", trace_span_started, 1);
511
571
  rb_define_method(rb_cTrace, "native_span_set_exception", trace_span_set_exception, 3);
512
572
  rb_define_method(rb_cTrace, "native_span_get_correlation_header", trace_span_get_correlation_header, 1);
513
573
 
514
- VALUE rb_cInstrumenter = rb_const_get(rb_mSkylight, rb_intern("Instrumenter"));
574
+ rb_cInstrumenter = rb_const_get(rb_mSkylight, rb_intern("Instrumenter"));
515
575
  rb_define_singleton_method(rb_cInstrumenter, "native_new", instrumenter_new, 1);
516
576
  rb_define_method(rb_cInstrumenter, "native_start", instrumenter_start, 0);
517
577
  rb_define_method(rb_cInstrumenter, "native_stop", instrumenter_stop, 0);
@@ -6,6 +6,7 @@ require 'skylight/middleware'
6
6
  require 'skylight/api'
7
7
  require 'skylight/helpers'
8
8
  require 'skylight/config'
9
+ require 'skylight/errors'
9
10
  require 'skylight/native'
10
11
 
11
12
  module Skylight
@@ -28,9 +29,4 @@ module Skylight
28
29
  Config
29
30
  end
30
31
 
31
- # Install probes
32
- def self.probe(*probes)
33
- Core::Probes.probe(*probes)
34
- end
35
-
36
32
  end
@@ -11,7 +11,7 @@ module Skylight
11
11
  say "Checking SSL"
12
12
  http = Util::HTTP.new(config)
13
13
  indent do
14
- req = http.get("/", "Accept" => "text/html")
14
+ req = http.get("/status")
15
15
  if req.success?
16
16
  say "OK", :green
17
17
  else
@@ -113,7 +113,7 @@ module Skylight
113
113
  logger.level = Logger::DEBUG
114
114
  # Remove excess formatting
115
115
  logger.formatter = proc { |severity, datetime, progname, msg|
116
- msg = msg.sub("[SKYLIGHT] [#{Skylight::Core::VERSION}] ", '')
116
+ msg = msg.sub("[SKYLIGHT] [#{Skylight::VERSION}] ", '')
117
117
  say "#{severity} - #{msg}" # Definitely non-standard
118
118
  }
119
119
  config.logger = logger
@@ -0,0 +1,57 @@
1
+ module Skylight
2
+ class NativeError < StandardError
3
+
4
+ @@classes = { }
5
+
6
+ def self.register(code, name, message)
7
+ if @@classes.has_key?(code)
8
+ raise "Duplicate error class code: #{code}; name=#{name}"
9
+ end
10
+
11
+ Skylight.module_eval <<-ruby
12
+ class #{name}Error < NativeError
13
+ def self.code; #{code}; end
14
+ def self.message; #{message.to_json}; end
15
+ end
16
+ ruby
17
+
18
+ klass = Skylight.const_get("#{name}Error")
19
+
20
+ @@classes[code] = klass
21
+ end
22
+
23
+ def self.for_code(code)
24
+ @@classes[code] || self
25
+ end
26
+
27
+ attr_reader :method_name
28
+
29
+ def self.code
30
+ 9999
31
+ end
32
+
33
+ def self.message
34
+ "Encountered an unknown internal error"
35
+ end
36
+
37
+ def initialize(method_name)
38
+ @method_name = method_name
39
+ super(sprintf("[E%04d] %s [%s]", code, message, method_name))
40
+ end
41
+
42
+ def code
43
+ self.class.code
44
+ end
45
+
46
+ def formatted_code
47
+ "%04d" % code
48
+ end
49
+
50
+ # E0003
51
+ register(3, "MaximumTraceSpans", "Exceeded maximum number of spans in a trace.")
52
+
53
+ # E0004
54
+ register(4, "SqlLex", "Failed to lex SQL query.")
55
+ end
56
+
57
+ end
@@ -56,7 +56,7 @@ module Skylight
56
56
 
57
57
  if File.exist?(install_log) && File.read(install_log) =~ /ERROR/
58
58
  config.alert_logger.error \
59
- "[SKYLIGHT] [#{Skylight::Core::VERSION}] The Skylight native extension failed to install. " \
59
+ "[SKYLIGHT] [#{Skylight::VERSION}] The Skylight native extension failed to install. " \
60
60
  "Please check #{install_log} and notify support@skylight.io. " \
61
61
  "The missing extension will not affect the functioning of your application."
62
62
  end
@@ -65,7 +65,7 @@ module Skylight
65
65
  # @api private
66
66
  def self.warn_skylight_native_missing(config)
67
67
  config.alert_logger.error \
68
- "[SKYLIGHT] [#{Skylight::Core::VERSION}] The Skylight native extension for " \
68
+ "[SKYLIGHT] [#{Skylight::VERSION}] The Skylight native extension for " \
69
69
  "your platform wasn't found. Supported operating systems are " \
70
70
  "Linux 2.6.18+ and Mac OS X 10.8+. The missing extension will not " \
71
71
  "affect the functioning of your application. If you are on a " \
@@ -3,12 +3,10 @@ module Skylight
3
3
  module Sinatra
4
4
  class Probe
5
5
  def install
6
- puts "Installed"
7
6
  class << ::Sinatra::Base
8
7
  alias build_without_sk build
9
8
 
10
9
  def build(*args, &block)
11
- puts "Using Middleware"
12
10
  self.use Skylight::Middleware
13
11
  build_without_sk(*args, &block)
14
12
  end
@@ -1,4 +1,4 @@
1
1
  module Skylight
2
- VERSION = '2.0.0-beta2'
2
+ VERSION = '2.0.0-beta3'
3
3
  end
4
4
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: skylight
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.beta2
4
+ version: 2.0.0.beta3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tilde, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-05 00:00:00.000000000 Z
11
+ date: 2018-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: skylight-core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 2.0.0.beta2
19
+ version: 2.0.0.beta3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 2.0.0.beta2
26
+ version: 2.0.0.beta3
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -136,6 +136,20 @@ dependencies:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0.9'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rake-compiler
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 1.0.4
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 1.0.4
139
153
  description:
140
154
  email:
141
155
  - engineering@tilde.io
@@ -148,6 +162,7 @@ files:
148
162
  - CHANGELOG.md
149
163
  - CLA.md
150
164
  - CONTRIBUTING.md
165
+ - ERRORS.md
151
166
  - LICENSE.md
152
167
  - README.md
153
168
  - bin/skylight
@@ -163,6 +178,7 @@ files:
163
178
  - lib/skylight/cli/helpers.rb
164
179
  - lib/skylight/config.rb
165
180
  - lib/skylight/data/cacert.pem
181
+ - lib/skylight/errors.rb
166
182
  - lib/skylight/helpers.rb
167
183
  - lib/skylight/instrumenter.rb
168
184
  - lib/skylight/middleware.rb