sentry-ruby 5.16.1 → 5.21.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 (79) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +6 -0
  3. data/README.md +20 -10
  4. data/Rakefile +3 -1
  5. data/bin/console +2 -0
  6. data/lib/sentry/attachment.rb +40 -0
  7. data/lib/sentry/background_worker.rb +1 -1
  8. data/lib/sentry/backpressure_monitor.rb +2 -32
  9. data/lib/sentry/backtrace.rb +10 -8
  10. data/lib/sentry/baggage.rb +7 -7
  11. data/lib/sentry/breadcrumb/sentry_logger.rb +6 -6
  12. data/lib/sentry/check_in_event.rb +5 -5
  13. data/lib/sentry/client.rb +61 -11
  14. data/lib/sentry/configuration.rb +77 -31
  15. data/lib/sentry/core_ext/object/deep_dup.rb +1 -1
  16. data/lib/sentry/cron/monitor_check_ins.rb +3 -1
  17. data/lib/sentry/cron/monitor_config.rb +1 -1
  18. data/lib/sentry/cron/monitor_schedule.rb +1 -1
  19. data/lib/sentry/dsn.rb +4 -4
  20. data/lib/sentry/envelope/item.rb +88 -0
  21. data/lib/sentry/envelope.rb +2 -68
  22. data/lib/sentry/error_event.rb +2 -2
  23. data/lib/sentry/event.rb +20 -18
  24. data/lib/sentry/faraday.rb +77 -0
  25. data/lib/sentry/graphql.rb +9 -0
  26. data/lib/sentry/hub.rb +23 -3
  27. data/lib/sentry/integrable.rb +4 -0
  28. data/lib/sentry/interface.rb +1 -0
  29. data/lib/sentry/interfaces/exception.rb +5 -3
  30. data/lib/sentry/interfaces/mechanism.rb +20 -0
  31. data/lib/sentry/interfaces/request.rb +7 -7
  32. data/lib/sentry/interfaces/single_exception.rb +9 -7
  33. data/lib/sentry/interfaces/stacktrace.rb +3 -1
  34. data/lib/sentry/interfaces/stacktrace_builder.rb +23 -2
  35. data/lib/sentry/logger.rb +1 -1
  36. data/lib/sentry/metrics/aggregator.rb +248 -0
  37. data/lib/sentry/metrics/configuration.rb +47 -0
  38. data/lib/sentry/metrics/counter_metric.rb +25 -0
  39. data/lib/sentry/metrics/distribution_metric.rb +25 -0
  40. data/lib/sentry/metrics/gauge_metric.rb +35 -0
  41. data/lib/sentry/metrics/local_aggregator.rb +53 -0
  42. data/lib/sentry/metrics/metric.rb +19 -0
  43. data/lib/sentry/metrics/set_metric.rb +28 -0
  44. data/lib/sentry/metrics/timing.rb +43 -0
  45. data/lib/sentry/metrics.rb +56 -0
  46. data/lib/sentry/net/http.rb +18 -39
  47. data/lib/sentry/profiler/helpers.rb +46 -0
  48. data/lib/sentry/profiler.rb +25 -56
  49. data/lib/sentry/propagation_context.rb +10 -9
  50. data/lib/sentry/puma.rb +1 -1
  51. data/lib/sentry/rack/capture_exceptions.rb +16 -4
  52. data/lib/sentry/rack.rb +2 -2
  53. data/lib/sentry/rake.rb +4 -2
  54. data/lib/sentry/redis.rb +2 -1
  55. data/lib/sentry/release_detector.rb +4 -4
  56. data/lib/sentry/scope.rb +36 -26
  57. data/lib/sentry/session.rb +2 -2
  58. data/lib/sentry/session_flusher.rb +7 -39
  59. data/lib/sentry/span.rb +46 -5
  60. data/lib/sentry/test_helper.rb +5 -2
  61. data/lib/sentry/threaded_periodic_worker.rb +39 -0
  62. data/lib/sentry/transaction.rb +19 -17
  63. data/lib/sentry/transaction_event.rb +6 -2
  64. data/lib/sentry/transport/configuration.rb +0 -1
  65. data/lib/sentry/transport/http_transport.rb +12 -12
  66. data/lib/sentry/transport.rb +18 -26
  67. data/lib/sentry/utils/argument_checking_helper.rb +6 -0
  68. data/lib/sentry/utils/env_helper.rb +21 -0
  69. data/lib/sentry/utils/http_tracing.rb +41 -0
  70. data/lib/sentry/utils/logging_helper.rb +0 -4
  71. data/lib/sentry/utils/real_ip.rb +2 -2
  72. data/lib/sentry/utils/request_id.rb +1 -1
  73. data/lib/sentry/vernier/output.rb +89 -0
  74. data/lib/sentry/vernier/profiler.rb +125 -0
  75. data/lib/sentry/version.rb +1 -1
  76. data/lib/sentry-ruby.rb +38 -6
  77. data/sentry-ruby-core.gemspec +3 -1
  78. data/sentry-ruby.gemspec +15 -6
  79. metadata +44 -7
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.16.1
4
+ version: 5.21.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: 2024-01-09 00:00:00.000000000 Z
11
+ date: 2024-10-07 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,6 +64,7 @@ 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
54
69
  - lib/sentry/backpressure_monitor.rb
