sentry-ruby 5.13.0 → 5.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -18
  3. data/README.md +20 -10
  4. data/Rakefile +1 -1
  5. data/bin/console +1 -0
  6. data/lib/sentry/attachment.rb +42 -0
  7. data/lib/sentry/background_worker.rb +9 -2
  8. data/lib/sentry/backpressure_monitor.rb +45 -0
  9. data/lib/sentry/backtrace.rb +7 -3
  10. data/lib/sentry/check_in_event.rb +1 -1
  11. data/lib/sentry/client.rb +69 -16
  12. data/lib/sentry/configuration.rb +57 -14
  13. data/lib/sentry/cron/configuration.rb +23 -0
  14. data/lib/sentry/cron/monitor_check_ins.rb +40 -26
  15. data/lib/sentry/cron/monitor_schedule.rb +1 -1
  16. data/lib/sentry/dsn.rb +1 -1
  17. data/lib/sentry/envelope.rb +18 -1
  18. data/lib/sentry/error_event.rb +2 -2
  19. data/lib/sentry/event.rb +13 -39
  20. data/lib/sentry/faraday.rb +77 -0
  21. data/lib/sentry/graphql.rb +9 -0
  22. data/lib/sentry/hub.rb +17 -4
  23. data/lib/sentry/integrable.rb +4 -0
  24. data/lib/sentry/interface.rb +1 -0
  25. data/lib/sentry/interfaces/exception.rb +5 -3
  26. data/lib/sentry/interfaces/mechanism.rb +20 -0
  27. data/lib/sentry/interfaces/request.rb +2 -2
  28. data/lib/sentry/interfaces/single_exception.rb +7 -4
  29. data/lib/sentry/interfaces/stacktrace_builder.rb +8 -0
  30. data/lib/sentry/metrics/aggregator.rb +248 -0
  31. data/lib/sentry/metrics/configuration.rb +47 -0
  32. data/lib/sentry/metrics/counter_metric.rb +25 -0
  33. data/lib/sentry/metrics/distribution_metric.rb +25 -0
  34. data/lib/sentry/metrics/gauge_metric.rb +35 -0
  35. data/lib/sentry/metrics/local_aggregator.rb +53 -0
  36. data/lib/sentry/metrics/metric.rb +19 -0
  37. data/lib/sentry/metrics/set_metric.rb +28 -0
  38. data/lib/sentry/metrics/timing.rb +43 -0
  39. data/lib/sentry/metrics.rb +56 -0
  40. data/lib/sentry/net/http.rb +22 -39
  41. data/lib/sentry/propagation_context.rb +9 -8
  42. data/lib/sentry/puma.rb +1 -1
  43. data/lib/sentry/rack/capture_exceptions.rb +14 -2
  44. data/lib/sentry/rake.rb +3 -14
  45. data/lib/sentry/redis.rb +2 -1
  46. data/lib/sentry/release_detector.rb +1 -1
  47. data/lib/sentry/scope.rb +47 -37
  48. data/lib/sentry/session.rb +2 -2
  49. data/lib/sentry/session_flusher.rb +6 -38
  50. data/lib/sentry/span.rb +40 -5
  51. data/lib/sentry/test_helper.rb +2 -1
  52. data/lib/sentry/threaded_periodic_worker.rb +39 -0
  53. data/lib/sentry/transaction.rb +25 -16
  54. data/lib/sentry/transaction_event.rb +5 -0
  55. data/lib/sentry/transport/configuration.rb +73 -1
  56. data/lib/sentry/transport/http_transport.rb +68 -37
  57. data/lib/sentry/transport/spotlight_transport.rb +50 -0
  58. data/lib/sentry/transport.rb +32 -37
  59. data/lib/sentry/utils/argument_checking_helper.rb +6 -0
  60. data/lib/sentry/utils/http_tracing.rb +41 -0
  61. data/lib/sentry/utils/logging_helper.rb +0 -4
  62. data/lib/sentry/utils/real_ip.rb +1 -1
  63. data/lib/sentry/utils/request_id.rb +1 -1
  64. data/lib/sentry/version.rb +1 -1
  65. data/lib/sentry-ruby.rb +57 -24
  66. data/sentry-ruby.gemspec +12 -5
  67. metadata +42 -7
