debugbundle 1.4.0 → 1.5.0
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/README.md +7 -1
- data/lib/debugbundle/client.rb +12 -4
- data/lib/debugbundle/client_event_support.rb +27 -2
- data/lib/debugbundle/logging.rb +30 -16
- data/lib/debugbundle/rack/middleware.rb +13 -3
- data/lib/debugbundle/relay/handler.rb +9 -1
- data/lib/debugbundle/telemetry_privacy.rb +194 -0
- data/lib/debugbundle/version.rb +1 -1
- data/lib/debugbundle.rb +1 -0
- metadata +3 -23
- data/Gemfile +0 -17
- data/Makefile +0 -52
- data/debugbundle.gemspec +0 -30
- data/spec/before_send_spec.rb +0 -74
- data/spec/client_spec.rb +0 -432
- data/spec/debugbundle_spec.rb +0 -54
- data/spec/file_transport_spec.rb +0 -54
- data/spec/fixtures/event-envelope.schema.json +0 -142
- data/spec/logger_integration_spec.rb +0 -118
- data/spec/rack_integration_spec.rb +0 -44
- data/spec/rack_middleware_spec.rb +0 -210
- data/spec/rails_railtie_spec.rb +0 -96
- data/spec/rails_relay_spec.rb +0 -121
- data/spec/redaction_spec.rb +0 -42
- data/spec/relay_spec.rb +0 -274
- data/spec/remote_config_spec.rb +0 -80
- data/spec/repository_metadata_spec.rb +0 -65
- data/spec/sidekiq_integration_spec.rb +0 -66
- data/spec/sidekiq_middleware_spec.rb +0 -50
- data/spec/spec_helper.rb +0 -23
- data/spec/suppression_spec.rb +0 -16
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'spec_helper'
|
|
4
|
-
|
|
5
|
-
RSpec.describe DebugBundle::Sidekiq::ServerMiddleware do
|
|
6
|
-
let(:transport_events) { [] }
|
|
7
|
-
let(:transport) do
|
|
8
|
-
Class.new do
|
|
9
|
-
define_method(:initialize) do |transport_events|
|
|
10
|
-
@transport_events = transport_events
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
define_method(:call) do |request|
|
|
14
|
-
@transport_events << request
|
|
15
|
-
DebugBundle::Transport::Result.new(status_code: 202)
|
|
16
|
-
end
|
|
17
|
-
end.new(transport_events)
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
it 'captures job exceptions and preserves retries by re-raising' do
|
|
21
|
-
client = DebugBundle::Client.new(project_token: 'dbundle_proj_test', transport: transport)
|
|
22
|
-
middleware = described_class.new(client: client)
|
|
23
|
-
job = {
|
|
24
|
-
'class' => 'CheckoutWorker',
|
|
25
|
-
'queue' => 'critical',
|
|
26
|
-
'jid' => 'jid-1',
|
|
27
|
-
'retry_count' => 2,
|
|
28
|
-
'args' => [123, { 'charge_id' => 'ch_1' }],
|
|
29
|
-
'trace_id' => 'trace-job-1'
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
expect do
|
|
33
|
-
middleware.call(Object.new, job, 'critical') do
|
|
34
|
-
raise 'worker failed'
|
|
35
|
-
end
|
|
36
|
-
end.to raise_error(RuntimeError, 'worker failed')
|
|
37
|
-
|
|
38
|
-
client.flush
|
|
39
|
-
event = transport_events.fetch(0).fetch(:events).fetch(0)
|
|
40
|
-
|
|
41
|
-
expect(event.fetch('event_type')).to eq('backend_exception')
|
|
42
|
-
expect(event.fetch('correlation')).to include('trace_id' => 'trace-job-1')
|
|
43
|
-
expect(event.fetch('context').fetch('job')).to include(
|
|
44
|
-
'class' => 'CheckoutWorker',
|
|
45
|
-
'queue' => 'critical',
|
|
46
|
-
'jid' => 'jid-1',
|
|
47
|
-
'retry_count' => 2
|
|
48
|
-
)
|
|
49
|
-
end
|
|
50
|
-
end
|
data/spec/spec_helper.rb
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'simplecov'
|
|
4
|
-
|
|
5
|
-
SimpleCov.start do
|
|
6
|
-
add_filter '/spec/'
|
|
7
|
-
|
|
8
|
-
minimum_coverage_threshold = ENV.fetch('SIMPLECOV_MINIMUM_COVERAGE', '80').to_i
|
|
9
|
-
if minimum_coverage_threshold.positive?
|
|
10
|
-
minimum_coverage minimum_coverage_threshold
|
|
11
|
-
minimum_coverage_by_file minimum_coverage_threshold
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
require 'debugbundle'
|
|
16
|
-
|
|
17
|
-
RSpec.configure do |config|
|
|
18
|
-
config.disable_monkey_patching!
|
|
19
|
-
config.example_status_persistence_file_path = '.rspec_status'
|
|
20
|
-
config.expect_with :rspec do |expectations|
|
|
21
|
-
expectations.syntax = :expect
|
|
22
|
-
end
|
|
23
|
-
end
|
data/spec/suppression_spec.rb
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'spec_helper'
|
|
4
|
-
|
|
5
|
-
RSpec.describe DebugBundle::Suppression::Tracker do
|
|
6
|
-
it 'allows the first three identical events and then suppresses' do
|
|
7
|
-
tracker = described_class.new
|
|
8
|
-
|
|
9
|
-
captures = 5.times.map { |index| tracker.should_capture('same-error', now: index.to_f) }
|
|
10
|
-
aggregates = tracker.drain_aggregates(now: 5.0)
|
|
11
|
-
|
|
12
|
-
expect(captures).to eq([true, true, true, false, false])
|
|
13
|
-
expect(aggregates.length).to eq(1)
|
|
14
|
-
expect(aggregates.fetch(0)).to include('suppressed_count' => 2)
|
|
15
|
-
end
|
|
16
|
-
end
|