55
70
  - lib/sentry/backtrace.rb
@@ -68,13 +83,17 @@ files:
68
83
  - lib/sentry/cron/monitor_schedule.rb
69
84
  - lib/sentry/dsn.rb
70
85
  - lib/sentry/envelope.rb
86
+ - lib/sentry/envelope/item.rb
71
87
  - lib/sentry/error_event.rb
72
88
  - lib/sentry/event.rb
73
89
  - lib/sentry/exceptions.rb
90
+ - lib/sentry/faraday.rb
91
+ - lib/sentry/graphql.rb
74
92
  - lib/sentry/hub.rb
75
93
  - lib/sentry/integrable.rb
76
94
  - lib/sentry/interface.rb
77
95
  - lib/sentry/interfaces/exception.rb
96
+ - lib/sentry/interfaces/mechanism.rb
78
97
  - lib/sentry/interfaces/request.rb
79
98
  - lib/sentry/interfaces/single_exception.rb
80
99
  - lib/sentry/interfaces/stacktrace.rb
@@ -82,8 +101,19 @@ files:
82
101
  - lib/sentry/interfaces/threads.rb
83
102
  - lib/sentry/linecache.rb
84
103
  - lib/sentry/logger.rb
104
+ - lib/sentry/metrics.rb
105
+ - lib/sentry/metrics/aggregator.rb
106
+ - lib/sentry/metrics/configuration.rb
107
+ - lib/sentry/metrics/counter_metric.rb
108
+ - lib/sentry/metrics/distribution_metric.rb
109
+ - lib/sentry/metrics/gauge_metric.rb
110
+ - lib/sentry/metrics/local_aggregator.rb
111
+ - lib/sentry/metrics/metric.rb
112
+ - lib/sentry/metrics/set_metric.rb
113
+ - lib/sentry/metrics/timing.rb
85
114
  - lib/sentry/net/http.rb
86
115
  - lib/sentry/profiler.rb
116
+ - lib/sentry/profiler/helpers.rb
87
117
  - lib/sentry/propagation_context.rb
88
118
  - lib/sentry/puma.rb
89
119
  - lib/sentry/rack.rb
@@ -96,6 +126,7 @@ files:
96
126
  - lib/sentry/session_flusher.rb
97
127
  - lib/sentry/span.rb
98
128
  - lib/sentry/test_helper.rb
129
+ - lib/sentry/threaded_periodic_worker.rb
99
130
  - lib/sentry/transaction.rb
100
131
  - lib/sentry/transaction_event.rb
101
132
  - lib/sentry/transport.rb
@@ -106,20 +137,26 @@ files:
106
137
  - lib/sentry/utils/argument_checking_helper.rb
107
138
  - lib/sentry/utils/custom_inspection.rb
108
139
  - lib/sentry/utils/encoding_helper.rb
140
+ - lib/sentry/utils/env_helper.rb
109
141
  - lib/sentry/utils/exception_cause_chain.rb
142
+ - lib/sentry/utils/http_tracing.rb
110
143
  - lib/sentry/utils/logging_helper.rb
111
144
  - lib/sentry/utils/real_ip.rb
112
145
  - lib/sentry/utils/request_id.rb
146
+ - lib/sentry/vernier/output.rb
147
+ - lib/sentry/vernier/profiler.rb
113
148
  - lib/sentry/version.rb
114
149
  - sentry-ruby-core.gemspec
115
150
  - sentry-ruby.gemspec
116
- homepage: https://github.com/getsentry/sentry-ruby
151
+ homepage: https://github.com/getsentry/sentry-ruby/tree/5.21.0/sentry-ruby
117
152
  licenses:
118
153
  - MIT
119
154
  metadata:
120
- homepage_uri: https://github.com/getsentry/sentry-ruby
121
- source_code_uri: https://github.com/getsentry/sentry-ruby
122
- changelog_uri: https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md
155
+ homepage_uri: https://github.com/getsentry/sentry-ruby/tree/5.21.0/sentry-ruby
156
+ source_code_uri: https://github.com/getsentry/sentry-ruby/tree/5.21.0/sentry-ruby
157
+ changelog_uri: https://github.com/getsentry/sentry-ruby/blob/5.21.0/CHANGELOG.md
158
+ bug_tracker_uri: https://github.com/getsentry/sentry-ruby/issues
159
+ documentation_uri: http://www.rubydoc.info/gems/sentry-ruby/5.21.0
123
160
  post_install_message:
124
161
  rdoc_options: []
125
162
  require_paths:
@@ -135,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
172
  - !ruby/object:Gem::Version
136
173
  version: '0'
137
174
  requirements: []
138
- rubygems_version: 3.1.6
175
+ rubygems_version: 3.5.16
139
176
  signing_key:
140
177
  specification_version: 4
141
178
  summary: A gem that provides a client interface for the Sentry error logger