Class: RailsVitals::Notifications::Subscriber

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_vitals/notifications/subscriber.rb

Class Method Summary collapse

Class Method Details

.attachObject



4
5
6
7
# File 'lib/rails_vitals/notifications/subscriber.rb', line 4

def self.attach
  attach_sql_subscriber
  attach_action_controller_subscriber
end

.internal_query?(sql) ⇒ Boolean

Skip Rails internal queries — schema lookups, explain, etc.

Returns:

  • (Boolean)


10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/rails_vitals/notifications/subscriber.rb', line 10

def self.internal_query?(sql)
  sql =~ /\A\s*(SCHEMA|EXPLAIN|PRAGMA|BEGIN|COMMIT|ROLLBACK|SAVEPOINT|RELEASE)/i ||
  sql.include?("pg_class") ||
  sql.include?("pg_attribute") ||
  sql.include?("pg_type") ||
  sql.include?("t.typname") ||
  sql.include?("t.oid") ||
  sql.include?("information_schema") ||
  sql.include?("pg_namespace") ||
  sql.include?("SHOW search_path") ||
  sql.include?("SHOW max_identifier_length")
end