Class: SimpleApm::Sql

Inherits:
Object
  • Object
show all
Defined in:
app/models/simple_apm/sql.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(h, request = nil) ⇒ Sql

Returns a new instance of Sql.



5
6
7
8
9
10
# File 'app/models/simple_apm/sql.rb', line 5

def initialize(h, request = nil)
  h.each do |k, v|
    send("#{k}=", v)  rescue puts "attr #{k} not set!"
  end
  @request = request
end

Instance Attribute Details

#duringObject

Returns the value of attribute during.



4
5
6
# File 'app/models/simple_apm/sql.rb', line 4

def during
  @during
end

#filenameObject

Returns the value of attribute filename.



4
5
6
# File 'app/models/simple_apm/sql.rb', line 4

def filename
  @filename
end

#lineObject

Returns the value of attribute line.



4
5
6
# File 'app/models/simple_apm/sql.rb', line 4

def line
  @line
end

#methodObject

Returns the value of attribute method.



4
5
6
# File 'app/models/simple_apm/sql.rb', line 4

def method
  @method
end

#nameObject

Returns the value of attribute name.



4
5
6
# File 'app/models/simple_apm/sql.rb', line 4

def name
  @name
end

#request_idObject

Returns the value of attribute request_id.



4
5
6
# File 'app/models/simple_apm/sql.rb', line 4

def request_id
  @request_id
end

#sqlObject

Returns the value of attribute sql.



4
5
6
# File 'app/models/simple_apm/sql.rb', line 4

def sql
  @sql
end

#startedObject

Returns the value of attribute started.



4
5
6
# File 'app/models/simple_apm/sql.rb', line 4

def started
  @started
end

#valueObject

Returns the value of attribute value.



4
5
6
# File 'app/models/simple_apm/sql.rb', line 4

def value
  @value
end

Class Method Details

.create(request_id, info) ⇒ Object



34
35
36
# File 'app/models/simple_apm/sql.rb', line 34

def create(request_id, info)
  SimpleApm::Redis.rpush(key(request_id), info.to_json)
end

.delete_by_request_id(request_id) ⇒ Object



30
31
32
# File 'app/models/simple_apm/sql.rb', line 30

def delete_by_request_id(request_id)
  SimpleApm::Redis.del(key(request_id))
end

.find_by_request_id(request_id) ⇒ Array<SimpleApm::Sql>

Returns:



26
27
28
# File 'app/models/simple_apm/sql.rb', line 26

def find_by_request_id(request_id)
  SimpleApm::Redis.lrange(key(request_id), 0, -1).map{|x|SimpleApm::Sql.new JSON.parse(x)}
end

.key(request_id) ⇒ Object



38
39
40
# File 'app/models/simple_apm/sql.rb', line 38

def key(request_id)
  SimpleApm::RedisKey["sql:#{request_id}"]
end

Instance Method Details

#full_sqlObject



12
13
14
15
16
17
18
# File 'app/models/simple_apm/sql.rb', line 12

def full_sql
  _sql = sql.to_s.gsub(/^[\s]*/,'')
  if value.present?
    _sql << "\n\nParameters: #{value}"
  end
  _sql
end

#requestObject



20
21
22
# File 'app/models/simple_apm/sql.rb', line 20

def request
  @request ||= SimpleApm::Request.find(request_id)
end