sentry-ruby 5.13.0 → 5.19.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.
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