sentry-rails 6.1.0 → 6.1.1
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
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a75df6b4765c66d4c8844187b1cf607e75c8089441e846ecdf6b7bb4fa9e48e4
|
|
4
|
+
data.tar.gz: df1a64e0c65f65600664b2f3259a227debd7d346a0dd5f8ce6497ddbea7b9644
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 46e20af7bc76d8d1b66337c1e25a5fec1eabcae2817960a88d11a76ddea251076f1d39970fefee0b54fb2d80c9f6fec8b1a4b88d299f4a61bdfcf9a0a4cdb1ef
|
|
7
|
+
data.tar.gz: d7637f46e1fb2df9c2d6b5f07bb0c4d075f17ee013979b535d9643354abce15be08eca759851439763e79b747b062ba331a20acd557291ceea54655bdcbec287
|
|
@@ -27,6 +27,7 @@ module Sentry
|
|
|
27
27
|
|
|
28
28
|
def capture_exception(exception, env)
|
|
29
29
|
# the exception will be swallowed by ShowExceptions middleware
|
|
30
|
+
return unless Sentry.initialized?
|
|
30
31
|
return if show_exceptions?(exception, env) && !Sentry.configuration.rails.report_rescued_exceptions
|
|
31
32
|
|
|
32
33
|
Sentry::Rails.capture_exception(exception).tap do |event|
|
|
@@ -30,6 +30,7 @@ module Sentry
|
|
|
30
30
|
# @param event [ActiveSupport::Notifications::Event] The SQL event
|
|
31
31
|
def sql(event)
|
|
32
32
|
return unless Sentry.initialized?
|
|
33
|
+
return if logger && !logger.info?
|
|
33
34
|
return if EXCLUDED_NAMES.include?(event.payload[:name])
|
|
34
35
|
|
|
35
36
|
sql = event.payload[:sql]
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require "sentry/rails/tracing/abstract_subscriber"
|
|
4
|
+
require "sentry/backtrace"
|
|
4
5
|
|
|
5
6
|
module Sentry
|
|
6
7
|
module Rails
|
|
@@ -14,9 +15,11 @@ module Sentry
|
|
|
14
15
|
SUPPORT_SOURCE_LOCATION = ActiveSupport::BacktraceCleaner.method_defined?(:clean_frame)
|
|
15
16
|
|
|
16
17
|
if SUPPORT_SOURCE_LOCATION
|
|
17
|
-
|
|
18
|
+
backtrace_cleaner = ActiveSupport::BacktraceCleaner.new.tap do |cleaner|
|
|
18
19
|
cleaner.add_silencer { |line| line.include?("sentry-ruby/lib") || line.include?("sentry-rails/lib") }
|
|
19
|
-
end)
|
|
20
|
+
end.method(:clean_frame)
|
|
21
|
+
|
|
22
|
+
class_attribute :backtrace_cleaner, default: backtrace_cleaner
|
|
20
23
|
end
|
|
21
24
|
|
|
22
25
|
class << self
|
|
@@ -62,43 +65,21 @@ module Sentry
|
|
|
62
65
|
span.set_data(Span::DataConventions::SERVER_PORT, db_config[:port]) if db_config[:port]
|
|
63
66
|
span.set_data(Span::DataConventions::SERVER_SOCKET_ADDRESS, db_config[:socket]) if db_config[:socket]
|
|
64
67
|
|
|
65
|
-
next unless record_query_source
|
|
66
|
-
|
|
67
68
|
# both duration and query_source_threshold are in ms
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
# Only JRuby has namespace in the backtrace
|
|
79
|
-
span.set_data(Span::DataConventions::NAMESPACE, backtrace_line.module_name) if backtrace_line.module_name
|
|
69
|
+
if record_query_source && duration >= query_source_threshold
|
|
70
|
+
backtrace_line = Backtrace.source_location(&backtrace_cleaner)
|
|
71
|
+
|
|
72
|
+
if backtrace_line
|
|
73
|
+
span.set_data(Span::DataConventions::FILEPATH, backtrace_line.file) if backtrace_line.file
|
|
74
|
+
span.set_data(Span::DataConventions::LINENO, backtrace_line.number) if backtrace_line.number
|
|
75
|
+
span.set_data(Span::DataConventions::FUNCTION, backtrace_line.method) if backtrace_line.method
|
|
76
|
+
# Only JRuby has namespace in the backtrace
|
|
77
|
+
span.set_data(Span::DataConventions::NAMESPACE, backtrace_line.module_name) if backtrace_line.module_name
|
|
78
|
+
end
|
|
80
79
|
end
|
|
81
80
|
end
|
|
82
81
|
end
|
|
83
82
|
end
|
|
84
|
-
|
|
85
|
-
# Thread.each_caller_location is an API added in Ruby 3.2 that doesn't always collect the entire stack like
|
|
86
|
-
# Kernel#caller or #caller_locations do. See https://github.com/rails/rails/pull/49095 for more context.
|
|
87
|
-
if SUPPORT_SOURCE_LOCATION && Thread.respond_to?(:each_caller_location)
|
|
88
|
-
def query_source_location
|
|
89
|
-
Thread.each_caller_location do |location|
|
|
90
|
-
frame = backtrace_cleaner.clean_frame(location)
|
|
91
|
-
return frame if frame
|
|
92
|
-
end
|
|
93
|
-
nil
|
|
94
|
-
end
|
|
95
|
-
else
|
|
96
|
-
# Since Sentry is mostly used in production, we don't want to fallback to the slower implementation
|
|
97
|
-
# and adds potentially big overhead to the application.
|
|
98
|
-
def query_source_location
|
|
99
|
-
nil
|
|
100
|
-
end
|
|
101
|
-
end
|
|
102
83
|
end
|
|
103
84
|
end
|
|
104
85
|
end
|
data/lib/sentry/rails/version.rb
CHANGED
data/sentry-rails.gemspec
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sentry-rails
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 6.1.
|
|
4
|
+
version: 6.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sentry Team
|
|
@@ -29,14 +29,14 @@ dependencies:
|
|
|
29
29
|
requirements:
|
|
30
30
|
- - "~>"
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: 6.1.
|
|
32
|
+
version: 6.1.1
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
37
|
- - "~>"
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: 6.1.
|
|
39
|
+
version: 6.1.1
|
|
40
40
|
description: A gem that provides Rails integration for the Sentry error logger
|
|
41
41
|
email: accounts@sentry.io
|
|
42
42
|
executables: []
|
|
@@ -89,15 +89,15 @@ files:
|
|
|
89
89
|
- lib/sentry/rails/tracing/active_support_subscriber.rb
|
|
90
90
|
- lib/sentry/rails/version.rb
|
|
91
91
|
- sentry-rails.gemspec
|
|
92
|
-
homepage: https://github.com/getsentry/sentry-ruby/tree/6.1.
|
|
92
|
+
homepage: https://github.com/getsentry/sentry-ruby/tree/6.1.1/sentry-rails
|
|
93
93
|
licenses:
|
|
94
94
|
- MIT
|
|
95
95
|
metadata:
|
|
96
|
-
homepage_uri: https://github.com/getsentry/sentry-ruby/tree/6.1.
|
|
97
|
-
source_code_uri: https://github.com/getsentry/sentry-ruby/tree/6.1.
|
|
98
|
-
changelog_uri: https://github.com/getsentry/sentry-ruby/blob/6.1.
|
|
96
|
+
homepage_uri: https://github.com/getsentry/sentry-ruby/tree/6.1.1/sentry-rails
|
|
97
|
+
source_code_uri: https://github.com/getsentry/sentry-ruby/tree/6.1.1/sentry-rails
|
|
98
|
+
changelog_uri: https://github.com/getsentry/sentry-ruby/blob/6.1.1/CHANGELOG.md
|
|
99
99
|
bug_tracker_uri: https://github.com/getsentry/sentry-ruby/issues
|
|
100
|
-
documentation_uri: http://www.rubydoc.info/gems/sentry-rails/6.1.
|
|
100
|
+
documentation_uri: http://www.rubydoc.info/gems/sentry-rails/6.1.1
|
|
101
101
|
rdoc_options: []
|
|
102
102
|
require_paths:
|
|
103
103
|
- lib
|