site24x7_apminsight 1.0 → 1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/conf/apminsight.conf +24 -4
- data/lib/agent/configuration/am_configuration.rb +19 -2
- data/lib/agent/metrics/am_metricsparser.rb +16 -1
- data/lib/agent/server/am_connector.rb +4 -4
- data/lib/agent/server/instrument/am_apm.rb +1 -1
- data/lib/agent/util/am_constants.rb +4 -1
- metadata +12 -12
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.1
|
data/conf/apminsight.conf
CHANGED
@@ -71,6 +71,16 @@ transaction.trace.sql.parametrize=true
|
|
71
71
|
#default value: 3 (second)
|
72
72
|
transaction.trace.sql.stacktrace.threshold=3
|
73
73
|
|
74
|
+
#Capture HTTP web request parameters, if enabled. To skip recording specific request parameters use webtrasnaction.trace.input.params.ignore key.
|
75
|
+
#default value: false
|
76
|
+
webtransaction.trace.input.params.record=false
|
77
|
+
|
78
|
+
#Skip recording confidential request parameters like password, authKey, etc.
|
79
|
+
#Use comma (,) as parameter names separator.
|
80
|
+
#If no value is specified all parameters will be recorded.
|
81
|
+
#Value(s) specified for this key are case sensitive.
|
82
|
+
webtransaction.trace.input.params.ignore=password, pswd, pass, authKey, parentId, parentID, resourceId, resourceID, id, ID
|
83
|
+
|
74
84
|
#Stop listening transactions with specified URL pattern.
|
75
85
|
transaction.skip.listening=*.css, *.js, *.gif, *.jpg, *.jpeg, *.bmp, *.png
|
76
86
|
|
@@ -78,11 +88,21 @@ transaction.skip.listening=*.css, *.js, *.gif, *.jpg, *.jpeg, *.bmp, *.png
|
|
78
88
|
#default value: 1 (transaction)
|
79
89
|
transaction.tracking.request.interval=1
|
80
90
|
|
81
|
-
#
|
82
|
-
#
|
83
|
-
#
|
91
|
+
#Time interval for the agent to collect the JVM related data like Memory Usage, Cpu Usage, etc.
|
92
|
+
#For example, if value is set to 3, agent will collect data for every 3 minutes.
|
93
|
+
#default value: 5 (minutes)
|
94
|
+
#jvm.polling.interval=
|
95
|
+
|
96
|
+
#The grouping (componentization) of includes packages.
|
97
|
+
#By Default, APM Insight groups transactions into
|
98
|
+
#STRUTS, FILTER, JSP, SERVLET, EJB, IBATIS, HIBERNATE,
|
99
|
+
#MYSQL, MSSQL, PGSQL, ORACLE, IBMDB2, SYBASE, JDBC (for other database types) and POJO (Plain Java Object) components.
|
100
|
+
#For additional components of your custom includes packages, use include.components
|
101
|
+
#eg: configuring com/test/memcache/.*:memcache will group all the packages & classes that
|
102
|
+
#starts with com.test.memcache into MEMCACHE component.
|
103
|
+
#Note : The package name will default be included for instrumentation and you need NOT give this in include.package separately.
|
84
104
|
#Use comma(,) to separate multiple entries.
|
85
|
-
#include.
|
105
|
+
#include.components=
|
86
106
|
|
87
107
|
#Directory where agent logs information separately.
|
88
108
|
#Defaults to the directory where apminsight-javaagent.jar is installed.
|
@@ -8,7 +8,7 @@ module ManageEngine
|
|
8
8
|
class APMConfig
|
9
9
|
attr_reader :agenthost,:agentport,:instance_id,:alreadyconnected,:apmhost,:apmport,:license_key,:site24x7
|
10
10
|
attr_reader :appname,:proxyneeded, :apdex_t, :trans_trace, :trans_trace_t, :sql_capture, :sql_capture_params, :sql_trace_t,:proxy_user,:proxy_pass, :metric_overflow_t, :trace_overflow_t
|
11
|
-
attr_reader :proxy_host,:proxy_port ,:is_secured, :logs_dir ,:connection_retry,:agent_enabled,:connect_interval,:db_operations,:include_packages
|
11
|
+
attr_reader :proxy_host,:proxy_port ,:is_secured, :logs_dir ,:connection_retry,:agent_enabled,:connect_interval,:db_operations,:include_packages, :url_merge_pattern
|
12
12
|
attr_accessor :app_db,:app_dispatcher,:lastupdatedtime
|
13
13
|
def initialize
|
14
14
|
@obj = ManageEngine::APMObjectHolder.instance
|
@@ -23,6 +23,7 @@ module ManageEngine
|
|
23
23
|
@alreadyconnected = checkAgentInfo
|
24
24
|
@site24x7 = checkLicenseFile
|
25
25
|
@db_operations =["select","insert","update","delete"]
|
26
|
+
urlMergePattern
|
26
27
|
@obj.log.debug "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
|
27
28
|
@obj.log.debug "APP HOME #{File.absolute_path(".")} "
|
28
29
|
@obj.log.debug "APP HOME #{Dir.pwd} "
|
@@ -34,6 +35,10 @@ module ManageEngine
|
|
34
35
|
@config.each do|key,val|
|
35
36
|
@obj.log.info "#{key} => #{val}"
|
36
37
|
end
|
38
|
+
@obj.log.info "URL Merge Patterns"
|
39
|
+
@url_merge_pattern.each do |key, val|
|
40
|
+
@obj.log.info "#{key} => #{val}"
|
41
|
+
end
|
37
42
|
@obj.log.debug "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
|
38
43
|
@app_db="dummydb"
|
39
44
|
@app_dispatcher = getDispatcher
|
@@ -95,6 +100,18 @@ module ManageEngine
|
|
95
100
|
end
|
96
101
|
|
97
102
|
end
|
103
|
+
|
104
|
+
def urlMergePattern
|
105
|
+
@url_merge_pattern = Hash.new
|
106
|
+
begin
|
107
|
+
if (FileTest.exists?(@obj.constants.mergepattern_conf))
|
108
|
+
@url_merge_pattern=@obj.util.readProperties(@obj.constants.mergepattern_conf)
|
109
|
+
end
|
110
|
+
rescue Exception => e
|
111
|
+
@obj.log.info "[Exception] Problem in Reading Configuration File : \n File : #{@obj.constants.mergepattern_conf}"
|
112
|
+
@obj.log.logException "#{e.message}",e
|
113
|
+
end
|
114
|
+
end
|
98
115
|
|
99
116
|
def updateAgentInfoFile(props)
|
100
117
|
@instance_id = props["agent.id"]
|
@@ -142,7 +159,7 @@ module ManageEngine
|
|
142
159
|
when "proxy.server.port" then @proxy_port=value
|
143
160
|
when "proxy.auth.username" then @proxy_user=value
|
144
161
|
when "proxy.auth.password" then @proxy_pass=value
|
145
|
-
when "
|
162
|
+
when "apm.protocol.https" then @is_secured=@obj.util.getBooleanValue value
|
146
163
|
when "apminsight.log.dir" then @logs_dir=value
|
147
164
|
when "agent.connection.retry" then @connection_retry=value #Not in Conf - yet to come
|
148
165
|
when "agent.connection.interval" then @connect_interval=value#Not in Conf - yet to come
|
@@ -180,6 +180,14 @@ module ManageEngine
|
|
180
180
|
rt = (d["end"] - d["start"]).to_i
|
181
181
|
path=pl[:path]
|
182
182
|
#path=pl["path"]
|
183
|
+
|
184
|
+
@obj.config.url_merge_pattern.each do |key, val|
|
185
|
+
if (path.match(key) != nil)
|
186
|
+
path=val
|
187
|
+
break
|
188
|
+
end
|
189
|
+
end
|
190
|
+
|
183
191
|
controller=pl[:controller]
|
184
192
|
#controller=pl["controller"]
|
185
193
|
action = pl[:action]
|
@@ -391,7 +399,14 @@ module ManageEngine
|
|
391
399
|
#trData = Array.new
|
392
400
|
#trData[0] = ((d["start"]).to_f * 1000).to_i
|
393
401
|
pl = d["payload"]
|
394
|
-
|
402
|
+
path = pl[:path]
|
403
|
+
@obj.config.url_merge_pattern.each do |key, val|
|
404
|
+
if (path.match(key) != nil)
|
405
|
+
path=val
|
406
|
+
break
|
407
|
+
end
|
408
|
+
end
|
409
|
+
trData[1] = path + " " +pl[:controller] + "#" + pl[:action]
|
395
410
|
#trData[1] = pl["path"] + " " +pl["controller"] + "#" + pl["action"]
|
396
411
|
trData[2] = ""
|
397
412
|
trData[3] = (d["end"] - trData[0]).to_i
|
@@ -105,8 +105,8 @@ module ManageEngine
|
|
105
105
|
else
|
106
106
|
#@obj.log.info "Proxy Not Needed #{url.host} #{url.port}"
|
107
107
|
con = Net::HTTP.new(url.host, url.port)
|
108
|
-
con.use_ssl=true
|
109
|
-
con.verify_mode=OpenSSL::SSL::VERIFY_NONE
|
108
|
+
#con.use_ssl=true
|
109
|
+
#con.verify_mode=OpenSSL::SSL::VERIFY_NONE
|
110
110
|
#@obj.log.info "connection = #{con}"
|
111
111
|
end
|
112
112
|
con=getScheme(con)
|
@@ -116,9 +116,9 @@ module ManageEngine
|
|
116
116
|
end
|
117
117
|
|
118
118
|
def getScheme(con)
|
119
|
-
if(@obj.config.is_secured)
|
119
|
+
if(@obj.config.license_key != nil || @obj.config.is_secured)
|
120
120
|
#@obj.log.info "[connect] Secured"
|
121
|
-
con = Net::HTTP::Proxy(@obj.config.proxy_host, @obj.config.proxy_port,@obj.config.proxy_user,@obj.config.proxy_pass).new(url.host, url.port)
|
121
|
+
#con = Net::HTTP::Proxy(@obj.config.proxy_host, @obj.config.proxy_port,@obj.config.proxy_user,@obj.config.proxy_pass).new(url.host, url.port)
|
122
122
|
con.use_ssl=true
|
123
123
|
con.verify_mode=OpenSSL::SSL::VERIFY_NONE
|
124
124
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
module ManageEngine
|
3
3
|
class APMConstants
|
4
4
|
|
5
|
-
attr_reader :apm_gem,:apm_conf,:agent_conf,:connection_open_timeout,:connection_read_timeout,:connect_uri,:connect_data_uri,:connect_trace_uri,:connect_config_update_uri,:site24x7url
|
5
|
+
attr_reader :apm_gem,:apm_conf,:agent_conf,:connection_open_timeout,:connection_read_timeout,:connect_uri,:connect_data_uri,:connect_trace_uri,:connect_config_update_uri,:site24x7url, :mergepattern_conf
|
6
6
|
attr_reader :licence_exceeds,:licence_expired,:unmanage_agent,:manage_agent,:agent_config_updated,:error_notfound,:error_server,:delete_agent,:response_code,:custom_config_info
|
7
7
|
attr_reader :mf_transaction,:mf_separator,:mf_db,:mf_apdex,:mf_namespace,:mf_name,:mf_all,:agent_store,:agent_lock,:mf_overflow
|
8
8
|
|
@@ -21,6 +21,9 @@ module ManageEngine
|
|
21
21
|
|
22
22
|
#file path for agent data store lock
|
23
23
|
@agent_store="apminsight.store"
|
24
|
+
|
25
|
+
#file name for url merge patterns
|
26
|
+
@mergepattern_conf="transaction_merge_patterns.conf"
|
24
27
|
|
25
28
|
|
26
29
|
#Timeout for opening Connections
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: site24x7_apminsight
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '1.
|
4
|
+
version: '1.1'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2014-10-08 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: shoulda
|
16
|
-
requirement: &
|
16
|
+
requirement: &23260260 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *23260260
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: bundler
|
27
|
-
requirement: &
|
27
|
+
requirement: &23259972 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.0.0
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *23259972
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: jeweler
|
38
|
-
requirement: &
|
38
|
+
requirement: &23259684 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.6.4
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *23259684
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rcov
|
49
|
-
requirement: &
|
49
|
+
requirement: &23259396 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *23259396
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rails
|
60
|
-
requirement: &
|
60
|
+
requirement: &23259108 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: 3.0.0
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *23259108
|
69
69
|
description: Site24x7 APMInsight gives you end-to-end web-transaction awareness of
|
70
70
|
Rails applications enabling you to isolate performance issues and resolve them quickly.
|
71
71
|
To monitor Rails application performance, download and deploy Ruby agent(site24x7_apminsight)
|