Module: Observability::Instrumentation::PG

Extended by:
Observability::Instrumentation
Defined in:
lib/observability/instrumentation/pg.rb

Overview

Instrumentation for the ‘pg’ PostgreSQL driver Refs:

Instance Attribute Summary

Attributes included from Observability::Instrumentation

#modules

Class Method Summary collapse

Methods included from Observability::Instrumentation

available?, check_for_module, dependencies_met?, depends_on, extended, install, install, load, requires, when_installed

Class Method Details

.observe_exec(sql) ⇒ Object

Observer callback for the *exec methods.



47
48
49
50
51
52
# File 'lib/observability/instrumentation/pg.rb', line 47

def observe_exec( sql, * )
  nsql = PgQuery.normalize( sql )
  Observability.observer.add( query: nsql )
rescue => err
  Loggability[ Observability ].warn "Couldn't normalize query: %p" % [ sql ]
end

.observe_exec_prepared(name, query) ⇒ Object

Observer callback for *exec_prepared methods.



65
66
67
# File 'lib/observability/instrumentation/pg.rb', line 65

def observe_exec_prepared( name, query, * )
  Observability.observer.add( statement_name: name )
end

.observe_prepare(name, query) ⇒ Object

Observer callback for *prepare methods.



56
57
58
59
60
61
# File 'lib/observability/instrumentation/pg.rb', line 56

def observe_prepare( name, query, * )
  nsql = PgQuery.normalize( query )
  Observability.observer.add( statement_name: name, query: nsql )
rescue => err
  Loggability[ Observability ].warn "Couldn't normalize query: %p" % [ sql ]
end