site24x7_apminsight 1.9.0 → 1.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +1 -1
- data/README.rdoc +20 -18
- data/Rakefile +4 -4
- data/VERSION +1 -1
- data/lib/agent/configuration/am_configuration.rb +4 -1
- data/lib/agent/server/instrument/environment.rb +3 -1
- data/lib/agent/server/instrument/puma.rb +39 -0
- data/lib/agent/server/instrument/rails.rb +6 -0
- data/lib/agent/version.rb +2 -2
- metadata +88 -98
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 6adf1511641c4e23c0e5f0a0ac71336dd62c4fe0ee23b0df46b07e804c74841a
|
4
|
+
data.tar.gz: 1d5dcaa91fd5e185f3592c86f686af35f33d20918297ef0f1d2deeaffa5a5c7b
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 7a01e038e40a5656c0c62dd353dcb5c118bc071312612aef245fdf1d2edcf2ae4a6dded206406febda1f029b42a961b5b75758565758938dc5ee77a7e837b92c
|
7
|
+
data.tar.gz: 80d84c7ba2f6095adb9050040283a788242d94f7ad9e00b9141b76addbb88123fa16027de9af33723bd3a60daa9e5a01c4a75b5ea0205a0d3c009aed7f23ca3c
|
data/LICENSE.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
This License Agreement details the policy for license of
|
1
|
+
This License Agreement details the policy for license of ManageEngine APM Insight Ruby Agent ("Licensed Software")
|
2
2
|
Please read the following license carefully, before either (i) downloading the Licensed Software from an authorized website, or (ii) installing the Licensed Software. You acknowledge that you have read this License Agreement, have understood it, and agree to be bound by its terms. If you do not agree to the terms and conditions of this Agreement, do not download or install the Licensed Software.
|
3
3
|
|
4
4
|
1. LICENSE GRANT
|
data/README.rdoc
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
APM Insight Ruby Agent
|
2
|
-
|
2
|
+
Applications Manager's Ruby agent gives you end-to-end web-transaction awareness enabling you to isolate performance issues and resolve them quickly.Applications Manager requires a monitoring agent (ruby gem) to be deployed in your application server to monitor Ruby application performance. Download the latest Ruby Agent(apminsight.gem) and deploy it in your application server. The agent collects application performance metrics and sends it to the central Applications Manager server at fixed intervals i.e. every 60 seconds.
|
3
3
|
|
4
4
|
Installing APM Insight Agent
|
5
5
|
|
@@ -7,13 +7,13 @@ Installing APM Insight Agent
|
|
7
7
|
|
8
8
|
* Install from RubyGems by using the following command in the system where Ruby is installed :
|
9
9
|
|
10
|
-
|
10
|
+
gem install apminsight
|
11
11
|
|
12
12
|
OR
|
13
13
|
|
14
|
-
|
14
|
+
* Download the apminsight.gem file directly from our website or the RubyGems website and run the command
|
15
15
|
|
16
|
-
gem install
|
16
|
+
gem install apminsight.gem
|
17
17
|
|
18
18
|
Configuration
|
19
19
|
|
@@ -21,28 +21,30 @@ Configuration
|
|
21
21
|
|
22
22
|
For each of your applications, add the following line to the application gemfile:
|
23
23
|
|
24
|
-
gem '
|
24
|
+
gem 'apminsight'
|
25
25
|
|
26
26
|
OR
|
27
27
|
|
28
28
|
For each of your applications, add the following line to the application initializer block:
|
29
29
|
|
30
|
-
require '
|
30
|
+
require 'apminsight'
|
31
31
|
|
32
|
-
A copy of the configuration file apminsight.conf will be available in the <Gem Installed folder> /
|
32
|
+
A copy of the configuration file apminsight.conf will be available in the <Gem Installed folder> /apminsight/conf/. Configure the class name in the configuration file(include.packages), so that all the methods in that class can be instrumented and details will be reported in tracedata.
|
33
33
|
|
34
34
|
|
35
35
|
The following configuration options are mandatory and should be provided for the agent to be initialized:
|
36
36
|
|
37
|
-
application.name - The application's name to be displayed in
|
37
|
+
application.name - The application's name to be displayed in Applications Manager.
|
38
38
|
|
39
|
-
|
39
|
+
apm.host - The host where Applications Manager is running.
|
40
|
+
|
41
|
+
apm.port - The HTTP port of Applications Manager.
|
40
42
|
|
41
43
|
behind.proxy - The proxy network under which the agent is installed
|
42
44
|
|
43
45
|
agent.server.port - The HTTP listening port of the Application Server.
|
44
46
|
|
45
|
-
More configuration options of APM Insight Ruby Agent can be found here.
|
47
|
+
More configuration options of APM Insight Ruby Agent can be found here.
|
46
48
|
|
47
49
|
Supported Environments :
|
48
50
|
|
@@ -52,16 +54,16 @@ Supported Environments :
|
|
52
54
|
|
53
55
|
References
|
54
56
|
|
55
|
-
*
|
57
|
+
* Download link for Applications Manager
|
56
58
|
|
57
|
-
|
59
|
+
http://www.manageengine.com/products/applications_manager/
|
58
60
|
|
59
|
-
|
60
|
-
or
|
61
|
-
http://rubygems.org/gems/site24x7_apminsight
|
61
|
+
* Download link for apminsight
|
62
62
|
|
63
|
-
|
63
|
+
http://www.manageengine.com/products/applications_manager/
|
64
|
+
http://rubygems.org/gems/apminsight
|
64
65
|
|
65
|
-
|
66
|
-
https://support.site24x7.com/portal/helpcenter/site24x7/apm-insight/ruby-monitoring
|
66
|
+
* Help Documentation for apminsight
|
67
67
|
|
68
|
+
http://www.manageengine.com/products/applications_manager/help/APMInsight/installing-transaction-agent.html
|
69
|
+
|
data/Rakefile
CHANGED
@@ -14,13 +14,13 @@ require 'rake'
|
|
14
14
|
require 'jeweler'
|
15
15
|
Jeweler::Tasks.new do |gem|
|
16
16
|
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
17
|
-
gem.name = "
|
18
|
-
gem.homepage = "
|
17
|
+
gem.name = "apminsight"
|
18
|
+
gem.homepage = "http://www.manageengine.com/products/applications_manager/ruby-webtransaction-monitoring.html"
|
19
19
|
gem.license = "MIT"
|
20
20
|
gem.summary = %Q{Application Performace Monitor}
|
21
21
|
gem.description = %Q{Application Performace Monitor : Monitor the web tranasactions}
|
22
22
|
gem.email = "apm-insight@zohocorp.com"
|
23
|
-
gem.authors = ["
|
23
|
+
gem.authors = ["Sabarinathan P"]
|
24
24
|
gem.files=Dir.glob('lib/**/*.*')
|
25
25
|
# dependencies defined in Gemfile
|
26
26
|
end
|
@@ -48,7 +48,7 @@ Rake::RDocTask.new do |rdoc|
|
|
48
48
|
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
49
49
|
|
50
50
|
rdoc.rdoc_dir = 'rdoc'
|
51
|
-
rdoc.title = "
|
51
|
+
rdoc.title = "apminsight #{version}"
|
52
52
|
rdoc.rdoc_files.include('README*')
|
53
53
|
rdoc.rdoc_files.include('lib/**/*.*')
|
54
54
|
rdoc.rdoc_files.include('lib/agent/**/*.*')
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.8.2
|
1
|
+
1.8.2
|
@@ -180,7 +180,7 @@ module ManageEngine
|
|
180
180
|
@metric_overflow_t=250
|
181
181
|
@dbmetric_overflow_t=500
|
182
182
|
@trace_overflow_t=30
|
183
|
-
|
183
|
+
#@site24x7url = @obj.constants.site24x7USurl #default agent communication URL
|
184
184
|
@delayedStart = false
|
185
185
|
end
|
186
186
|
|
@@ -385,6 +385,9 @@ module ManageEngine
|
|
385
385
|
if defined?(Rainbows) then
|
386
386
|
dispatcher = "rainbows"
|
387
387
|
end
|
388
|
+
if defined?(Puma) then
|
389
|
+
dispatcher = "puma"
|
390
|
+
end
|
388
391
|
dispatcher
|
389
392
|
end
|
390
393
|
|
@@ -3,6 +3,7 @@ require 'agent/server/instrument/sinatra'
|
|
3
3
|
require 'agent/server/instrument/active_record'
|
4
4
|
require 'agent/server/instrument/action_view'
|
5
5
|
require 'agent/server/instrument/sidekiq_server'
|
6
|
+
require 'agent/server/instrument/puma'
|
6
7
|
|
7
8
|
module ManageEngine
|
8
9
|
class Environment
|
@@ -18,7 +19,8 @@ module ManageEngine
|
|
18
19
|
|
19
20
|
OTHER_INTERCEPTORS = [
|
20
21
|
ManageEngine::Instrumentation::ActionView.new,
|
21
|
-
ManageEngine::Instrumentation::SidekiqServer.new
|
22
|
+
ManageEngine::Instrumentation::SidekiqServer.new,
|
23
|
+
ManageEngine::Instrumentation::PumaWorker.new
|
22
24
|
]
|
23
25
|
|
24
26
|
def detect_and_instrument
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module ManageEngine
|
2
|
+
module Instrumentation
|
3
|
+
class PumaWorker
|
4
|
+
|
5
|
+
def present?
|
6
|
+
defined?(Puma::Server)
|
7
|
+
end
|
8
|
+
|
9
|
+
def version
|
10
|
+
Puma::Const::PUMA_VERSION
|
11
|
+
end
|
12
|
+
|
13
|
+
def env
|
14
|
+
ENV['RACK_ENV'] || ENV['RAILS_ENV'] || 'development'
|
15
|
+
end
|
16
|
+
|
17
|
+
def name
|
18
|
+
'Puma Worker'
|
19
|
+
end
|
20
|
+
|
21
|
+
def instrument
|
22
|
+
ManageEngine::APMObjectHolder.instance.log.info "Instrumenting Puma server workers. Version: #{version}"
|
23
|
+
Puma::Server.class_eval do
|
24
|
+
include ManageEngine::Instrumentation::PumaRun
|
25
|
+
alias original_run run
|
26
|
+
alias run agent_run
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
module PumaRun
|
32
|
+
def agent_run(*args, &block)
|
33
|
+
::ManageEngine::APMObjectHolder.instance.agent.doCollect
|
34
|
+
original_run(*args, &block)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
@@ -24,6 +24,8 @@ module ManageEngine
|
|
24
24
|
'Rails'
|
25
25
|
end
|
26
26
|
|
27
|
+
# https://edgeguides.rubyonrails.org/active_support_instrumentation.html#rails-framework-hooks
|
28
|
+
|
27
29
|
def instrument
|
28
30
|
@obj = ManageEngine::APMObjectHolder.instance
|
29
31
|
@obj.log.info "Instrumenting ActionController.. Rails Version: #{version}"
|
@@ -31,6 +33,9 @@ module ManageEngine
|
|
31
33
|
|
32
34
|
ActiveSupport::Notifications.subscribe('start_processing.action_controller') do |name, start, finish, id, payload|
|
33
35
|
path = payload[:path].partition("?")[0]
|
36
|
+
# request = payload[:request]
|
37
|
+
# request.original_url => returns http://www.example.com/articles?page=2
|
38
|
+
# request.request_method
|
34
39
|
@railsTracker = ManageEngine::Tracker::RootTracker.new("#{payload[:controller]}.#{payload[:action]}", start.to_f * 1000)
|
35
40
|
@railsTracker.url=(path)
|
36
41
|
@railsTracker = ManageEngine::Agent::TrackerHandler.invokeTracker(@railsTracker)
|
@@ -43,6 +48,7 @@ module ManageEngine
|
|
43
48
|
exception = payload[:exception_object]
|
44
49
|
if exception != nil
|
45
50
|
@railsTracker.setError(exception)
|
51
|
+
# TODO: payload[:status]
|
46
52
|
@railsTracker.setStatus(500) # By default, set 500 as status for error txns
|
47
53
|
end
|
48
54
|
ManageEngine::Agent::TrackerHandler.exitTracker(@railsTracker)
|
data/lib/agent/version.rb
CHANGED
metadata
CHANGED
@@ -1,110 +1,103 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: site24x7_apminsight
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
segments:
|
6
|
-
- 1
|
7
|
-
- 9
|
8
|
-
- 0
|
9
|
-
version: 1.9.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.9.1
|
10
5
|
platform: ruby
|
11
|
-
authors:
|
6
|
+
authors:
|
12
7
|
- Adithyan P
|
13
8
|
autorequire:
|
14
9
|
bindir: bin
|
15
10
|
cert_chain: []
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
dependencies:
|
20
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2024-06-26 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
21
14
|
name: shoulda
|
22
|
-
|
23
|
-
|
24
|
-
none: false
|
25
|
-
requirements:
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
26
17
|
- - ">="
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
- 0
|
30
|
-
version: "0"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
31
20
|
type: :development
|
32
|
-
version_requirements: *id001
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: bundler
|
35
21
|
prerelease: false
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
45
33
|
version: 1.0.0
|
46
34
|
type: :development
|
47
|
-
version_requirements: *id002
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
|
-
name: jeweler
|
50
35
|
prerelease: false
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.0.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: jeweler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
60
47
|
version: 1.6.4
|
61
48
|
type: :development
|
62
|
-
version_requirements: *id003
|
63
|
-
- !ruby/object:Gem::Dependency
|
64
|
-
name: rcov
|
65
49
|
prerelease: false
|
66
|
-
|
67
|
-
|
68
|
-
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.6.4
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rcov
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
69
59
|
- - ">="
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
|
72
|
-
- 0
|
73
|
-
version: "0"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
74
62
|
type: :development
|
75
|
-
version_requirements: *id004
|
76
|
-
- !ruby/object:Gem::Dependency
|
77
|
-
name: rails
|
78
63
|
prerelease: false
|
79
|
-
|
80
|
-
|
81
|
-
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rails
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
82
73
|
- - ">="
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
segments:
|
85
|
-
- 3
|
86
|
-
- 0
|
87
|
-
- 0
|
74
|
+
- !ruby/object:Gem::Version
|
88
75
|
version: 3.0.0
|
89
76
|
type: :development
|
90
|
-
|
91
|
-
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 3.0.0
|
83
|
+
description: Site24x7 APMInsight gives you end-to-end web-transaction awareness of
|
84
|
+
Rails applications enabling you to isolate performance issues and resolve them quickly.
|
85
|
+
To monitor Rails application performance, download and deploy Ruby agent(site24x7_apminsight)
|
86
|
+
in your Application Server. This agent allows you to send information about Ruby
|
87
|
+
applications. You can install APM Insight Agent via Rubygems or download it from
|
88
|
+
your user account in Site24x7
|
92
89
|
email: apm-insight@zohocorp.com
|
93
90
|
executables: []
|
94
|
-
|
95
91
|
extensions: []
|
96
|
-
|
97
|
-
extra_rdoc_files:
|
92
|
+
extra_rdoc_files:
|
98
93
|
- LICENSE.txt
|
99
94
|
- README.rdoc
|
100
|
-
files:
|
95
|
+
files:
|
101
96
|
- LICENSE.txt
|
102
97
|
- README.rdoc
|
103
98
|
- Rakefile
|
104
99
|
- VERSION
|
105
|
-
- site24x7-agent.gemspec
|
106
100
|
- conf/apminsight.conf
|
107
|
-
- lib/site24x7_apminsight.rb
|
108
101
|
- lib/agent/am_objectholder.rb
|
109
102
|
- lib/agent/api/custom_tracker.rb
|
110
103
|
- lib/agent/configuration/am_configuration.rb
|
@@ -124,6 +117,7 @@ files:
|
|
124
117
|
- lib/agent/server/instrument/am_apm.rb
|
125
118
|
- lib/agent/server/instrument/am_instrumenter.rb
|
126
119
|
- lib/agent/server/instrument/environment.rb
|
120
|
+
- lib/agent/server/instrument/puma.rb
|
127
121
|
- lib/agent/server/instrument/rails.rb
|
128
122
|
- lib/agent/server/instrument/sidekiq_client.rb
|
129
123
|
- lib/agent/server/instrument/sidekiq_server.rb
|
@@ -136,37 +130,33 @@ files:
|
|
136
130
|
- lib/agent/util/am_util.rb
|
137
131
|
- lib/agent/util/transaction_util.rb
|
138
132
|
- lib/agent/version.rb
|
139
|
-
|
133
|
+
- lib/site24x7_apminsight.rb
|
134
|
+
- site24x7-agent.gemspec
|
140
135
|
homepage: https://www.site24x7.com/help/apm/ruby-agent.html
|
141
136
|
licenses: []
|
142
|
-
|
137
|
+
metadata: {}
|
143
138
|
post_install_message:
|
144
139
|
rdoc_options: []
|
145
|
-
|
146
|
-
require_paths:
|
140
|
+
require_paths:
|
147
141
|
- lib
|
148
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
149
|
-
|
150
|
-
requirements:
|
142
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
143
|
+
requirements:
|
151
144
|
- - ">="
|
152
|
-
- !ruby/object:Gem::Version
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
157
|
-
none: false
|
158
|
-
requirements:
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
version: '0'
|
147
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
159
149
|
- - ">="
|
160
|
-
- !ruby/object:Gem::Version
|
161
|
-
|
162
|
-
- 0
|
163
|
-
version: "0"
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '0'
|
164
152
|
requirements: []
|
165
|
-
|
166
|
-
rubyforge_project:
|
167
|
-
rubygems_version: 1.3.7
|
153
|
+
rubygems_version: 3.0.0
|
168
154
|
signing_key:
|
169
155
|
specification_version: 3
|
170
|
-
summary: Site24x7 APMInsight gives you end-to-end web-transaction awareness of Rails
|
156
|
+
summary: Site24x7 APMInsight gives you end-to-end web-transaction awareness of Rails
|
157
|
+
applications enabling you to isolate performance issues and resolve them quickly.
|
158
|
+
To monitor Rails application performance, download and deploy Ruby agent(site24x7_apminsight.gem)
|
159
|
+
in your Application Server. This agent allows you to send information about Ruby
|
160
|
+
applications. You can install APM Insight Agent via Rubygems or download it from
|
161
|
+
your user account in Site24x7
|
171
162
|
test_files: []
|
172
|
-
|