site24x7_apminsight 1.0 → 1.1

Sign up to get free protection for your applications and to get access to all the features.
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)