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 CHANGED
@@ -1 +1 @@
1
- 1.0
1
+ 1.1
@@ -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
- #The packages which also needs to be instrumented. By Default, APM Insight does not instrument all the class
82
- #loaded in the JVM. eg: configuring com/test/customimpl/.* will include all the packages & classes that
83
- #starts with com.test.customimpl. It is best if this is enabled only in the testing/staging environment.
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.packages=
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 "apminsight.secure" then @is_secured=@obj.util.getBooleanValue value
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
- trData[1] = pl[:path] + " " +pl[:controller] + "#" + pl[:action]
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
@@ -10,7 +10,7 @@ class Class
10
10
  elsif
11
11
  result = old_new(*args,&block)
12
12
  end
13
- rescue Excetion=>exe
13
+ rescue Exception=>exe
14
14
  raise exe
15
15
  result = self
16
16
  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.0'
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: 2013-05-30 00:00:00.000000000Z
12
+ date: 2014-10-08 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: shoulda
16
- requirement: &27413904 !ruby/object:Gem::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: *27413904
24
+ version_requirements: *23260260
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bundler
27
- requirement: &27413616 !ruby/object:Gem::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: *27413616
35
+ version_requirements: *23259972
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: jeweler
38
- requirement: &27413328 !ruby/object:Gem::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: *27413328
46
+ version_requirements: *23259684
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rcov
49
- requirement: &27413040 !ruby/object:Gem::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: *27413040
57
+ version_requirements: *23259396
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rails
60
- requirement: &27412752 !ruby/object:Gem::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: *27412752
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)