skylight-core 3.1.0.beta → 3.1.0.beta2

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: e728cb584714e19aa0ccdc0922ac399c52e59b580033094eff49a478589da1fa
4
- data.tar.gz: d0e4c19a788911437dd92e89a9161c00462aab63815490ea2818ae4c821e3e46
3
+ metadata.gz: 59e92f03b6e19af50c182dee290299e10b4bb05225aec38c918512542e3152e3
4
+ data.tar.gz: 76b0193a7075b9a1e7ff8c4999bd9c554801c83b6a7eeeb8508c70deebbdaf24
5
5
  SHA512:
6
- metadata.gz: f4489f1a54319bc0cdc05048d38b0f96e54caacce381893f16e8b3dcf55a043a8e4e0f65b6b65a53cf2509181fbe50f86d81870a43ec122b18a79acbe6ae42b6
7
- data.tar.gz: b29c30f1beff1a30702513955ebcfc711acbb6677786f2eb28072845593f2824fee3a14ab8490f0c4d86f048bdc8b9ea7348b9c81e66aa5e39b0f20d64bf8f2b
6
+ metadata.gz: cca82836c6ee0aae77e9959db514f266e3ed608909c71ada1135c62d4e8caf2f8ce246d4e7b673838f63978fe85ecf3dbb1d8e249185de646a1102be9ed67f32
7
+ data.tar.gz: 282bb8f0efb7ec70d81f74916ed0b9213258f1a4e819e35b3065eebe5cdc4f58f2b93365f9e61b63626c4094cb8653c5feb3e4bb5635be511cd720ef409bf065
@@ -0,0 +1,35 @@
1
+ module Skylight::Core
2
+ module Normalizers
3
+ module ActiveJob
4
+ class Perform < Normalizer
5
+ register "perform.active_job"
6
+
7
+ CAT = "app.job.perform".freeze
8
+
9
+ def normalize(trace, _name, payload)
10
+ title = "#{payload[:job].class}"
11
+ adapter_name = normalize_adapter_name(payload[:adapter])
12
+ desc = "{ adapter: '#{adapter_name}', queue: '#{payload[:job].queue_name}' }"
13
+
14
+ trace.endpoint = title
15
+
16
+ [ CAT, title, desc ]
17
+ end
18
+
19
+ def normalize_after(trace, _span, _name, payload)
20
+ return unless config.enable_segments?
21
+ trace.endpoint += "<sk-segment>#{payload[:job].queue_name}</sk-segment>"
22
+ end
23
+
24
+ private
25
+
26
+ def normalize_adapter_name(adapter)
27
+ adapter_string = adapter.is_a?(Class) ? adapter.to_s : adapter.class.to_s
28
+ adapter_string[/ActiveJob::QueueAdapters::(\w+)Adapter/, 1].underscore
29
+ rescue
30
+ 'active_job'
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -99,6 +99,7 @@ module Skylight::Core
99
99
  action_view/render_collection
100
100
  action_view/render_partial
101
101
  action_view/render_template
102
+ active_job/perform
102
103
  active_model_serializers/render
103
104
  active_record/instantiation
104
105
  active_record/sql
@@ -0,0 +1,21 @@
1
+ module Skylight::Core
2
+ module Probes
3
+ module ActiveJob
4
+ class Probe
5
+ def install
6
+ ::ActiveJob::Base.instance_eval do
7
+ alias execute_without_sk execute
8
+
9
+ def execute(*args)
10
+ Skylight.trace('ActiveJob.execute', 'app.job.execute') do
11
+ execute_without_sk(*args)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+
19
+ register(:active_job, "ActiveJob::Base", "active_job/base", ActiveJob::Probe.new)
20
+ end
21
+ end
@@ -12,7 +12,7 @@ module Skylight::Core
12
12
  class Subscriber
13
13
  include Util::Logging
14
14
 
15
- COMMANDS = [:insert, :find, :count, :distinct, :update, :findandmodify, :delete].freeze
15
+ COMMANDS = [:insert, :find, :count, :distinct, :update, :findandmodify, :delete, :aggregate].freeze
16
16
 
17
17
  COMMAND_NAMES = {
18
18
  findandmodify: 'findAndModify'.freeze
@@ -108,6 +108,9 @@ module Skylight::Core
108
108
  end
109
109
  end
110
110
 
111
+ if (pipeline = command['pipeline'.freeze])
112
+ payload['pipeline'.freeze] = pipeline.map { |segment| extract_binds(segment) }
113
+ end
111
114
 
112
115
  # We're ignoring documents from insert because they could have completely inconsistent
113
116
  # format which would make it hard to merge.
@@ -168,4 +171,4 @@ module Skylight::Core
168
171
 
169
172
  register(:mongo, "Mongo", "mongo", Mongo::Probe.new)
170
173
  end
171
- end
174
+ end
@@ -23,7 +23,7 @@ module Skylight
23
23
  t { "Sidekiq middleware beginning trace" }
24
24
  job_class = job['wrapped'] || job['class']
25
25
  title = "#{job_class}#perform"
26
- segment = queue != 'default' ? "<sk-segment>#{queue}</sk-segment>" : ""
26
+ segment = "<sk-segment>#{queue}</sk-segment>"
27
27
  @instrumentable.trace("#{title}#{segment}", 'app.sidekiq.worker', title) do
28
28
  yield
29
29
  end
@@ -1,6 +1,6 @@
1
1
  module Skylight
2
2
  module Core
3
- VERSION = '3.1.0-beta'
3
+ VERSION = '3.1.0-beta2'
4
4
  end
5
5
  end
6
6
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: skylight-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0.beta
4
+ version: 3.1.0.beta2
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-09-14 00:00:00.000000000 Z
11
+ date: 2018-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -173,6 +173,7 @@ files:
173
173
  - lib/skylight/core/normalizers/action_view/render_collection.rb
174
174
  - lib/skylight/core/normalizers/action_view/render_partial.rb
175
175
  - lib/skylight/core/normalizers/action_view/render_template.rb
176
+ - lib/skylight/core/normalizers/active_job/perform.rb
176
177
  - lib/skylight/core/normalizers/active_model_serializers/render.rb
177
178
  - lib/skylight/core/normalizers/active_record/instantiation.rb
178
179
  - lib/skylight/core/normalizers/active_record/sql.rb
@@ -208,6 +209,7 @@ files:
208
209
  - lib/skylight/core/probes/action_dispatch/request_id.rb
209
210
  - lib/skylight/core/probes/action_dispatch/routing/route_set.rb
210
211
  - lib/skylight/core/probes/action_view.rb
212
+ - lib/skylight/core/probes/active_job.rb
211
213
  - lib/skylight/core/probes/active_job_enqueue.rb
212
214
  - lib/skylight/core/probes/active_model_serializers.rb
213
215
  - lib/skylight/core/probes/elasticsearch.rb