lib/sentry/rails/configuration.rb in sentry-rails-5.12.0 vs lib/sentry/rails/configuration.rb in sentry-rails-5.13.0
- old
+ new
@@ -44,10 +44,71 @@
'ActionDispatch::Http::MimeNegotiation::InvalidType',
'ActionController::UnknownHttpMethod',
'ActionDispatch::Http::Parameters::ParseError',
'ActiveRecord::RecordNotFound'
].freeze
+
+ ACTIVE_SUPPORT_LOGGER_SUBSCRIPTION_ITEMS_DEFAULT = {
+ # action_controller
+ "write_fragment.action_controller" => %i[key],
+ "read_fragment.action_controller" => %i[key],
+ "exist_fragment?.action_controller" => %i[key],
+ "expire_fragment.action_controller" => %i[key],
+ "start_processing.action_controller" => %i[controller action params format method path],
+ "process_action.action_controller" => %i[controller action params format method path status view_runtime db_runtime],
+ "send_file.action_controller" => %i[path],
+ "redirect_to.action_controller" => %i[status location],
+ "halted_callback.action_controller" => %i[filter],
+ # action_dispatch
+ "process_middleware.action_dispatch" => %i[middleware],
+ # action_view
+ "render_template.action_view" => %i[identifier layout],
+ "render_partial.action_view" => %i[identifier],
+ "render_collection.action_view" => %i[identifier count cache_hits],
+ "render_layout.action_view" => %i[identifier],
+ # active_record
+ "sql.active_record" => %i[sql name statement_name cached],
+ "instantiation.active_record" => %i[record_count class_name],
+ # action_mailer
+ # not including to, from, or subject..etc. because of PII concern
+ "deliver.action_mailer" => %i[mailer date perform_deliveries],
+ "process.action_mailer" => %i[mailer action params],
+ # active_support
+ "cache_read.active_support" => %i[key store hit],
+ "cache_generate.active_support" => %i[key store],
+ "cache_fetch_hit.active_support" => %i[key store],
+ "cache_write.active_support" => %i[key store],
+ "cache_delete.active_support" => %i[key store],
+ "cache_exist?.active_support" => %i[key store],
+ # active_job
+ "enqueue_at.active_job" => %i[],
+ "enqueue.active_job" => %i[],
+ "enqueue_retry.active_job" => %i[],
+ "perform_start.active_job" => %i[],
+ "perform.active_job" => %i[],
+ "retry_stopped.active_job" => %i[],
+ "discard.active_job" => %i[],
+ # action_cable
+ "perform_action.action_cable" => %i[channel_class action],
+ "transmit.action_cable" => %i[channel_class],
+ "transmit_subscription_confirmation.action_cable" => %i[channel_class],
+ "transmit_subscription_rejection.action_cable" => %i[channel_class],
+ "broadcast.action_cable" => %i[broadcasting],
+ # active_storage
+ "service_upload.active_storage" => %i[service key checksum],
+ "service_streaming_download.active_storage" => %i[service key],
+ "service_download_chunk.active_storage" => %i[service key],
+ "service_download.active_storage" => %i[service key],
+ "service_delete.active_storage" => %i[service key],
+ "service_delete_prefixed.active_storage" => %i[service prefix],
+ "service_exist.active_storage" => %i[service key exist],
+ "service_url.active_storage" => %i[service key url],
+ "service_update_metadata.active_storage" => %i[service key],
+ "preview.active_storage" => %i[key],
+ "analyze.active_storage" => %i[analyzer],
+ }.freeze
+
class Configuration
# Rails 7.0 introduced a new error reporter feature, which the SDK once opted-in by default.
# But after receiving multiple issue reports, the integration seemed to cause serious troubles to some users.
# So the integration is now controlled by this configuration, which is disabled (false) by default.
# More information can be found from: https://github.com/rails/rails/pull/43625#issuecomment-1072514175
@@ -78,10 +139,14 @@
# config.rails.assets_regexp = /my_regexp/
# end
# ```
attr_accessor :assets_regexp
+ # Hash of subscription items that will be shown in breadcrumbs active support logger.
+ # @return [Hash<String, Array<Symbol>>]
+ attr_accessor :active_support_logger_subscription_items
+
def initialize
@register_error_subscriber = false
@report_rescued_exceptions = true
@skippable_job_adapters = []
@assets_regexp = if defined?(::Sprockets::Rails)
@@ -90,9 +155,10 @@
@tracing_subscribers = Set.new([
Sentry::Rails::Tracing::ActionViewSubscriber,
Sentry::Rails::Tracing::ActiveRecordSubscriber,
Sentry::Rails::Tracing::ActiveStorageSubscriber
])
+ @active_support_logger_subscription_items = Sentry::Rails::ACTIVE_SUPPORT_LOGGER_SUBSCRIPTION_ITEMS_DEFAULT.dup
end
end
end
end