data/sentry-ruby.gemspec CHANGED
@@ -7,18 +7,25 @@ Gem::Specification.new do |spec|
7
7
  spec.description = spec.summary = "A gem that provides a client interface for the Sentry error logger"
8
8
  spec.email = "accounts@sentry.io"
9
9
  spec.license = 'MIT'
10
- spec.homepage = "https://github.com/getsentry/sentry-ruby"
11
10
 
12
11
  spec.platform = Gem::Platform::RUBY
13
12
  spec.required_ruby_version = '>= 2.4'
14
13
  spec.extra_rdoc_files = ["README.md", "LICENSE.txt"]
15
14
  spec.files = `git ls-files | grep -Ev '^(spec|benchmarks|examples)'`.split("\n")
16
15
 
17
- spec.metadata["homepage_uri"] = spec.homepage
18
- spec.metadata["source_code_uri"] = spec.homepage
19
- spec.metadata["changelog_uri"] = "#{spec.homepage}/blob/master/CHANGELOG.md"
16
+ github_root_uri = 'https://github.com/getsentry/sentry-ruby'
17
+ spec.homepage = "#{github_root_uri}/tree/#{spec.version}/#{spec.name}"
18
+
19
+ spec.metadata = {
20
+ "homepage_uri" => spec.homepage,
21
+ "source_code_uri" => spec.homepage,
22
+ "changelog_uri" => "#{github_root_uri}/blob/#{spec.version}/CHANGELOG.md",
23
+ "bug_tracker_uri" => "#{github_root_uri}/issues",
24
+ "documentation_uri" => "http://www.rubydoc.info/gems/#{spec.name}/#{spec.version}"
25
+ }
20
26
 
21
27
  spec.require_paths = ["lib"]
22
28
 
23
- spec.add_dependency "concurrent-ruby", '~> 1.0', '>= 1.0.2'
29
+ spec.add_dependency "concurrent-ruby", "~> 1.0", ">= 1.0.2"
30
+ spec.add_dependency "bigdecimal"
24
31
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sentry-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.13.0
4
+ version: 5.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sentry Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-09 00:00:00.000000000 Z
11
+ date: 2024-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -30,6 +30,20 @@ dependencies:
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
32
  version: 1.0.2
33
+ - !ruby/object:Gem::Dependency
34
+ name: bigdecimal
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
33
47
  description: A gem that provides a client interface for the Sentry error logger
34
48
  email: accounts@sentry.io
35
49
  executables: []
@@ -50,7 +64,9 @@ files:
50
64
  - bin/console
51
65
  - bin/setup
52
66
  - lib/sentry-ruby.rb
67
+ - lib/sentry/attachment.rb
53
68
  - lib/sentry/background_worker.rb
69
+ - lib/sentry/backpressure_monitor.rb
54
70
  - lib/sentry/backtrace.rb
55
71
  - lib/sentry/baggage.rb
56
72
  - lib/sentry/breadcrumb.rb
@@ -61,6 +77,7 @@ files:
61
77
  - lib/sentry/configuration.rb
62
78
  - lib/sentry/core_ext/object/deep_dup.rb
63
79
  - lib/sentry/core_ext/object/duplicable.rb
80
+ - lib/sentry/cron/configuration.rb
64
81
  - lib/sentry/cron/monitor_check_ins.rb
65
82
  - lib/sentry/cron/monitor_config.rb
66
83
  - lib/sentry/cron/monitor_schedule.rb
@@ -69,10 +86,13 @@ files:
69
86
  - lib/sentry/error_event.rb
70
87
  - lib/sentry/event.rb
71
88
  - lib/sentry/exceptions.rb
89
+ - lib/sentry/faraday.rb
90
+ - lib/sentry/graphql.rb
72
91
  - lib/sentry/hub.rb
73
92
  - lib/sentry/integrable.rb
74
93
  - lib/sentry/interface.rb
