trifle-traces 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e70e8771d1d11a1b52b2d7bc059d05f6e6082f876f1e5b28440d914e91acf789
4
- data.tar.gz: 4ec2c1d3ed119b40166e7129e35f0ad70f5b9d5dab5a4cc20095f7265f3e2dc3
3
+ metadata.gz: 91b9354c649b9cc57c68deb507c3118a64f07b5de873ad896084cc5937194797
4
+ data.tar.gz: 6aed57bedb884e8e7d4b8e9de5ddff7704cad99f2a84558b85ea250c0e288bb9
5
5
  SHA512:
6
- metadata.gz: 8b9c3a99caecdf88a6d57d08ad4c0429b443122d5fbee1511978e629040805edb6e76599e366577cbb57734f2af163ed60e0029efc6b6726b66b24ec0ab00cbd
7
- data.tar.gz: '02838f426cba718cce2137db2f4ff3de1f2af44a31a73839de9ffe0701199d3fa83563ad98f4ccb73b8b3237776ea5958539d52e85ffe7d76b80b2daadac57cc'
6
+ metadata.gz: bc5a6f0a31b4d791b3310d779abfdeb94ffec8f156339ac793d4dedb927d93a0e86279bf348c8d8ae9aefe43b0bdade208fc16a7d99b598c7f9d1df2fc2ba24d
7
+ data.tar.gz: dbbb9de77e803b57c5145d53399c61e93457d7595d2a8ddad9611928beace209c7df5c27f4c72241f12069e4acf2e70251a697fc32fc31b7b92157d7c139c6ca
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- trifle-traces (1.0.1)
4
+ trifle-traces (1.1.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -3,12 +3,13 @@
3
3
  module Trifle
4
4
  module Traces
5
5
  class Configuration
6
- attr_accessor :tracer_class, :callbacks, :bump_every
6
+ attr_accessor :tracer_class, :callbacks, :bump_every, :serializer_class
7
7
 
8
8
  def initialize
9
9
  @tracer_class = Trifle::Traces::Tracer::Hash
10
+ @serializer_class = Trifle::Traces::Serializer::Inspect
10
11
  @callbacks = { liftoff: [], bump: [], wrapup: [] }
11
- @bump_every = 15.seconds
12
+ @bump_every = 15 # seconds
12
13
  end
13
14
 
14
15
  def on_liftoff(tracer)
@@ -4,6 +4,8 @@ module Trifle
4
4
  module Traces
5
5
  module Middleware
6
6
  class Sidekiq
7
+ include ::Sidekiq::ServerMiddleware if const_defined?('::Sidekiq::ServerMiddleware')
8
+
7
9
  def call(_worker, job, _queue)
8
10
  Trifle::Traces.tracer = tracer_for(job: job)
9
11
  yield
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trifle
4
+ module Traces
5
+ module Serializer
6
+ class Inspect
7
+ def sanitize(payload)
8
+ payload.inspect
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'json'
4
+
5
+ module Trifle
6
+ module Traces
7
+ module Serializer
8
+ class Json
9
+ def sanitize(payload)
10
+ payload.to_json
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Trifle
4
+ module Traces
5
+ module Serializer
6
+ class String
7
+ def sanitize(payload)
8
+ payload.to_s
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -10,6 +10,7 @@ module Trifle
10
10
  @key = key
11
11
  @meta = meta
12
12
  @config = config
13
+ @result_serializer = config.serializer_class.new
13
14
  set_defaults!
14
15
 
15
16
  trace("Tracer has been initialized for #{key}")
@@ -63,7 +64,7 @@ module Trifle
63
64
 
64
65
  def dump_result(result)
65
66
  @data << {
66
- at: now, message: "#{@result_prefix}#{result.inspect}",
67
+ at: now, message: "#{@result_prefix}#{@result_serializer.sanitize(result)}",
67
68
  state: :success, type: :raw
68
69
  }
69
70
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Trifle
4
4
  module Traces
5
- VERSION = '1.0.1'
5
+ VERSION = '1.1.0'
6
6
  end
7
7
  end
data/lib/trifle/traces.rb CHANGED
@@ -3,6 +3,9 @@
3
3
  require 'trifle/traces/configuration'
4
4
  require 'trifle/traces/tracer/hash'
5
5
  require 'trifle/traces/tracer/null'
6
+ require 'trifle/traces/serializer/inspect'
7
+ require 'trifle/traces/serializer/json'
8
+ require 'trifle/traces/serializer/string'
6
9
  require 'trifle/traces/middleware/rack'
7
10
  require 'trifle/traces/middleware/rails_controller'
8
11
  require 'trifle/traces/middleware/sidekiq'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trifle-traces
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jozef Vaclavik
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-11-16 00:00:00.000000000 Z
11
+ date: 2023-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -108,6 +108,9 @@ files:
108
108
  - lib/trifle/traces/middleware/rack.rb
109
109
  - lib/trifle/traces/middleware/rails_controller.rb
110
110
  - lib/trifle/traces/middleware/sidekiq.rb
111
+ - lib/trifle/traces/serializer/inspect.rb
112
+ - lib/trifle/traces/serializer/json.rb
113
+ - lib/trifle/traces/serializer/string.rb
111
114
  - lib/trifle/traces/tracer/hash.rb
112
115
  - lib/trifle/traces/tracer/null.rb
113
116
  - lib/trifle/traces/version.rb