site24x7_apminsight 1.6.1 → 1.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE.txt +1 -1
- data/README.rdoc +18 -20
- data/Rakefile +4 -4
- data/lib/agent/configuration/am_configuration.rb +45 -11
- data/lib/agent/handler/tracker_handler.rb +3 -1
- data/lib/agent/logging/am_logger.rb +1 -1
- data/lib/agent/metrics/am_metricsparser.rb +9 -7
- data/lib/agent/server/am_agent.rb +9 -0
- data/lib/agent/server/instrument/action_view.rb +1 -1
- data/lib/agent/server/worker/am_worker.rb +3 -1
- data/lib/agent/util/am_constants.rb +4 -0
- data/lib/agent/util/am_util.rb +40 -1
- data/lib/site24x7_apminsight.rb +2 -2
- data/lib/version.rb +3 -3
- data/site24x7-agent.gemspec +1 -0
- metadata +98 -88
- checksums.yaml +0 -7
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 Site24x7 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
|
+
Site24x7 APM Insight Ruby agent gives you end-to-end web-transaction awareness enabling you to isolate performance issues and resolve them quickly. Site24x7 APM Insight requires a monitoring agent (ruby gem) to be deployed in your application server to monitor Ruby application performance. Download the latest Ruby Agent(site24x7_apminsight.gem) and deploy it in your application server. The agent collects application performance metrics and sends it to the central Site24x7 server at fixed intervals i.e. every 60 seconds. You can view them at https://site24x7.com in your accounts page.
|
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 site24x7_apminsight
|
11
11
|
|
12
12
|
OR
|
13
13
|
|
14
|
-
|
14
|
+
* Download the site24x7_apminsight.gem file from your accounts page in https://site24x7.com (after sign in) or the RubyGems website and run the command
|
15
15
|
|
16
|
-
gem install
|
16
|
+
gem install site24x7_apminsight.gem
|
17
17
|
|
18
18
|
Configuration
|
19
19
|
|
@@ -21,30 +21,28 @@ Configuration
|
|
21
21
|
|
22
22
|
For each of your applications, add the following line to the application gemfile:
|
23
23
|
|
24
|
-
gem '
|
24
|
+
gem 'site24x7_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 'site24x7_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> /site24x7_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 Site24x7 server.
|
38
38
|
|
39
|
-
|
40
|
-
|
41
|
-
apm.port - The HTTP port of Applications Manager.
|
39
|
+
license.key - The license api key from your account page after sign in (https://site24x7.com)
|
42
40
|
|
43
41
|
behind.proxy - The proxy network under which the agent is installed
|
44
42
|
|
45
43
|
agent.server.port - The HTTP listening port of the Application Server.
|
46
44
|
|
47
|
-
More configuration options of APM Insight Ruby Agent can be found here.
|
45
|
+
More configuration options of APM Insight Ruby Agent can be found here. https://www.site24x7.com/help/apm/apm-insight-configuration.html
|
48
46
|
|
49
47
|
Supported Environments :
|
50
48
|
|
@@ -54,16 +52,16 @@ Supported Environments :
|
|
54
52
|
|
55
53
|
References
|
56
54
|
|
57
|
-
*
|
58
|
-
|
59
|
-
http://www.manageengine.com/products/applications_manager/
|
55
|
+
* Create an apminsight account in Site24x7 server (https://www.site24x7.com)
|
60
56
|
|
61
|
-
* Download link for
|
57
|
+
* Download link for site24x7_apminsight gem
|
62
58
|
|
63
|
-
|
64
|
-
|
59
|
+
From your account page after valid sign in
|
60
|
+
or
|
61
|
+
http://rubygems.org/gems/site24x7_apminsight
|
65
62
|
|
66
63
|
* Help Documentation for apminsight
|
67
64
|
|
68
|
-
|
69
|
-
|
65
|
+
https://www.site24x7.com/help/apm/ruby-agent.html
|
66
|
+
https://support.site24x7.com/portal/helpcenter/site24x7/apm-insight/ruby-monitoring
|
67
|
+
|
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 = "site24x7_apminsight"
|
18
|
+
gem.homepage = "https://www.site24x7.com/help/apm/ruby-agent.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 = ["Rajalakshmi Ezhilan"]
|
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 = "site24x7_apminsight #{version}"
|
52
52
|
rdoc.rdoc_files.include('README*')
|
53
53
|
rdoc.rdoc_files.include('lib/**/*.*')
|
54
54
|
rdoc.rdoc_files.include('lib/agent/**/*.*')
|
@@ -33,15 +33,15 @@ module ManageEngine
|
|
33
33
|
@obj.log.info "APP HOME #{File.absolute_path(".")} "
|
34
34
|
@obj.log.info "APP HOME #{Dir.pwd} "
|
35
35
|
@obj.log.info "Agent Version : #{ManageEngine::APMInsight::VERSION}"
|
36
|
-
|
37
|
-
|
36
|
+
#@obj.log.info "Configuration : "
|
37
|
+
#@obj.log.info "Hostname : #{@agenthost}"
|
38
38
|
@obj.log.info "Host Type: #{@hostType}"
|
39
39
|
@obj.log.info "Agent Already Connected : #{@alreadyconnected}"
|
40
40
|
@obj.log.info "Agent Enabled : #{@agent_enabled}"
|
41
41
|
@obj.log.info "Allowed DB Operations : #{@db_operations}"
|
42
|
-
@config.each do|key,val|
|
43
|
-
@obj.log.info "#{key} => #{val}"
|
44
|
-
end
|
42
|
+
# @config.each do|key,val|
|
43
|
+
# @obj.log.info "#{key} => #{val}"
|
44
|
+
# end
|
45
45
|
@obj.log.info "URL Merge Patterns"
|
46
46
|
@url_merge_pattern.each do |key, val|
|
47
47
|
@obj.log.info "#{key} => #{val}"
|
@@ -188,7 +188,10 @@ module ManageEngine
|
|
188
188
|
when "proxy.server.host" then @proxy_host=value
|
189
189
|
when "proxy.server.port" then @proxy_port=isInteger(@proxy_port,value)
|
190
190
|
when "proxy.auth.username" then @proxy_user=value
|
191
|
-
when "proxy.auth.password" then @proxy_pass
|
191
|
+
when "proxy.auth.password" then @proxy_pass=@obj.util.decrypt value, @license_key
|
192
|
+
if (@proxy_pass == nil)
|
193
|
+
@proxy_pass = value
|
194
|
+
end
|
192
195
|
when "apm.protocol.https" then @is_secured=@obj.util.getBooleanValue value
|
193
196
|
when "apminsight.log.dir" then @logs_dir=value
|
194
197
|
when "apminsight.log.level" then @obj.log.setLevel value
|
@@ -200,18 +203,46 @@ module ManageEngine
|
|
200
203
|
when "transaction.tracestore.size" then @trace_overflow_t = isInteger(@trace_overflow_t, value)
|
201
204
|
end
|
202
205
|
end
|
206
|
+
store_encrypted_data(@config)
|
203
207
|
end
|
204
208
|
|
205
209
|
#Checks whether the given value is Environment Variable
|
206
210
|
def checkAndGetEnvValue(data)
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
211
|
+
begin
|
212
|
+
value = "#{data}"[/{(.*)}/,1]
|
213
|
+
if (value != nil && ENV.has_key?(value))
|
214
|
+
return data.gsub(/{.*}/, ENV[value])
|
215
|
+
end
|
216
|
+
rescue Exception=>e
|
212
217
|
end
|
218
|
+
return data
|
213
219
|
end
|
214
220
|
|
221
|
+
def store_encrypted_data config
|
222
|
+
data = config["proxy.auth.password"]
|
223
|
+
if (data != nil && @obj.util.decrypt(data, @license_key) == nil) # checking whether data is already encrypted
|
224
|
+
begin
|
225
|
+
file_contents = ""
|
226
|
+
conf_file = File.open(@obj.constants.apm_conf, 'r')
|
227
|
+
conf_file.read.each_line do |line|
|
228
|
+
if line.start_with?("proxy.auth.password")
|
229
|
+
file_contents += "proxy.auth.password=" + @obj.util.encrypt(config["proxy.auth.password"], @license_key)
|
230
|
+
else
|
231
|
+
file_contents += line
|
232
|
+
end
|
233
|
+
#file_contents += "\n"
|
234
|
+
end #end of do read loop
|
235
|
+
conf_file.close
|
236
|
+
conf_file = File.open(@obj.constants.apm_conf, "w+")
|
237
|
+
conf_file.puts file_contents
|
238
|
+
conf_file.close
|
239
|
+
file_contents = nil # clearing memory
|
240
|
+
rescue Exception=>e
|
241
|
+
@obj.log.logException "Error while encrypting file", e
|
242
|
+
end
|
243
|
+
end # if already encrypted
|
244
|
+
end
|
245
|
+
|
215
246
|
def getHostType
|
216
247
|
begin
|
217
248
|
# Check for AWS environment
|
@@ -288,6 +319,9 @@ module ManageEngine
|
|
288
319
|
if defined?(PhusionPassenger) then
|
289
320
|
dispatcher = "passenger"
|
290
321
|
end
|
322
|
+
if defined?(::Unicorn) && defined?(::Unicorn::HttpServer) then
|
323
|
+
dispatcher = "unicorn"
|
324
|
+
end
|
291
325
|
dispatcher
|
292
326
|
end
|
293
327
|
|
@@ -14,7 +14,7 @@ module ManageEngine
|
|
14
14
|
path= path + '/apm.log'
|
15
15
|
#puts "#{path}"
|
16
16
|
# file = open(path, File::WRONLY | File::APPEND | File::CREAT)
|
17
|
-
@apmlog = Logger.new(path, 10,
|
17
|
+
@apmlog = Logger.new(path, 10, 5 * 1024 * 1024)
|
18
18
|
# @apmlog = Logger.new(file)
|
19
19
|
@apmlog.level = Logger::INFO
|
20
20
|
@apmlog.datetime_format = "%Y-%m-%d %H:%M:%S"
|
@@ -16,7 +16,7 @@ module ManageEngine
|
|
16
16
|
@obj.log.debug "[Processing started for - #{txn_name} ]"
|
17
17
|
|
18
18
|
seqBag.each do |seqData|
|
19
|
-
|
19
|
+
begin
|
20
20
|
tdata = Hash.new #transaction data -> rt, path,..
|
21
21
|
exceptionInfo = Array.new # data to be sent in trace as 'loginfo'
|
22
22
|
|
@@ -38,7 +38,9 @@ module ManageEngine
|
|
38
38
|
if @obj.config.trans_trace && (rootTracker.duration >= (@obj.config.trans_trace_t.to_f*1000).to_i || rootTracker.error?)
|
39
39
|
parseddata = updateTraceData(rootTracker, parseddata, exceptionInfo)
|
40
40
|
end
|
41
|
-
|
41
|
+
rescue Exception=>e
|
42
|
+
@obj.log.logException "Exception in Parsing txn #{txn_name}",e
|
43
|
+
end
|
42
44
|
end # do - seqBag
|
43
45
|
|
44
46
|
@obj.store.removeData txn_name
|
@@ -149,11 +151,11 @@ module ManageEngine
|
|
149
151
|
# Generates DB metric
|
150
152
|
def getDBData(tracker, tdata, exceptionInfo)
|
151
153
|
while (tracker != nil)
|
152
|
-
|
154
|
+
tdata["db"] = getDBData(tracker.child, tdata, exceptionInfo)
|
153
155
|
|
154
156
|
if tracker.kind_of?(ManageEngine::Tracker::DatabaseTracker)
|
155
|
-
if
|
156
|
-
|
157
|
+
if tdata["db"] == nil
|
158
|
+
tdata["db"] = Array.new
|
157
159
|
end
|
158
160
|
|
159
161
|
queryInfo = tracker.getQueryInfo
|
@@ -166,7 +168,7 @@ module ManageEngine
|
|
166
168
|
ret["error"] = true
|
167
169
|
end
|
168
170
|
|
169
|
-
|
171
|
+
tdata["db"].push(ret)
|
170
172
|
end ## DBTracker check
|
171
173
|
|
172
174
|
if (tracker.error?)
|
@@ -177,7 +179,7 @@ module ManageEngine
|
|
177
179
|
tracker = tracker.sibling
|
178
180
|
end ## while loop
|
179
181
|
|
180
|
-
|
182
|
+
tdata["db"]
|
181
183
|
end
|
182
184
|
|
183
185
|
def updateExceptionMetric (exception, tdata)
|
@@ -90,6 +90,7 @@ module ManageEngine
|
|
90
90
|
end
|
91
91
|
|
92
92
|
def doDispatcherActions
|
93
|
+
@obj.log.info "Dispatcher: #{@obj.config.app_dispatcher}"
|
93
94
|
case @obj.config.app_dispatcher
|
94
95
|
when 'passenger'
|
95
96
|
#starting a new process
|
@@ -107,6 +108,14 @@ module ManageEngine
|
|
107
108
|
ManageEngine::APMWorker.getInstance.stop
|
108
109
|
@obj.log.info "stopping_worker_process :Process ID :#{Process.pid} ----> #$$ "
|
109
110
|
end
|
111
|
+
when 'unicorn'
|
112
|
+
Unicorn::HttpServer.class_eval do
|
113
|
+
old_object = instance_method(:worker_loop)
|
114
|
+
define_method(:worker_loop) do |worker|
|
115
|
+
::ManageEngine::APMObjectHolder.instance.agent.doCollect
|
116
|
+
old_object.bind(self).call(worker)
|
117
|
+
end
|
118
|
+
end
|
110
119
|
else#case
|
111
120
|
|
112
121
|
end#case
|
@@ -16,7 +16,7 @@ module ManageEngine
|
|
16
16
|
|
17
17
|
def instrument
|
18
18
|
@obj = ManageEngine::APMObjectHolder.instance
|
19
|
-
@obj.log.info "Instrumenting
|
19
|
+
@obj.log.info "Instrumenting ActiveView"
|
20
20
|
|
21
21
|
ActiveSupport::Notifications.subscribe('render_template.action_view') do |name, start, finish, id, payload|
|
22
22
|
collect_data(name, start, finish, payload)
|
@@ -6,6 +6,7 @@ module ManageEngine
|
|
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, :agent_specific_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
|
attr_reader :mf_logmetric, :mf_logmetric_warning, :mf_exception_st, :mf_err_st, :mf_loginfo, :mf_loginfo_time, :mf_loginfo_level, :mf_loginfo_str, :mf_loginfo_err_clz, :mf_loginfo_st, :mf_loginfo_level_warn
|
9
|
+
attr_reader :en_alphabets, :en_numerals
|
9
10
|
|
10
11
|
def initialize
|
11
12
|
|
@@ -88,6 +89,9 @@ module ManageEngine
|
|
88
89
|
@mf_loginfo_st = "st"
|
89
90
|
@mf_loginfo_level_warn = "WARN"
|
90
91
|
|
92
|
+
@en_alphabets = "YXBtaWza"
|
93
|
+
@en_numerals = "24876981"
|
94
|
+
|
91
95
|
end
|
92
96
|
|
93
97
|
def setLicenseKey lkey
|
data/lib/agent/util/am_util.rb
CHANGED
@@ -1,11 +1,50 @@
|
|
1
|
+
require "agent/am_objectholder"
|
2
|
+
|
1
3
|
require 'socket'
|
4
|
+
require 'openssl'
|
5
|
+
require 'base64'
|
6
|
+
|
2
7
|
module ManageEngine
|
3
8
|
class APMUtil
|
4
|
-
|
9
|
+
|
5
10
|
def setLogger log
|
6
11
|
@log = log
|
7
12
|
end
|
8
13
|
|
14
|
+
def encrypt text, key
|
15
|
+
if (text == nil || key == nil)
|
16
|
+
return nil
|
17
|
+
end
|
18
|
+
cipher_text = nil
|
19
|
+
begin
|
20
|
+
key = key.length > 16 ? key[(key.length-16)..-1] : key
|
21
|
+
cipher = OpenSSL::Cipher.new('AES-128-CBC').encrypt
|
22
|
+
cipher.key = key
|
23
|
+
cipher.iv = ManageEngine::APMObjectHolder.instance.constants.en_alphabets + ManageEngine::APMObjectHolder.instance.constants.en_numerals
|
24
|
+
cipher_text = Base64.encode64(cipher.update(text) + cipher.final)
|
25
|
+
rescue Exception=>e
|
26
|
+
cipher_text = nil
|
27
|
+
end
|
28
|
+
return cipher_text
|
29
|
+
end
|
30
|
+
|
31
|
+
def decrypt cipher_text, key
|
32
|
+
if (cipher_text == nil || key == nil)
|
33
|
+
return nil
|
34
|
+
end
|
35
|
+
plain_text = nil
|
36
|
+
begin
|
37
|
+
key = key.length > 16 ? key[(key.length-16)..-1] : key
|
38
|
+
cipher = OpenSSL::Cipher.new('AES-128-CBC').decrypt
|
39
|
+
cipher.key = key
|
40
|
+
cipher.iv = ManageEngine::APMObjectHolder.instance.constants.en_alphabets + ManageEngine::APMObjectHolder.instance.constants.en_numerals
|
41
|
+
plain_text = cipher.update(Base64.decode64(cipher_text)) + cipher.final
|
42
|
+
rescue Exception=>e
|
43
|
+
plain_text = nil
|
44
|
+
end
|
45
|
+
return plain_text
|
46
|
+
end
|
47
|
+
|
9
48
|
#Reads the Property Files and returns a Hashes
|
10
49
|
def readProperties filepath
|
11
50
|
props = {}
|
data/lib/site24x7_apminsight.rb
CHANGED
data/lib/version.rb
CHANGED
data/site24x7-agent.gemspec
CHANGED
metadata
CHANGED
@@ -1,103 +1,111 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: site24x7_apminsight
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 1
|
7
|
+
- 7
|
8
|
+
- 0
|
9
|
+
version: 1.7.0
|
5
10
|
platform: ruby
|
6
|
-
authors:
|
11
|
+
authors:
|
7
12
|
- Adithyan P
|
8
13
|
autorequire:
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
|
-
|
12
|
-
|
13
|
-
|
16
|
+
|
17
|
+
date: 2018-04-27 00:00:00 +05:30
|
18
|
+
default_executable:
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
14
21
|
name: shoulda
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :development
|
21
22
|
prerelease: false
|
22
|
-
|
23
|
-
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
24
26
|
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
|
27
|
-
-
|
28
|
-
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 1.0.0
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
segments:
|
29
|
+
- 0
|
30
|
+
version: "0"
|
34
31
|
type: :development
|
32
|
+
version_requirements: *id001
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: bundler
|
35
35
|
prerelease: false
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
36
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
37
|
+
none: false
|
38
|
+
requirements:
|
39
|
+
- - ~>
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
segments:
|
42
|
+
- 1
|
43
|
+
- 0
|
44
|
+
- 0
|
40
45
|
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
|
47
|
-
version: 1.6.4
|
48
46
|
type: :development
|
47
|
+
version_requirements: *id002
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: jeweler
|
49
50
|
prerelease: false
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
51
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
54
|
+
- - ~>
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
segments:
|
57
|
+
- 1
|
58
|
+
- 6
|
59
|
+
- 4
|
54
60
|
version: 1.6.4
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rcov
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
61
|
type: :development
|
62
|
+
version_requirements: *id003
|
63
|
+
- !ruby/object:Gem::Dependency
|
64
|
+
name: rcov
|
63
65
|
prerelease: false
|
64
|
-
|
65
|
-
|
66
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
67
|
+
none: false
|
68
|
+
requirements:
|
66
69
|
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
|
69
|
-
-
|
70
|
-
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: 3.0.0
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
segments:
|
72
|
+
- 0
|
73
|
+
version: "0"
|
76
74
|
type: :development
|
75
|
+
version_requirements: *id004
|
76
|
+
- !ruby/object:Gem::Dependency
|
77
|
+
name: rails
|
77
78
|
prerelease: false
|
78
|
-
|
79
|
-
|
79
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
80
|
+
none: false
|
81
|
+
requirements:
|
80
82
|
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
segments:
|
85
|
+
- 3
|
86
|
+
- 0
|
87
|
+
- 0
|
82
88
|
version: 3.0.0
|
83
|
-
|
84
|
-
|
85
|
-
|
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
|
89
|
+
type: :development
|
90
|
+
version_requirements: *id005
|
91
|
+
description: Site24x7 APMInsight gives you end-to-end web-transaction awareness of Rails applications enabling you to isolate performance issues and resolve them quickly. To monitor Rails application performance, download and deploy Ruby agent(site24x7_apminsight) in your Application Server. This agent allows you to send information about Ruby applications. You can install APM Insight Agent via Rubygems or download it from your user account in Site24x7
|
89
92
|
email: apm-insight@zohocorp.com
|
90
93
|
executables: []
|
94
|
+
|
91
95
|
extensions: []
|
92
|
-
|
96
|
+
|
97
|
+
extra_rdoc_files:
|
93
98
|
- LICENSE.txt
|
94
99
|
- README.rdoc
|
95
|
-
files:
|
100
|
+
files:
|
96
101
|
- LICENSE.txt
|
97
102
|
- README.rdoc
|
98
103
|
- Rakefile
|
99
104
|
- VERSION
|
105
|
+
- site24x7-agent.gemspec
|
100
106
|
- conf/apminsight.conf
|
107
|
+
- lib/version.rb
|
108
|
+
- lib/site24x7_apminsight.rb
|
101
109
|
- lib/agent/am_objectholder.rb
|
102
110
|
- lib/agent/api/custom_tracker.rb
|
103
111
|
- lib/agent/configuration/am_configuration.rb
|
@@ -126,35 +134,37 @@ files:
|
|
126
134
|
- lib/agent/util/am_constants.rb
|
127
135
|
- lib/agent/util/am_util.rb
|
128
136
|
- lib/agent/util/transaction_util.rb
|
129
|
-
|
130
|
-
- lib/version.rb
|
131
|
-
- site24x7-agent.gemspec
|
137
|
+
has_rdoc: true
|
132
138
|
homepage: https://www.site24x7.com/help/apm/ruby-agent.html
|
133
139
|
licenses: []
|
134
|
-
|
140
|
+
|
135
141
|
post_install_message:
|
136
142
|
rdoc_options: []
|
137
|
-
|
143
|
+
|
144
|
+
require_paths:
|
138
145
|
- lib
|
139
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
140
|
-
|
146
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
147
|
+
none: false
|
148
|
+
requirements:
|
141
149
|
- - ">="
|
142
|
-
- !ruby/object:Gem::Version
|
143
|
-
|
144
|
-
|
145
|
-
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
segments:
|
152
|
+
- 0
|
153
|
+
version: "0"
|
154
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
155
|
+
none: false
|
156
|
+
requirements:
|
146
157
|
- - ">="
|
147
|
-
- !ruby/object:Gem::Version
|
148
|
-
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
segments:
|
160
|
+
- 0
|
161
|
+
version: "0"
|
149
162
|
requirements: []
|
163
|
+
|
150
164
|
rubyforge_project:
|
151
|
-
rubygems_version:
|
165
|
+
rubygems_version: 1.3.7
|
152
166
|
signing_key:
|
153
167
|
specification_version: 3
|
154
|
-
summary: Site24x7 APMInsight gives you end-to-end web-transaction awareness of Rails
|
155
|
-
applications enabling you to isolate performance issues and resolve them quickly.
|
156
|
-
To monitor Rails application performance, download and deploy Ruby agent(site24x7_apminsight.gem)
|
157
|
-
in your Application Server. This agent allows you to send information about Ruby
|
158
|
-
applications. You can install APM Insight Agent via Rubygems or download it from
|
159
|
-
your user account in Site24x7
|
168
|
+
summary: Site24x7 APMInsight gives you end-to-end web-transaction awareness of Rails applications enabling you to isolate performance issues and resolve them quickly. To monitor Rails application performance, download and deploy Ruby agent(site24x7_apminsight.gem) in your Application Server. This agent allows you to send information about Ruby applications. You can install APM Insight Agent via Rubygems or download it from your user account in Site24x7
|
160
169
|
test_files: []
|
170
|
+
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: d76a53e1e761dff35a1b9ffa239059d709f21b4e
|
4
|
-
data.tar.gz: 2d889d6028257c42b6c696c7e6c20fecdc8be502
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: d1f6c249354a96b40abb289c61bf334c76c60a04f7a6b6505ed50fbd7a8ad6ed0e652604daa4924c1bb4edf11f02ce0c799b58e4c704d4b2369582c01a8139b4
|
7
|
-
data.tar.gz: 40375cc06cf940a4e408b5fa8072c00f4d49f8b4527d5ca301e2ef60c95aadb6596ac58d2a15cb2e5b41fbafb059c0d80f59b6fe4e7204350db7d4b6e25e9594
|