def self.default_notifications
def self.default_notifications
{
# ActiveRecord Actions
#
"sql.active_record" => {
message: lambda do |data|
# Disregard empty string names
name = data[:name] if data[:name] && !data[:name].strip.empty?
["Active Record", name].compact.join(" - ")
end,
category: "query",
select_keys: [:sql, :name, :connection, :connection_id, :cached],
transform: lambda do |data|
if data[:sql]
connection = data.delete(:connection)
adapter = (connection && connection.adapter_name.downcase) || active_record_connection_db_config[:adapter]
data[:sql] = Util::SQL.obfuscate(data[:sql], adapter)
end
data
end,
exclude_when: lambda do |data|
# Ignore schema, begin, and commit transaction queries
data[:name] == "SCHEMA" ||
(data[:sql] && (Util::SQL.force_utf_8(data[:sql].dup) =~ /^(begin|commit)( transaction)?$/i))
end
},
# ActionCable Actions
#
"perform_action.action_cable" => {
message: "Action Cable Perform Action",
select_keys: [:channel_class, :action],
category: "render"
},
# ActiveJob Actions
#
"enqueue.active_job" => {
message: "Active Job Enqueue",
select_keys: [],
category: "job"
},
"perform_start.active_job" => {
message: "Active Job Perform Start",
select_keys: [],
category: "job",
},
# ActiveSupport Actions
#
"cache_read.active_support" => {
message: "Active Support Cache Read",
category: "query"
},
"cache_fetch_hit.active_support" => {
message: "Active Support Cache Fetch Hit",
category: "query"
},
# Controller Actions
#
"halted_callback.action_controller" => {
message: "Action Controller Callback Halted",
category: "request",
},
"process_action.action_controller" => {
message: "Action Controller Action Process",
select_keys: [:controller, :action, :format, :method, :path, :status, :view_runtime, :db_runtime],
category: "request",
},
"start_processing.action_controller" => {
message: "Action Controller Start Process",
select_keys: [:controller, :action, :format, :method, :path],
category: "request",
},
"redirect_to.action_controller" => {
message: "Action Controller Redirect",
category: "request",
},
# View Actions
#
"render_template.action_view" => {
message: "Action View Template Render",
category: "render",
},
"render_partial.action_view" => {
message: "Action View Partial Render",
category: "render",
},
# Mailer actions
#
"deliver.action_mailer" => {
message: "Action Mailer Deliver",
select_keys: [:mailer, :message_id, :from, :date],
category: "render"
}
}
end