Class: ManageEngine::Tracker::DatabaseTracker
Instance Attribute Summary
#child, #endtime, #error, #name, #sibling, #starttime
Instance Method Summary
collapse
#==, #duration, #error?, #finish, #hash, #initialize, #setError, #setName
Instance Method Details
71
72
73
74
75
|
# File 'lib/agent/trackers/database_tracker.rb', line 71
def format s
s.gsub!("\"", '')
s.gsub!("\n", '')
s
end
|
#getAdditionalInfo ⇒ Object
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
# File 'lib/agent/trackers/database_tracker.rb', line 77
def getAdditionalInfo
info = super
begin
if (@query != nil)
if (info == nil)
info = Hash.new
end
obj = ManageEngine::APMObjectHolder.instance
info["query"] = !obj.config.sql_capture_params ? getCompleteQuery : getObfuscatedQuery
if (@backtrace != nil && @error == nil)
info["stacktrace"] = obj.util.formatStacktrace(@backtrace)
end
end
rescue Exception => e
@logger.logException("Error updating additionalInfo in dbTracker.", e)
end
info
end
|
#getCompleteQuery ⇒ Object
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/agent/trackers/database_tracker.rb', line 25
def getCompleteQuery
begin
query = @query if query != nil && @binds != nil && @binds.length > 0
@binds.each do |ar|
if query.index("?") != nil
query["?"]=ar.value.to_s
end
end
return query
end
rescue Exception=>exe
@logger.logException "Not severe -#{exe.message}",exe
end
@query
end
|
#getObfuscatedQuery ⇒ Object
#getQueryInfo ⇒ Object
Returns array [db_operation, tablename]
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
# File 'lib/agent/trackers/database_tracker.rb', line 43
def getQueryInfo
sql = @query
sql.strip!
sql.downcase!
sqlArr = sql.split(" ")
begin
tableName = case sqlArr[0]
when "select" then sqlArr[sqlArr.index("from")+1]
when "insert" then sqlArr[sqlArr.index("into")+1]
when "update" then sqlArr[1]
when "delete" then sqlArr[sqlArr.index("from")+1]
when "create" then sqlArr[1] + sqlArr[2]
when "alter" then sqlArr[1] + sqlArr[2]
when "drop" then sqlArr[1] + sqlArr[2]
when "show" then sqlArr[1]
when "describe" then sqlArr[1]
else "-"
end
return [sqlArr[0], tableName]
rescue Exception=>e
@logger.logException "#{e.message}",e
return [sqlArr[0], '-']
end
end
|
#getRawQuery ⇒ Object
17
18
19
|
# File 'lib/agent/trackers/database_tracker.rb', line 17
def getRawQuery
@query
end
|
#params(binds = []) ⇒ Object
9
10
11
|
# File 'lib/agent/trackers/database_tracker.rb', line 9
def params(binds = [])
@binds = binds
end
|
#sql(query) ⇒ Object
5
6
7
|
# File 'lib/agent/trackers/database_tracker.rb', line 5
def sql(query)
@query = format(query.dup)
end
|
#sqlBacktrace(backtrace) ⇒ Object
13
14
15
|
# File 'lib/agent/trackers/database_tracker.rb', line 13
def sqlBacktrace(backtrace)
@backtrace = backtrace
end
|
#to_s ⇒ Object
101
102
103
|
# File 'lib/agent/trackers/database_tracker.rb', line 101
def to_s
"#{@name} - #{@query}"
end
|