75
94
  - lib/sentry/interfaces/exception.rb
95
+ - lib/sentry/interfaces/mechanism.rb
76
96
  - lib/sentry/interfaces/request.rb
77
97
  - lib/sentry/interfaces/single_exception.rb
78
98
  - lib/sentry/interfaces/stacktrace.rb
@@ -80,6 +100,16 @@ files:
80
100
  - lib/sentry/interfaces/threads.rb
81
101
  - lib/sentry/linecache.rb
82
102
  - lib/sentry/logger.rb
103
+ - lib/sentry/metrics.rb
104
+ - lib/sentry/metrics/aggregator.rb
105
+ - lib/sentry/metrics/configuration.rb
106
+ - lib/sentry/metrics/counter_metric.rb
107
+ - lib/sentry/metrics/distribution_metric.rb
108
+ - lib/sentry/metrics/gauge_metric.rb
109
+ - lib/sentry/metrics/local_aggregator.rb
110
+ - lib/sentry/metrics/metric.rb
111
+ - lib/sentry/metrics/set_metric.rb
112
+ - lib/sentry/metrics/timing.rb
83
113
  - lib/sentry/net/http.rb
84
114
  - lib/sentry/profiler.rb
85
115
  - lib/sentry/propagation_context.rb
@@ -94,29 +124,34 @@ files:
94
124
  - lib/sentry/session_flusher.rb
95
125
  - lib/sentry/span.rb
96
126
  - lib/sentry/test_helper.rb
127
+ - lib/sentry/threaded_periodic_worker.rb
97
128
  - lib/sentry/transaction.rb
98
129
  - lib/sentry/transaction_event.rb
99
130
  - lib/sentry/transport.rb
100
131
  - lib/sentry/transport/configuration.rb
101
132
  - lib/sentry/transport/dummy_transport.rb
102
133
  - lib/sentry/transport/http_transport.rb
134
+ - lib/sentry/transport/spotlight_transport.rb
103
135
  - lib/sentry/utils/argument_checking_helper.rb
104
136
  - lib/sentry/utils/custom_inspection.rb
105
137
  - lib/sentry/utils/encoding_helper.rb
106
138
  - lib/sentry/utils/exception_cause_chain.rb
139
+ - lib/sentry/utils/http_tracing.rb
107
140
  - lib/sentry/utils/logging_helper.rb
108
141
  - lib/sentry/utils/real_ip.rb
109
142
  - lib/sentry/utils/request_id.rb
110
143
  - lib/sentry/version.rb
111
144
  - sentry-ruby-core.gemspec
112
145
  - sentry-ruby.gemspec
113
- homepage: https://github.com/getsentry/sentry-ruby
146
+ homepage: https://github.com/getsentry/sentry-ruby/tree/5.19.0/sentry-ruby
114
147
  licenses:
115
148
  - MIT
116
149
  metadata:
117
- homepage_uri: https://github.com/getsentry/sentry-ruby
118
- source_code_uri: https://github.com/getsentry/sentry-ruby
119
- changelog_uri: https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md
150
+ homepage_uri: https://github.com/getsentry/sentry-ruby/tree/5.19.0/sentry-ruby
151
+ source_code_uri: https://github.com/getsentry/sentry-ruby/tree/5.19.0/sentry-ruby
152
+ changelog_uri: https://github.com/getsentry/sentry-ruby/blob/5.19.0/CHANGELOG.md
153
+ bug_tracker_uri: https://github.com/getsentry/sentry-ruby/issues
154
+ documentation_uri: http://www.rubydoc.info/gems/sentry-ruby/5.19.0
120
155
  post_install_message:
121
156
  rdoc_options: []
122
157
  require_paths:
@@ -132,7 +167,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
132
167
  - !ruby/object:Gem::Version
133
168
  version: '0'
134
169
  requirements: []
135
- rubygems_version: 3.1.6
170
+ rubygems_version: 3.5.11
136
171
  signing_key:
137
172
  specification_version: 4
138
173
  summary: A gem that provides a client interface for the Sentry error logger