skylight 1.7.2 → 2.0.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -33
- data/ext/extconf.rb +32 -6
- data/ext/libskylight.yml +6 -9
- data/ext/skylight_native.c +49 -18
- data/lib/skylight.rb +35 -1
- data/lib/skylight/api.rb +4 -2
- data/lib/skylight/cli.rb +1 -1
- data/lib/skylight/cli/doctor.rb +6 -4
- data/lib/skylight/config.rb +149 -518
- data/lib/skylight/data/cacert.pem +236 -812
- data/lib/skylight/helpers.rb +5 -1
- data/lib/skylight/instrumenter.rb +10 -241
- data/lib/skylight/middleware.rb +1 -89
- data/lib/skylight/native.rb +8 -6
- data/lib/skylight/native_ext_fetcher.rb +251 -0
- data/lib/skylight/normalizers/active_job/enqueue_at.rb +2 -20
- data/lib/skylight/probes/sinatra_add_middleware.rb +22 -0
- data/lib/skylight/railtie.rb +11 -131
- data/lib/skylight/sinatra.rb +1 -5
- data/lib/skylight/trace.rb +1 -229
- data/lib/skylight/util/http.rb +3 -3
- data/lib/skylight/vendor/cli/thor/actions/directory.rb +5 -15
- data/lib/skylight/version.rb +1 -1
- metadata +114 -91
- data/lib/skylight/compat.rb +0 -76
- data/lib/skylight/core.rb +0 -149
- data/lib/skylight/deprecation.rb +0 -55
- data/lib/skylight/formatters/http.rb +0 -20
- data/lib/skylight/gc.rb +0 -107
- data/lib/skylight/normalizers.rb +0 -192
- data/lib/skylight/normalizers/action_controller/process_action.rb +0 -50
- data/lib/skylight/normalizers/action_controller/send_file.rb +0 -50
- data/lib/skylight/normalizers/action_view/render_collection.rb +0 -22
- data/lib/skylight/normalizers/action_view/render_partial.rb +0 -21
- data/lib/skylight/normalizers/action_view/render_template.rb +0 -21
- data/lib/skylight/normalizers/active_model_serializers/render.rb +0 -26
- data/lib/skylight/normalizers/active_record/instantiation.rb +0 -17
- data/lib/skylight/normalizers/active_record/sql.rb +0 -55
- data/lib/skylight/normalizers/active_support/cache.rb +0 -51
- data/lib/skylight/normalizers/active_support/cache_clear.rb +0 -16
- data/lib/skylight/normalizers/active_support/cache_decrement.rb +0 -16
- data/lib/skylight/normalizers/active_support/cache_delete.rb +0 -16
- data/lib/skylight/normalizers/active_support/cache_exist.rb +0 -16
- data/lib/skylight/normalizers/active_support/cache_fetch_hit.rb +0 -16
- data/lib/skylight/normalizers/active_support/cache_generate.rb +0 -16
- data/lib/skylight/normalizers/active_support/cache_increment.rb +0 -16
- data/lib/skylight/normalizers/active_support/cache_read.rb +0 -16
- data/lib/skylight/normalizers/active_support/cache_read_multi.rb +0 -16
- data/lib/skylight/normalizers/active_support/cache_write.rb +0 -16
- data/lib/skylight/normalizers/coach/handler_finish.rb +0 -36
- data/lib/skylight/normalizers/coach/middleware_finish.rb +0 -23
- data/lib/skylight/normalizers/couch_potato/query.rb +0 -20
- data/lib/skylight/normalizers/default.rb +0 -27
- data/lib/skylight/normalizers/elasticsearch/request.rb +0 -20
- data/lib/skylight/normalizers/faraday/request.rb +0 -38
- data/lib/skylight/normalizers/grape/endpoint.rb +0 -30
- data/lib/skylight/normalizers/grape/endpoint_render.rb +0 -26
- data/lib/skylight/normalizers/grape/endpoint_run.rb +0 -33
- data/lib/skylight/normalizers/grape/endpoint_run_filters.rb +0 -23
- data/lib/skylight/normalizers/moped/query.rb +0 -100
- data/lib/skylight/probes.rb +0 -129
- data/lib/skylight/probes/action_controller.rb +0 -64
- data/lib/skylight/probes/action_dispatch.rb +0 -30
- data/lib/skylight/probes/action_view.rb +0 -43
- data/lib/skylight/probes/active_model_serializers.rb +0 -55
- data/lib/skylight/probes/elasticsearch.rb +0 -37
- data/lib/skylight/probes/excon.rb +0 -26
- data/lib/skylight/probes/excon/middleware.rb +0 -68
- data/lib/skylight/probes/faraday.rb +0 -22
- data/lib/skylight/probes/grape.rb +0 -88
- data/lib/skylight/probes/httpclient.rb +0 -46
- data/lib/skylight/probes/middleware.rb +0 -68
- data/lib/skylight/probes/mongo.rb +0 -161
- data/lib/skylight/probes/mongoid.rb +0 -21
- data/lib/skylight/probes/moped.rb +0 -39
- data/lib/skylight/probes/net_http.rb +0 -58
- data/lib/skylight/probes/redis.rb +0 -71
- data/lib/skylight/probes/sequel.rb +0 -37
- data/lib/skylight/probes/sinatra.rb +0 -76
- data/lib/skylight/probes/tilt.rb +0 -31
- data/lib/skylight/subscriber.rb +0 -122
- data/lib/skylight/user_config.rb +0 -60
- data/lib/skylight/util.rb +0 -17
- data/lib/skylight/util/allocation_free.rb +0 -26
- data/lib/skylight/util/clock.rb +0 -54
- data/lib/skylight/util/deploy.rb +0 -132
- data/lib/skylight/util/gzip.rb +0 -21
- data/lib/skylight/util/inflector.rb +0 -112
- data/lib/skylight/util/logging.rb +0 -127
- data/lib/skylight/util/multi_io.rb +0 -21
- data/lib/skylight/util/native_ext_fetcher.rb +0 -253
- data/lib/skylight/util/platform.rb +0 -75
- data/lib/skylight/util/proxy.rb +0 -13
- data/lib/skylight/vendor/active_support/notifications.rb +0 -207
- data/lib/skylight/vendor/active_support/notifications/fanout.rb +0 -159
- data/lib/skylight/vendor/active_support/notifications/instrumenter.rb +0 -72
- data/lib/skylight/vendor/active_support/per_thread_registry.rb +0 -52
- data/lib/skylight/vendor/thread_safe.rb +0 -126
- data/lib/skylight/vendor/thread_safe/non_concurrent_cache_backend.rb +0 -133
- data/lib/skylight/vendor/thread_safe/synchronized_cache_backend.rb +0 -76
- data/lib/skylight/vm/gc.rb +0 -70
@@ -1,22 +0,0 @@
|
|
1
|
-
module Skylight
|
2
|
-
module Normalizers
|
3
|
-
module ActionView
|
4
|
-
# Normalizer for Rails collection rendering
|
5
|
-
class RenderCollection < RenderNormalizer
|
6
|
-
register "render_collection.action_view"
|
7
|
-
|
8
|
-
CAT = "view.render.collection".freeze
|
9
|
-
|
10
|
-
# @param trace [Skylight::Messages::Trace::Builder] ignored, only present to match API
|
11
|
-
# @param name [String] ignored, only present to match API
|
12
|
-
# @param payload (see RenderNormalizer#normalize_render)
|
13
|
-
# @option payload (see RenderNormalizer#normalize_render)
|
14
|
-
# @option payload [Integer] :count
|
15
|
-
# @return (see RenderNormalizer#normalize_render)
|
16
|
-
def normalize(trace, name, payload)
|
17
|
-
normalize_render(CAT, payload)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
module Skylight
|
2
|
-
module Normalizers
|
3
|
-
module ActionView
|
4
|
-
# Normalizer for Rails partial rendering
|
5
|
-
class RenderPartial < RenderNormalizer
|
6
|
-
register "render_partial.action_view"
|
7
|
-
|
8
|
-
CAT = "view.render.template".freeze
|
9
|
-
|
10
|
-
# @param trace [Skylight::Messages::Trace::Builder] ignored, only present to match API
|
11
|
-
# @param name [String] ignored, only present to match API
|
12
|
-
# @param payload (see RenderNormalizer#normalize_render)
|
13
|
-
# @option payload (see RenderNormalizer#normalize_render)
|
14
|
-
# @return (see RenderNormalizer#normalize_render)
|
15
|
-
def normalize(trace, name, payload)
|
16
|
-
normalize_render(CAT, payload)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
module Skylight
|
2
|
-
module Normalizers
|
3
|
-
module ActionView
|
4
|
-
# Normalizer for Rails template rendering
|
5
|
-
class RenderTemplate < RenderNormalizer
|
6
|
-
register "render_template.action_view"
|
7
|
-
|
8
|
-
CAT = "view.render.template".freeze
|
9
|
-
|
10
|
-
# @param trace [Skylight::Messages::Trace::Builder] ignored, only present to match API
|
11
|
-
# @param name [String] ignored, only present to match API
|
12
|
-
# @param payload (see RenderNormalizer#normalize_render)
|
13
|
-
# @option payload (see RenderNormalizer#normalize_render)
|
14
|
-
# @return (see RenderNormalizer#normalize_render)
|
15
|
-
def normalize(trace, name, payload)
|
16
|
-
normalize_render(CAT, payload)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
module Skylight
|
2
|
-
module Normalizers
|
3
|
-
module ActiveModelSerializers
|
4
|
-
class Render < Normalizer
|
5
|
-
register "render.active_model_serializers"
|
6
|
-
|
7
|
-
CAT = "view.render.active_model_serializers".freeze
|
8
|
-
|
9
|
-
def normalize(trace, name, payload)
|
10
|
-
serializer_class = payload[:serializer]
|
11
|
-
|
12
|
-
title = serializer_class.name.sub(/^ActiveModel::(Serializer::)?/, '')
|
13
|
-
|
14
|
-
if adapter_instance = payload[:adapter]
|
15
|
-
adapter_name = adapter_instance.class.name
|
16
|
-
.sub(/^ActiveModel::Serializer::Adapter::/, '')
|
17
|
-
.sub(/^ActiveModelSerializers::Adapter::/, '')
|
18
|
-
desc = "Adapter: #{adapter_name}"
|
19
|
-
end
|
20
|
-
|
21
|
-
[ CAT, title, desc ]
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
module Skylight
|
2
|
-
module Normalizers
|
3
|
-
module ActiveRecord
|
4
|
-
class Instantiation < Normalizer
|
5
|
-
register "instantiation.active_record"
|
6
|
-
|
7
|
-
CAT = "db.active_record.instantiation".freeze
|
8
|
-
|
9
|
-
def normalize(trace, name, payload)
|
10
|
-
# Payload also includes `:record_count` but this will be variable
|
11
|
-
[ CAT, "#{payload[:class_name]} Instantiation", nil]
|
12
|
-
end
|
13
|
-
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,55 +0,0 @@
|
|
1
|
-
require "json"
|
2
|
-
|
3
|
-
module Skylight
|
4
|
-
module Normalizers
|
5
|
-
module ActiveRecord
|
6
|
-
# Normalizer for SQL requests
|
7
|
-
class SQL < Normalizer
|
8
|
-
register "sql.active_record"
|
9
|
-
register "sql.sequel"
|
10
|
-
register "sql.data_mapper"
|
11
|
-
|
12
|
-
CAT = "db.sql.query".freeze
|
13
|
-
|
14
|
-
# @param trace [Skylight::Messages::Trace::Builder] ignored, only present to match API
|
15
|
-
# @param name [String] ignored, only present to match API
|
16
|
-
# @param payload [Hash]
|
17
|
-
# @option payload [String] [:name] The SQL operation
|
18
|
-
# @option payload [Hash] [:binds] The bound parameters
|
19
|
-
# @return [Array]
|
20
|
-
def normalize(trace, name, payload)
|
21
|
-
case payload[:name]
|
22
|
-
when "SCHEMA".freeze, "CACHE".freeze
|
23
|
-
return :skip
|
24
|
-
else
|
25
|
-
name = CAT
|
26
|
-
title = payload[:name] || "SQL".freeze
|
27
|
-
end
|
28
|
-
|
29
|
-
binds = payload[:binds]
|
30
|
-
|
31
|
-
if binds && !binds.empty?
|
32
|
-
binds = binds.map { |col, val| val.inspect }
|
33
|
-
end
|
34
|
-
|
35
|
-
begin
|
36
|
-
extracted_title, sql = extract_binds(payload, binds)
|
37
|
-
[ name, extracted_title || title, sql ]
|
38
|
-
rescue => e
|
39
|
-
# FIXME: Rust errors get written to STDERR and don't come through here
|
40
|
-
if config[:log_sql_parse_errors]
|
41
|
-
config.logger.warn "failed to extract binds in SQL; sql=#{payload[:sql].inspect}; exception=#{e.inspect}"
|
42
|
-
end
|
43
|
-
[ name, title, nil ]
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
private
|
48
|
-
|
49
|
-
def extract_binds(payload, precalculated)
|
50
|
-
Skylight.lex_sql(payload[:sql])
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
@@ -1,51 +0,0 @@
|
|
1
|
-
module Skylight
|
2
|
-
module Normalizers
|
3
|
-
module ActiveSupport
|
4
|
-
# NOTE: Instrumentation may not be turned on by default and is possibly buggy
|
5
|
-
# https://github.com/mperham/dalli/pull/284
|
6
|
-
class Cache < Normalizer
|
7
|
-
%w(clear
|
8
|
-
decrement
|
9
|
-
delete
|
10
|
-
exist
|
11
|
-
fetch_hit
|
12
|
-
generate
|
13
|
-
increment
|
14
|
-
read
|
15
|
-
read_multi
|
16
|
-
write).each do |type|
|
17
|
-
require "skylight/normalizers/active_support/cache_#{type}"
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
# See https://github.com/rails/rails/pull/15943
|
25
|
-
if defined?(ActiveSupport::Cache::Store.instrument)
|
26
|
-
deprecated = false
|
27
|
-
|
28
|
-
# If it's deprecated, setting to false will cause a deprecation warning
|
29
|
-
# and the value will remain true
|
30
|
-
ActiveSupport::Deprecation.silence do
|
31
|
-
ActiveSupport::Cache::Store.instrument = false
|
32
|
-
deprecated = ActiveSupport::Cache::Store.instrument
|
33
|
-
end
|
34
|
-
|
35
|
-
unless deprecated
|
36
|
-
# @api private
|
37
|
-
class ActiveSupport::Cache::Store
|
38
|
-
def self.instrument
|
39
|
-
true
|
40
|
-
end
|
41
|
-
|
42
|
-
def self.instrument=(val)
|
43
|
-
unless val
|
44
|
-
Rails.logger.warn "[WARNING] Skylight has patched ActiveSupport::Cache::Store.instrument to always be true. " \
|
45
|
-
"In future versions of Rails, this method will no longer be settable. " \
|
46
|
-
"See https://github.com/rails/rails/pull/15943 for more information."
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module Skylight
|
2
|
-
module Normalizers
|
3
|
-
module ActiveSupport
|
4
|
-
class CacheClear < Cache
|
5
|
-
register "cache_clear.active_support"
|
6
|
-
|
7
|
-
CAT = "app.cache.clear".freeze
|
8
|
-
TITLE = "cache clear".freeze
|
9
|
-
|
10
|
-
def normalize(trace, name, payload)
|
11
|
-
[ CAT, TITLE, nil ]
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module Skylight
|
2
|
-
module Normalizers
|
3
|
-
module ActiveSupport
|
4
|
-
class CacheDecrement < Cache
|
5
|
-
register "cache_decrement.active_support"
|
6
|
-
|
7
|
-
CAT = "app.cache.decrement".freeze
|
8
|
-
TITLE = "cache decrement"
|
9
|
-
|
10
|
-
def normalize(trace, name, payload)
|
11
|
-
[ CAT, TITLE, nil ]
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module Skylight
|
2
|
-
module Normalizers
|
3
|
-
module ActiveSupport
|
4
|
-
class CacheDelete < Cache
|
5
|
-
register "cache_delete.active_support"
|
6
|
-
|
7
|
-
CAT = "app.cache.delete".freeze
|
8
|
-
TITLE = "cache delete"
|
9
|
-
|
10
|
-
def normalize(trace, name, payload)
|
11
|
-
[ CAT, TITLE, nil ]
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module Skylight
|
2
|
-
module Normalizers
|
3
|
-
module ActiveSupport
|
4
|
-
class CacheExist < Cache
|
5
|
-
register "cache_exist?.active_support"
|
6
|
-
|
7
|
-
CAT = "app.cache.exist".freeze
|
8
|
-
TITLE = "cache exist?"
|
9
|
-
|
10
|
-
def normalize(trace, name, payload)
|
11
|
-
[ CAT, TITLE, nil ]
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module Skylight
|
2
|
-
module Normalizers
|
3
|
-
module ActiveSupport
|
4
|
-
class CacheFetchHit < Cache
|
5
|
-
register "cache_fetch_hit.active_support"
|
6
|
-
|
7
|
-
CAT = "app.cache.fetch_hit".freeze
|
8
|
-
TITLE = "cache fetch hit"
|
9
|
-
|
10
|
-
def normalize(trace, name, payload)
|
11
|
-
[ CAT, TITLE, nil ]
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module Skylight
|
2
|
-
module Normalizers
|
3
|
-
module ActiveSupport
|
4
|
-
class CacheGenerate < Cache
|
5
|
-
register "cache_generate.active_support"
|
6
|
-
|
7
|
-
CAT = "app.cache.generate".freeze
|
8
|
-
TITLE = "cache generate"
|
9
|
-
|
10
|
-
def normalize(trace, name, payload)
|
11
|
-
[ CAT, TITLE, nil ]
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module Skylight
|
2
|
-
module Normalizers
|
3
|
-
module ActiveSupport
|
4
|
-
class CacheIncrement < Cache
|
5
|
-
register "cache_increment.active_support"
|
6
|
-
|
7
|
-
CAT = "app.cache.increment".freeze
|
8
|
-
TITLE = "cache increment"
|
9
|
-
|
10
|
-
def normalize(trace, name, payload)
|
11
|
-
[ CAT, TITLE, nil ]
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module Skylight
|
2
|
-
module Normalizers
|
3
|
-
module ActiveSupport
|
4
|
-
class CacheRead < Cache
|
5
|
-
register "cache_read.active_support"
|
6
|
-
|
7
|
-
CAT = "app.cache.read".freeze
|
8
|
-
TITLE = "cache read"
|
9
|
-
|
10
|
-
def normalize(trace, name, payload)
|
11
|
-
[ CAT, TITLE, nil ]
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module Skylight
|
2
|
-
module Normalizers
|
3
|
-
module ActiveSupport
|
4
|
-
class CacheReadMulti < Cache
|
5
|
-
register "cache_read_multi.active_support"
|
6
|
-
|
7
|
-
CAT = "app.cache.read_multi".freeze
|
8
|
-
TITLE = "cache read multi"
|
9
|
-
|
10
|
-
def normalize(trace, name, payload)
|
11
|
-
[ CAT, TITLE, nil ]
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module Skylight
|
2
|
-
module Normalizers
|
3
|
-
module ActiveSupport
|
4
|
-
class CacheWrite < Cache
|
5
|
-
register "cache_write.active_support"
|
6
|
-
|
7
|
-
CAT = "app.cache.write".freeze
|
8
|
-
TITLE = "cache write"
|
9
|
-
|
10
|
-
def normalize(trace, name, payload)
|
11
|
-
[ CAT, TITLE, nil ]
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,36 +0,0 @@
|
|
1
|
-
module Skylight
|
2
|
-
module Normalizers
|
3
|
-
module Coach
|
4
|
-
class HandlerFinish < Normalizer
|
5
|
-
register "coach.handler.finish"
|
6
|
-
|
7
|
-
CAT = "app.coach.handler".freeze
|
8
|
-
|
9
|
-
# See information on the events Coach emits here:
|
10
|
-
# https://github.com/gocardless/coach#instrumentation
|
11
|
-
|
12
|
-
# Run when the handler first starts, we need to set the trace endpoint to be the
|
13
|
-
# handler name.
|
14
|
-
#
|
15
|
-
# We can expect the payload to have the :middleware key.
|
16
|
-
def normalize(trace, name, payload)
|
17
|
-
trace.endpoint = payload[:middleware]
|
18
|
-
[ CAT, payload[:middleware], nil ]
|
19
|
-
end
|
20
|
-
|
21
|
-
def normalize_after(trace, span, name, payload)
|
22
|
-
return unless config.enable_segments?
|
23
|
-
|
24
|
-
segments = []
|
25
|
-
|
26
|
-
response_status = payload.fetch(:response, {}).fetch(:status, '').to_s
|
27
|
-
segments << "error" if response_status.start_with?('4', '5')
|
28
|
-
|
29
|
-
if segments.any?
|
30
|
-
trace.endpoint += "<sk-segment>#{segments.join("+")}</sk-segment>"
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
module Skylight
|
2
|
-
module Normalizers
|
3
|
-
module Coach
|
4
|
-
class MiddlewareFinish < Normalizer
|
5
|
-
register "coach.middleware.finish"
|
6
|
-
|
7
|
-
CAT = "app.coach.middleware".freeze
|
8
|
-
|
9
|
-
# See information on the events Coach emits here:
|
10
|
-
# https://github.com/gocardless/coach#instrumentation
|
11
|
-
|
12
|
-
# Called whenever a new middleware is executed. We can expect this to happen
|
13
|
-
# within a Coach::Handler.
|
14
|
-
#
|
15
|
-
# We can expect the payload to have the :middleware key.
|
16
|
-
def normalize(trace, name, payload)
|
17
|
-
trace.endpoint = payload[:middleware]
|
18
|
-
[ CAT, payload[:middleware], nil ]
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|