skylight 4.3.2 → 5.1.1
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/CHANGELOG.md +399 -336
- data/CLA.md +1 -1
- data/CONTRIBUTING.md +2 -8
- data/LICENSE.md +7 -17
- data/README.md +1 -1
- data/ext/extconf.rb +45 -56
- data/ext/libskylight.yml +10 -6
- data/ext/skylight_native.c +22 -99
- data/lib/skylight.rb +201 -14
- data/lib/skylight/api.rb +32 -21
- data/lib/skylight/cli.rb +48 -46
- data/lib/skylight/cli/doctor.rb +62 -63
- data/lib/skylight/cli/helpers.rb +19 -19
- data/lib/skylight/cli/merger.rb +142 -138
- data/lib/skylight/config.rb +634 -199
- data/lib/skylight/deprecation.rb +17 -0
- data/lib/skylight/errors.rb +23 -9
- data/lib/skylight/extensions.rb +95 -0
- data/lib/skylight/extensions/source_location.rb +291 -0
- data/lib/skylight/formatters/http.rb +18 -0
- data/lib/skylight/gc.rb +99 -0
- data/lib/skylight/helpers.rb +81 -36
- data/lib/skylight/instrumenter.rb +336 -18
- data/lib/skylight/middleware.rb +134 -1
- data/lib/skylight/native.rb +60 -12
- data/lib/skylight/native_ext_fetcher.rb +13 -14
- data/lib/skylight/normalizers.rb +157 -0
- data/lib/skylight/normalizers/action_controller/process_action.rb +68 -0
- data/lib/skylight/normalizers/action_controller/send_file.rb +51 -0
- data/lib/skylight/normalizers/action_dispatch/process_middleware.rb +22 -0
- data/lib/skylight/normalizers/action_dispatch/route_set.rb +27 -0
- data/lib/skylight/normalizers/action_view/render_collection.rb +24 -0
- data/lib/skylight/normalizers/action_view/render_layout.rb +25 -0
- data/lib/skylight/normalizers/action_view/render_partial.rb +23 -0
- data/lib/skylight/normalizers/action_view/render_template.rb +23 -0
- data/lib/skylight/normalizers/active_job/perform.rb +90 -0
- data/lib/skylight/normalizers/active_model_serializers/render.rb +32 -0
- data/lib/skylight/normalizers/active_record/instantiation.rb +16 -0
- data/lib/skylight/normalizers/active_record/sql.rb +12 -0
- data/lib/skylight/normalizers/active_storage.rb +28 -0
- data/lib/skylight/normalizers/active_support/cache.rb +11 -0
- data/lib/skylight/normalizers/active_support/cache_clear.rb +16 -0
- data/lib/skylight/normalizers/active_support/cache_decrement.rb +16 -0
- data/lib/skylight/normalizers/active_support/cache_delete.rb +16 -0
- data/lib/skylight/normalizers/active_support/cache_exist.rb +16 -0
- data/lib/skylight/normalizers/active_support/cache_fetch_hit.rb +16 -0
- data/lib/skylight/normalizers/active_support/cache_generate.rb +16 -0
- data/lib/skylight/normalizers/active_support/cache_increment.rb +16 -0
- data/lib/skylight/normalizers/active_support/cache_read.rb +16 -0
- data/lib/skylight/normalizers/active_support/cache_read_multi.rb +16 -0
- data/lib/skylight/normalizers/active_support/cache_write.rb +16 -0
- data/lib/skylight/normalizers/coach/handler_finish.rb +44 -0
- data/lib/skylight/normalizers/coach/middleware_finish.rb +33 -0
- data/lib/skylight/normalizers/couch_potato/query.rb +20 -0
- data/lib/skylight/normalizers/data_mapper/sql.rb +12 -0
- data/lib/skylight/normalizers/default.rb +24 -0
- data/lib/skylight/normalizers/elasticsearch/request.rb +20 -0
- data/lib/skylight/normalizers/faraday/request.rb +38 -0
- data/lib/skylight/normalizers/grape/endpoint.rb +28 -0
- data/lib/skylight/normalizers/grape/endpoint_render.rb +25 -0
- data/lib/skylight/normalizers/grape/endpoint_run.rb +39 -0
- data/lib/skylight/normalizers/grape/endpoint_run_filters.rb +20 -0
- data/lib/skylight/normalizers/grape/format_response.rb +20 -0
- data/lib/skylight/normalizers/graphiti/render.rb +22 -0
- data/lib/skylight/normalizers/graphiti/resolve.rb +31 -0
- data/lib/skylight/normalizers/graphql/base.rb +127 -0
- data/lib/skylight/normalizers/render.rb +79 -0
- data/lib/skylight/normalizers/sequel/sql.rb +12 -0
- data/lib/skylight/normalizers/shrine.rb +32 -0
- data/lib/skylight/normalizers/sql.rb +45 -0
- data/lib/skylight/probes.rb +173 -0
- data/lib/skylight/probes/action_controller.rb +52 -0
- data/lib/skylight/probes/action_dispatch.rb +2 -0
- data/lib/skylight/probes/action_dispatch/request_id.rb +33 -0
- data/lib/skylight/probes/action_dispatch/routing/route_set.rb +30 -0
- data/lib/skylight/probes/action_view.rb +42 -0
- data/lib/skylight/probes/active_job.rb +27 -0
- data/lib/skylight/probes/active_job_enqueue.rb +35 -0
- data/lib/skylight/probes/active_model_serializers.rb +50 -0
- data/lib/skylight/probes/delayed_job.rb +144 -0
- data/lib/skylight/probes/elasticsearch.rb +36 -0
- data/lib/skylight/probes/excon.rb +25 -0
- data/lib/skylight/probes/excon/middleware.rb +65 -0
- data/lib/skylight/probes/faraday.rb +23 -0
- data/lib/skylight/probes/graphql.rb +38 -0
- data/lib/skylight/probes/httpclient.rb +44 -0
- data/lib/skylight/probes/middleware.rb +135 -0
- data/lib/skylight/probes/mongo.rb +156 -0
- data/lib/skylight/probes/mongoid.rb +13 -0
- data/lib/skylight/probes/net_http.rb +54 -0
- data/lib/skylight/probes/redis.rb +51 -0
- data/lib/skylight/probes/sequel.rb +29 -0
- data/lib/skylight/probes/sinatra.rb +66 -0
- data/lib/skylight/probes/sinatra_add_middleware.rb +10 -10
- data/lib/skylight/probes/tilt.rb +25 -0
- data/lib/skylight/railtie.rb +157 -27
- data/lib/skylight/sidekiq.rb +47 -0
- data/lib/skylight/subscriber.rb +108 -0
- data/lib/skylight/test.rb +151 -0
- data/lib/skylight/trace.rb +325 -22
- data/lib/skylight/user_config.rb +58 -0
- data/lib/skylight/util.rb +12 -0
- data/lib/skylight/util/allocation_free.rb +26 -0
- data/lib/skylight/util/clock.rb +57 -0
- data/lib/skylight/util/component.rb +22 -22
- data/lib/skylight/util/deploy.rb +16 -21
- data/lib/skylight/util/gzip.rb +20 -0
- data/lib/skylight/util/http.rb +106 -113
- data/lib/skylight/util/instrumenter_method.rb +26 -0
- data/lib/skylight/util/logging.rb +136 -0
- data/lib/skylight/util/lru_cache.rb +36 -0
- data/lib/skylight/util/platform.rb +1 -5
- data/lib/skylight/util/ssl.rb +1 -25
- data/lib/skylight/vendor/cli/thor/rake_compat.rb +1 -1
- data/lib/skylight/version.rb +5 -1
- data/lib/skylight/vm/gc.rb +60 -0
- metadata +126 -13
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
module Skylight
|
|
2
|
+
module Util
|
|
3
|
+
module InstrumenterMethod
|
|
4
|
+
def instrumenter_method(name, block: false)
|
|
5
|
+
if block
|
|
6
|
+
module_eval <<-RUBY, __FILE__, __LINE__ + 1
|
|
7
|
+
def #{name}(*args) # def mute(*args)
|
|
8
|
+
unless instrumenter # unless instrumenter
|
|
9
|
+
return yield if block_given? # return yield if block_given?
|
|
10
|
+
return # return
|
|
11
|
+
end # end
|
|
12
|
+
#
|
|
13
|
+
instrumenter.#{name}(*args) { yield } # instrumenter.mute(*args) { yield }
|
|
14
|
+
end # end
|
|
15
|
+
RUBY
|
|
16
|
+
else
|
|
17
|
+
module_eval <<-RUBY, __FILE__, __LINE__ + 1
|
|
18
|
+
def #{name}(*args) # def config(*args)
|
|
19
|
+
instrumenter&.#{name}(*args) # instrumenter&.config(*args)
|
|
20
|
+
end # end
|
|
21
|
+
RUBY
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
require "logger"
|
|
2
|
+
|
|
3
|
+
module Skylight
|
|
4
|
+
module Util
|
|
5
|
+
# Log both to the specified logger and STDOUT
|
|
6
|
+
class AlertLogger
|
|
7
|
+
def initialize(logger)
|
|
8
|
+
@logger = logger
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def write(*args)
|
|
12
|
+
$stderr.write(*args)
|
|
13
|
+
|
|
14
|
+
# Try to avoid writing to STDOUT/STDERR twice
|
|
15
|
+
logger_logdev = @logger.instance_variable_get(:@logdev)
|
|
16
|
+
logger_out = logger_logdev.respond_to?(:dev) ? logger_logdev.dev : nil
|
|
17
|
+
@logger.<<(*args) if logger_out != $stdout && logger_out != $stderr
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def close; end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
module Logging
|
|
24
|
+
def log_context
|
|
25
|
+
{}
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def trace?
|
|
29
|
+
!!ENV[-"SKYLIGHT_ENABLE_TRACE_LOGS"]
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def raise_on_error?
|
|
33
|
+
!!ENV[-"SKYLIGHT_RAISE_ON_ERROR"]
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Logs if tracing
|
|
37
|
+
#
|
|
38
|
+
# @param (see #debug)
|
|
39
|
+
#
|
|
40
|
+
# See {trace?}.
|
|
41
|
+
def trace(msg, *args)
|
|
42
|
+
return unless trace?
|
|
43
|
+
|
|
44
|
+
log :debug, msg, *args
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Evaluates and logs the result of the block if tracing
|
|
48
|
+
#
|
|
49
|
+
# @yield block to be evaluted
|
|
50
|
+
# @yieldreturn arguments for {#debug}
|
|
51
|
+
#
|
|
52
|
+
# See {trace?}.
|
|
53
|
+
def t
|
|
54
|
+
return unless trace?
|
|
55
|
+
|
|
56
|
+
log :debug, yield
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# @param msg (see #log)
|
|
60
|
+
# @param args (see #log)
|
|
61
|
+
def debug(msg, *args)
|
|
62
|
+
log :debug, msg, *args
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# @param msg (see #log)
|
|
66
|
+
# @param args (see #log)
|
|
67
|
+
def info(msg, *args)
|
|
68
|
+
log :info, msg, *args
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# @param msg (see #log)
|
|
72
|
+
# @param args (see #log)
|
|
73
|
+
def warn(msg, *args)
|
|
74
|
+
log :warn, msg, *args
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# @param msg (see #log)
|
|
78
|
+
# @param args (see #log)
|
|
79
|
+
def error(msg, *args)
|
|
80
|
+
log :error, msg, *args
|
|
81
|
+
raise format(msg, *args) if raise_on_error?
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
alias log_trace trace
|
|
85
|
+
alias log_debug debug
|
|
86
|
+
alias log_info info
|
|
87
|
+
alias log_warn warn
|
|
88
|
+
alias log_error error
|
|
89
|
+
|
|
90
|
+
# Alias for `Kernel#sprintf`
|
|
91
|
+
# @return [String]
|
|
92
|
+
def fmt(*args)
|
|
93
|
+
sprintf(*args)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def config_for_logging
|
|
97
|
+
if respond_to?(:config)
|
|
98
|
+
config
|
|
99
|
+
elsif is_a?(Skylight::Config)
|
|
100
|
+
self
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
# @param level [String,Symbol] the method on `logger` to use for logging
|
|
105
|
+
# @param msg [String] the message to log
|
|
106
|
+
# @param args [Array] values for `Kernel#sprintf` on `msg`
|
|
107
|
+
def log(level, msg, *args)
|
|
108
|
+
c = config_for_logging
|
|
109
|
+
logger = c ? c.logger : nil
|
|
110
|
+
|
|
111
|
+
msg = log_context.map { |(k, v)| "#{k}=#{v}; " }.join << msg
|
|
112
|
+
|
|
113
|
+
if logger
|
|
114
|
+
if logger.respond_to?(level)
|
|
115
|
+
if args.empty?
|
|
116
|
+
logger.send level, msg
|
|
117
|
+
else
|
|
118
|
+
logger.send level, format(msg, *args)
|
|
119
|
+
end
|
|
120
|
+
return # rubocop:disable Style/RedundantReturn
|
|
121
|
+
else
|
|
122
|
+
Kernel.warn "Invalid logger"
|
|
123
|
+
end
|
|
124
|
+
# Fallback to stderr for warn and error levels
|
|
125
|
+
elsif %i[warn error].include?(level)
|
|
126
|
+
$stderr.puts format("[SKYLIGHT] #{msg}", *args)
|
|
127
|
+
end
|
|
128
|
+
rescue Exception => e
|
|
129
|
+
if trace?
|
|
130
|
+
puts "[ERROR] #{e.message}"
|
|
131
|
+
puts e.backtrace
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Based on code by Sam Saffron: https://stackoverflow.com/a/16161783/181916
|
|
2
|
+
module Skylight
|
|
3
|
+
module Util
|
|
4
|
+
class LruCache
|
|
5
|
+
def initialize(max_size)
|
|
6
|
+
@max_size = max_size
|
|
7
|
+
@data = {}
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def max_size=(size)
|
|
11
|
+
raise ArgumentError, :max_size if @max_size < 1
|
|
12
|
+
|
|
13
|
+
@max_size = size
|
|
14
|
+
@data.shift while @data.size > @max_size
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Individual hash operations here are atomic in MRI.
|
|
18
|
+
def fetch(key)
|
|
19
|
+
found = true
|
|
20
|
+
value = @data.delete(key) { found = false }
|
|
21
|
+
|
|
22
|
+
value = yield if !found && block_given?
|
|
23
|
+
|
|
24
|
+
@data[key] = value if value
|
|
25
|
+
|
|
26
|
+
@data.shift if !found && value && @data.length > @max_size
|
|
27
|
+
|
|
28
|
+
value
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def clear
|
|
32
|
+
@data.clear
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -12,11 +12,7 @@ module Skylight
|
|
|
12
12
|
# Ruby doesn't know that it's on a musl-based platform. `ldd` is the
|
|
13
13
|
# only reliable way to detect musl that we've found.
|
|
14
14
|
# See https://github.com/skylightio/skylight-ruby/issues/92
|
|
15
|
-
|
|
16
|
-
"linux-musl"
|
|
17
|
-
else
|
|
18
|
-
"linux"
|
|
19
|
-
end
|
|
15
|
+
ENV["SKYLIGHT_MUSL"] || `ldd --version 2>&1` =~ /musl/ ? "linux-musl" : "linux"
|
|
20
16
|
when /darwin/
|
|
21
17
|
"darwin"
|
|
22
18
|
when /freebsd/
|
data/lib/skylight/util/ssl.rb
CHANGED
|
@@ -12,43 +12,19 @@ module Skylight
|
|
|
12
12
|
if defined?(OpenSSL::X509::DEFAULT_CERT_FILE)
|
|
13
13
|
f = OpenSSL::X509::DEFAULT_CERT_FILE
|
|
14
14
|
|
|
15
|
-
if f && File.exist?(f)
|
|
16
|
-
@ca_cert_file = f
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def self.detect_ca_cert_dir!
|
|
22
|
-
return nil if ENV["SKYLIGHT_FORCE_OWN_CERTS"]
|
|
23
|
-
|
|
24
|
-
@ca_cert_dir = false
|
|
25
|
-
if defined?(OpenSSL::X509::DEFAULT_CERT_DIR)
|
|
26
|
-
d = OpenSSL::X509::DEFAULT_CERT_DIR
|
|
27
|
-
|
|
28
|
-
if d && File.exist?(d)
|
|
29
|
-
@ca_cert_dir = d
|
|
30
|
-
end
|
|
15
|
+
@ca_cert_file = f if f && File.exist?(f)
|
|
31
16
|
end
|
|
32
17
|
end
|
|
33
18
|
|
|
34
19
|
detect_ca_cert_file!
|
|
35
|
-
detect_ca_cert_dir!
|
|
36
20
|
|
|
37
21
|
def self.ca_cert_file?
|
|
38
22
|
!!@ca_cert_file
|
|
39
23
|
end
|
|
40
24
|
|
|
41
|
-
def self.ca_cert_dir?
|
|
42
|
-
!!@ca_cert_dir
|
|
43
|
-
end
|
|
44
|
-
|
|
45
25
|
def self.ca_cert_file_or_default
|
|
46
26
|
@ca_cert_file || DEFAULT_CA_FILE
|
|
47
27
|
end
|
|
48
|
-
|
|
49
|
-
class << self
|
|
50
|
-
attr_reader :ca_cert_dir
|
|
51
|
-
end
|
|
52
28
|
end
|
|
53
29
|
end
|
|
54
30
|
end
|
data/lib/skylight/version.rb
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
module Skylight
|
|
2
|
-
|
|
2
|
+
# pre-release versions should be given here as "5.0.0-alpha"
|
|
3
|
+
# for compatibility with semver when it is parsed by the rust agent.
|
|
4
|
+
# This string will be transformed in the gemspec to "5.0.0.alpha"
|
|
5
|
+
# to conform with rubygems.
|
|
6
|
+
VERSION = "5.1.1".freeze
|
|
3
7
|
end
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
module Skylight
|
|
2
|
+
# @api private
|
|
3
|
+
module VM
|
|
4
|
+
if defined?(JRUBY_VERSION)
|
|
5
|
+
# This doesn't quite work as we would like it. I believe that the GC
|
|
6
|
+
# statistics includes time that is not stop-the-world, this does not
|
|
7
|
+
# necessarily take time away from the application.
|
|
8
|
+
#
|
|
9
|
+
# require 'java'
|
|
10
|
+
# class GC
|
|
11
|
+
# def initialize
|
|
12
|
+
# @factory = Java::JavaLangManagement::ManagementFactory
|
|
13
|
+
# end
|
|
14
|
+
#
|
|
15
|
+
# def enable
|
|
16
|
+
# end
|
|
17
|
+
#
|
|
18
|
+
# def total_time
|
|
19
|
+
# res = 0.0
|
|
20
|
+
#
|
|
21
|
+
# @factory.garbage_collector_mx_beans.each do |mx|
|
|
22
|
+
# res += (mx.collection_time.to_f / 1_000.0)
|
|
23
|
+
# end
|
|
24
|
+
#
|
|
25
|
+
# res
|
|
26
|
+
# end
|
|
27
|
+
# end
|
|
28
|
+
elsif defined?(::GC::Profiler)
|
|
29
|
+
class GC
|
|
30
|
+
def initialize
|
|
31
|
+
@total = 0
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def enable
|
|
35
|
+
::GC::Profiler.enable
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def total_time
|
|
39
|
+
# Reported in seconds
|
|
40
|
+
run = (::GC::Profiler.total_time * 1_000_000).to_i
|
|
41
|
+
|
|
42
|
+
::GC::Profiler.clear if run > 0
|
|
43
|
+
|
|
44
|
+
@total += run
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Fallback
|
|
50
|
+
unless defined?(VM::GC)
|
|
51
|
+
class GC
|
|
52
|
+
def enable; end
|
|
53
|
+
|
|
54
|
+
def total_time
|
|
55
|
+
0
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
metadata
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: skylight
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 5.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Tilde, Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-05-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: activesupport
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- -
|
|
17
|
+
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
19
|
+
version: 5.2.0
|
|
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:
|
|
26
|
+
version: 5.2.0
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: beefcake
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -86,28 +86,28 @@ dependencies:
|
|
|
86
86
|
requirements:
|
|
87
87
|
- - "~>"
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
|
-
version:
|
|
89
|
+
version: 13.0.1
|
|
90
90
|
type: :development
|
|
91
91
|
prerelease: false
|
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
93
|
requirements:
|
|
94
94
|
- - "~>"
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
|
-
version:
|
|
96
|
+
version: 13.0.1
|
|
97
97
|
- !ruby/object:Gem::Dependency
|
|
98
98
|
name: rake-compiler
|
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
|
100
100
|
requirements:
|
|
101
101
|
- - "~>"
|
|
102
102
|
- !ruby/object:Gem::Version
|
|
103
|
-
version: 1.
|
|
103
|
+
version: 1.1.1
|
|
104
104
|
type: :development
|
|
105
105
|
prerelease: false
|
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
107
|
requirements:
|
|
108
108
|
- - "~>"
|
|
109
109
|
- !ruby/object:Gem::Version
|
|
110
|
-
version: 1.
|
|
110
|
+
version: 1.1.1
|
|
111
111
|
- !ruby/object:Gem::Dependency
|
|
112
112
|
name: rspec
|
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -136,6 +136,34 @@ dependencies:
|
|
|
136
136
|
- - "~>"
|
|
137
137
|
- !ruby/object:Gem::Version
|
|
138
138
|
version: '1.1'
|
|
139
|
+
- !ruby/object:Gem::Dependency
|
|
140
|
+
name: rubocop
|
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
|
142
|
+
requirements:
|
|
143
|
+
- - "~>"
|
|
144
|
+
- !ruby/object:Gem::Version
|
|
145
|
+
version: 1.15.0
|
|
146
|
+
type: :development
|
|
147
|
+
prerelease: false
|
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
149
|
+
requirements:
|
|
150
|
+
- - "~>"
|
|
151
|
+
- !ruby/object:Gem::Version
|
|
152
|
+
version: 1.15.0
|
|
153
|
+
- !ruby/object:Gem::Dependency
|
|
154
|
+
name: simplecov
|
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
|
156
|
+
requirements:
|
|
157
|
+
- - "~>"
|
|
158
|
+
- !ruby/object:Gem::Version
|
|
159
|
+
version: 0.21.2
|
|
160
|
+
type: :development
|
|
161
|
+
prerelease: false
|
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
163
|
+
requirements:
|
|
164
|
+
- - "~>"
|
|
165
|
+
- !ruby/object:Gem::Version
|
|
166
|
+
version: 0.21.2
|
|
139
167
|
- !ruby/object:Gem::Dependency
|
|
140
168
|
name: timecop
|
|
141
169
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -193,20 +221,104 @@ files:
|
|
|
193
221
|
- lib/skylight/cli/merger.rb
|
|
194
222
|
- lib/skylight/config.rb
|
|
195
223
|
- lib/skylight/data/cacert.pem
|
|
224
|
+
- lib/skylight/deprecation.rb
|
|
196
225
|
- lib/skylight/errors.rb
|
|
226
|
+
- lib/skylight/extensions.rb
|
|
227
|
+
- lib/skylight/extensions/source_location.rb
|
|
228
|
+
- lib/skylight/formatters/http.rb
|
|
229
|
+
- lib/skylight/gc.rb
|
|
197
230
|
- lib/skylight/helpers.rb
|
|
198
231
|
- lib/skylight/instrumenter.rb
|
|
199
232
|
- lib/skylight/middleware.rb
|
|
200
233
|
- lib/skylight/native.rb
|
|
201
234
|
- lib/skylight/native_ext_fetcher.rb
|
|
235
|
+
- lib/skylight/normalizers.rb
|
|
236
|
+
- lib/skylight/normalizers/action_controller/process_action.rb
|
|
237
|
+
- lib/skylight/normalizers/action_controller/send_file.rb
|
|
238
|
+
- lib/skylight/normalizers/action_dispatch/process_middleware.rb
|
|
239
|
+
- lib/skylight/normalizers/action_dispatch/route_set.rb
|
|
240
|
+
- lib/skylight/normalizers/action_view/render_collection.rb
|
|
241
|
+
- lib/skylight/normalizers/action_view/render_layout.rb
|
|
242
|
+
- lib/skylight/normalizers/action_view/render_partial.rb
|
|
243
|
+
- lib/skylight/normalizers/action_view/render_template.rb
|
|
244
|
+
- lib/skylight/normalizers/active_job/perform.rb
|
|
245
|
+
- lib/skylight/normalizers/active_model_serializers/render.rb
|
|
246
|
+
- lib/skylight/normalizers/active_record/instantiation.rb
|
|
247
|
+
- lib/skylight/normalizers/active_record/sql.rb
|
|
248
|
+
- lib/skylight/normalizers/active_storage.rb
|
|
249
|
+
- lib/skylight/normalizers/active_support/cache.rb
|
|
250
|
+
- lib/skylight/normalizers/active_support/cache_clear.rb
|
|
251
|
+
- lib/skylight/normalizers/active_support/cache_decrement.rb
|
|
252
|
+
- lib/skylight/normalizers/active_support/cache_delete.rb
|
|
253
|
+
- lib/skylight/normalizers/active_support/cache_exist.rb
|
|
254
|
+
- lib/skylight/normalizers/active_support/cache_fetch_hit.rb
|
|
255
|
+
- lib/skylight/normalizers/active_support/cache_generate.rb
|
|
256
|
+
- lib/skylight/normalizers/active_support/cache_increment.rb
|
|
257
|
+
- lib/skylight/normalizers/active_support/cache_read.rb
|
|
258
|
+
- lib/skylight/normalizers/active_support/cache_read_multi.rb
|
|
259
|
+
- lib/skylight/normalizers/active_support/cache_write.rb
|
|
260
|
+
- lib/skylight/normalizers/coach/handler_finish.rb
|
|
261
|
+
- lib/skylight/normalizers/coach/middleware_finish.rb
|
|
262
|
+
- lib/skylight/normalizers/couch_potato/query.rb
|
|
263
|
+
- lib/skylight/normalizers/data_mapper/sql.rb
|
|
264
|
+
- lib/skylight/normalizers/default.rb
|
|
265
|
+
- lib/skylight/normalizers/elasticsearch/request.rb
|
|
266
|
+
- lib/skylight/normalizers/faraday/request.rb
|
|
267
|
+
- lib/skylight/normalizers/grape/endpoint.rb
|
|
268
|
+
- lib/skylight/normalizers/grape/endpoint_render.rb
|
|
269
|
+
- lib/skylight/normalizers/grape/endpoint_run.rb
|
|
270
|
+
- lib/skylight/normalizers/grape/endpoint_run_filters.rb
|
|
271
|
+
- lib/skylight/normalizers/grape/format_response.rb
|
|
272
|
+
- lib/skylight/normalizers/graphiti/render.rb
|
|
273
|
+
- lib/skylight/normalizers/graphiti/resolve.rb
|
|
274
|
+
- lib/skylight/normalizers/graphql/base.rb
|
|
275
|
+
- lib/skylight/normalizers/render.rb
|
|
276
|
+
- lib/skylight/normalizers/sequel/sql.rb
|
|
277
|
+
- lib/skylight/normalizers/shrine.rb
|
|
278
|
+
- lib/skylight/normalizers/sql.rb
|
|
279
|
+
- lib/skylight/probes.rb
|
|
280
|
+
- lib/skylight/probes/action_controller.rb
|
|
281
|
+
- lib/skylight/probes/action_dispatch.rb
|
|
282
|
+
- lib/skylight/probes/action_dispatch/request_id.rb
|
|
283
|
+
- lib/skylight/probes/action_dispatch/routing/route_set.rb
|
|
284
|
+
- lib/skylight/probes/action_view.rb
|
|
285
|
+
- lib/skylight/probes/active_job.rb
|
|
286
|
+
- lib/skylight/probes/active_job_enqueue.rb
|
|
287
|
+
- lib/skylight/probes/active_model_serializers.rb
|
|
288
|
+
- lib/skylight/probes/delayed_job.rb
|
|
289
|
+
- lib/skylight/probes/elasticsearch.rb
|
|
290
|
+
- lib/skylight/probes/excon.rb
|
|
291
|
+
- lib/skylight/probes/excon/middleware.rb
|
|
292
|
+
- lib/skylight/probes/faraday.rb
|
|
293
|
+
- lib/skylight/probes/graphql.rb
|
|
294
|
+
- lib/skylight/probes/httpclient.rb
|
|
295
|
+
- lib/skylight/probes/middleware.rb
|
|
296
|
+
- lib/skylight/probes/mongo.rb
|
|
297
|
+
- lib/skylight/probes/mongoid.rb
|
|
298
|
+
- lib/skylight/probes/net_http.rb
|
|
299
|
+
- lib/skylight/probes/redis.rb
|
|
300
|
+
- lib/skylight/probes/sequel.rb
|
|
301
|
+
- lib/skylight/probes/sinatra.rb
|
|
202
302
|
- lib/skylight/probes/sinatra_add_middleware.rb
|
|
303
|
+
- lib/skylight/probes/tilt.rb
|
|
203
304
|
- lib/skylight/railtie.rb
|
|
305
|
+
- lib/skylight/sidekiq.rb
|
|
204
306
|
- lib/skylight/sinatra.rb
|
|
307
|
+
- lib/skylight/subscriber.rb
|
|
308
|
+
- lib/skylight/test.rb
|
|
205
309
|
- lib/skylight/trace.rb
|
|
310
|
+
- lib/skylight/user_config.rb
|
|
311
|
+
- lib/skylight/util.rb
|
|
312
|
+
- lib/skylight/util/allocation_free.rb
|
|
313
|
+
- lib/skylight/util/clock.rb
|
|
206
314
|
- lib/skylight/util/component.rb
|
|
207
315
|
- lib/skylight/util/deploy.rb
|
|
316
|
+
- lib/skylight/util/gzip.rb
|
|
208
317
|
- lib/skylight/util/hostname.rb
|
|
209
318
|
- lib/skylight/util/http.rb
|
|
319
|
+
- lib/skylight/util/instrumenter_method.rb
|
|
320
|
+
- lib/skylight/util/logging.rb
|
|
321
|
+
- lib/skylight/util/lru_cache.rb
|
|
210
322
|
- lib/skylight/util/platform.rb
|
|
211
323
|
- lib/skylight/util/proxy.rb
|
|
212
324
|
- lib/skylight/util/ssl.rb
|
|
@@ -250,6 +362,7 @@ files:
|
|
|
250
362
|
- lib/skylight/vendor/cli/thor/util.rb
|
|
251
363
|
- lib/skylight/vendor/cli/thor/version.rb
|
|
252
364
|
- lib/skylight/version.rb
|
|
365
|
+
- lib/skylight/vm/gc.rb
|
|
253
366
|
homepage: https://www.skylight.io
|
|
254
367
|
licenses:
|
|
255
368
|
- Nonstandard
|
|
@@ -262,14 +375,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
262
375
|
requirements:
|
|
263
376
|
- - ">="
|
|
264
377
|
- !ruby/object:Gem::Version
|
|
265
|
-
version: '2.
|
|
378
|
+
version: '2.6'
|
|
266
379
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
267
380
|
requirements:
|
|
268
381
|
- - ">="
|
|
269
382
|
- !ruby/object:Gem::Version
|
|
270
383
|
version: '0'
|
|
271
384
|
requirements: []
|
|
272
|
-
rubygems_version: 3.
|
|
385
|
+
rubygems_version: 3.2.15
|
|
273
386
|
signing_key:
|
|
274
387
|
specification_version: 4
|
|
275
388
|
summary: Skylight is a smart profiler for Rails, Sinatra, and other Ruby apps.
|