scout_apm 2.1.5 → 2.1.6
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.
- checksums.yaml +4 -4
- data/CHANGELOG.markdown +7 -0
- data/Rakefile +2 -1
- data/ext/rusage/README.md +26 -0
- data/ext/rusage/extconf.rb +5 -0
- data/ext/rusage/rusage.c +52 -0
- data/lib/scout_apm/agent.rb +8 -6
- data/lib/scout_apm/instruments/grape.rb +4 -3
- data/lib/scout_apm/version.rb +1 -1
- data/scout_apm.gemspec +1 -2
- metadata +5 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f03097407f7dbd49d3e27cd565e9e560cde514dd
|
4
|
+
data.tar.gz: 6e5b6ecc1e77af62d996c2e28dd223c5c3cedbc7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 15283444582d7b965d68b30ff095e908e0d3fd84076ecae08e8e352c0eff64001811e6e5affe7736483bb195bc478498eb07c68ca1c4662028eee3b2e7f6b899
|
7
|
+
data.tar.gz: ed60c8e18e26cc79b8535c4c693cac1d6fb775961a38f38cf5ce709255ff93e67d9bc950aaa7d075ec1a49d48ad1d76c52176068baac8cbdaa542b7ed5816d44
|
data/CHANGELOG.markdown
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# master
|
2
2
|
|
3
|
+
# 2.1.6
|
4
|
+
|
5
|
+
* Support older versions of Grape (0.10 onward)
|
6
|
+
* Fix issue with complex AR queries
|
7
|
+
* Vendor rusage library
|
8
|
+
* Fix double-exit that caused error messages when running under Passenger
|
9
|
+
|
3
10
|
# 2.1.5
|
4
11
|
|
5
12
|
* Be less strict loading Rails environments that don't have a matching
|
data/Rakefile
CHANGED
@@ -3,7 +3,7 @@ require "bundler/gem_tasks"
|
|
3
3
|
task :default => :test
|
4
4
|
|
5
5
|
desc "Run Unit Tests"
|
6
|
-
task :test do
|
6
|
+
task :test => [:compile] do
|
7
7
|
$: << File.expand_path(File.dirname(__FILE__) + "/test")
|
8
8
|
Dir.glob('./test/**/*_test.rb').each { |file| require file }
|
9
9
|
end
|
@@ -21,4 +21,5 @@ end
|
|
21
21
|
# Rake Compiler
|
22
22
|
require 'rake/extensiontask'
|
23
23
|
Rake::ExtensionTask.new('allocations')
|
24
|
+
Rake::ExtensionTask.new('rusage')
|
24
25
|
|
@@ -0,0 +1,26 @@
|
|
1
|
+
This is a vendored copy of the rusage gem.
|
2
|
+
|
3
|
+
|
4
|
+
= rusage
|
5
|
+
|
6
|
+
* http://github.com/sandofsky/rusage
|
7
|
+
|
8
|
+
== DESCRIPTION:
|
9
|
+
|
10
|
+
A gem that calls getrusage to get details on the current process.
|
11
|
+
|
12
|
+
Ripped out of the proc/wait3 library, originally written by Daniel J. Berger.
|
13
|
+
|
14
|
+
http://raa.ruby-lang.org/project/proc-wait3/
|
15
|
+
|
16
|
+
== LICENSE:
|
17
|
+
|
18
|
+
Inherits the Artistic License 2.0 from proc/wait3.
|
19
|
+
|
20
|
+
== COPYRIGHT:
|
21
|
+
|
22
|
+
The original code is still copyright Daniel J. Berger.
|
23
|
+
|
24
|
+
rusage gem is copyright Ben Sandofsky.
|
25
|
+
|
26
|
+
Code changes after being added to this repository are copyright Zimuth, Inc.
|
data/ext/rusage/rusage.c
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
// VERSION = "x.y.z"
|
2
|
+
#include <ruby.h>
|
3
|
+
#include <sys/resource.h>
|
4
|
+
|
5
|
+
VALUE v_usage_struct;
|
6
|
+
|
7
|
+
static VALUE do_rusage_get(int who){
|
8
|
+
struct rusage r;
|
9
|
+
int ret;
|
10
|
+
|
11
|
+
ret = getrusage(who, &r);
|
12
|
+
if(ret == -1)
|
13
|
+
rb_sys_fail("getrusage");
|
14
|
+
|
15
|
+
return rb_struct_new(v_usage_struct,
|
16
|
+
rb_float_new((double)r.ru_utime.tv_sec+(double)r.ru_utime.tv_usec/1e6),
|
17
|
+
rb_float_new((double)r.ru_stime.tv_sec+(double)r.ru_stime.tv_usec/1e6),
|
18
|
+
LONG2NUM(r.ru_maxrss),
|
19
|
+
LONG2NUM(r.ru_ixrss),
|
20
|
+
LONG2NUM(r.ru_idrss),
|
21
|
+
LONG2NUM(r.ru_isrss),
|
22
|
+
LONG2NUM(r.ru_minflt),
|
23
|
+
LONG2NUM(r.ru_majflt),
|
24
|
+
LONG2NUM(r.ru_nswap),
|
25
|
+
LONG2NUM(r.ru_inblock),
|
26
|
+
LONG2NUM(r.ru_oublock),
|
27
|
+
LONG2NUM(r.ru_msgsnd),
|
28
|
+
LONG2NUM(r.ru_msgrcv),
|
29
|
+
LONG2NUM(r.ru_nsignals),
|
30
|
+
LONG2NUM(r.ru_nvcsw),
|
31
|
+
LONG2NUM(r.ru_nivcsw)
|
32
|
+
);
|
33
|
+
}
|
34
|
+
|
35
|
+
static VALUE rusage_get(int argc, VALUE* argv, VALUE mod){
|
36
|
+
return do_rusage_get(RUSAGE_SELF);
|
37
|
+
}
|
38
|
+
|
39
|
+
static VALUE crusage_get(int argc, VALUE* argv, VALUE mod){
|
40
|
+
return do_rusage_get(RUSAGE_CHILDREN);
|
41
|
+
}
|
42
|
+
|
43
|
+
void Init_rusage(){
|
44
|
+
v_usage_struct =
|
45
|
+
rb_struct_define("RUsage","utime","stime","maxrss","ixrss","idrss",
|
46
|
+
"isrss","minflt","majflt","nswap","inblock","oublock","msgsnd",
|
47
|
+
"msgrcv","nsignals","nvcsw","nivcsw",NULL
|
48
|
+
);
|
49
|
+
|
50
|
+
rb_define_module_function(rb_mProcess, "rusage", rusage_get, -1);
|
51
|
+
rb_define_module_function(rb_mProcess, "crusage", crusage_get, -1);
|
52
|
+
}
|
data/lib/scout_apm/agent.rb
CHANGED
@@ -203,18 +203,20 @@ module ScoutApm
|
|
203
203
|
# It does not attempt to actually report metrics.
|
204
204
|
def shutdown
|
205
205
|
logger.info "Shutting down ScoutApm"
|
206
|
+
|
206
207
|
return if !started?
|
207
208
|
|
209
|
+
return if @shutdown
|
210
|
+
@shutdown = true
|
211
|
+
|
208
212
|
if @background_worker
|
209
213
|
logger.info("Stopping background worker")
|
210
214
|
@background_worker.stop
|
211
215
|
store.write_to_layaway(layaway, :force)
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
@background_worker_thread.wakeup
|
217
|
-
@background_worker_thread.join
|
216
|
+
if @background_worker_thread.alive?
|
217
|
+
@background_worker_thread.wakeup
|
218
|
+
@background_worker_thread.join
|
219
|
+
end
|
218
220
|
end
|
219
221
|
end
|
220
222
|
|
@@ -29,9 +29,10 @@ module ScoutApm
|
|
29
29
|
end
|
30
30
|
|
31
31
|
module GrapeEndpointInstruments
|
32
|
-
def run_with_scout_instruments
|
33
|
-
request = ::Grape::Request.new(env)
|
32
|
+
def run_with_scout_instruments(*args)
|
33
|
+
request = ::Grape::Request.new(env || args.first)
|
34
34
|
req = ScoutApm::RequestManager.lookup
|
35
|
+
|
35
36
|
path = ScoutApm::Agent.instance.config.value("uri_reporting") == 'path' ? request.path : request.fullpath
|
36
37
|
req.annotate_request(:uri => path)
|
37
38
|
|
@@ -55,7 +56,7 @@ module ScoutApm
|
|
55
56
|
|
56
57
|
req.start_layer( ScoutApm::Layer.new("Controller", name) )
|
57
58
|
begin
|
58
|
-
run_without_scout_instruments
|
59
|
+
run_without_scout_instruments(*args)
|
59
60
|
rescue
|
60
61
|
req.error!
|
61
62
|
raise
|
data/lib/scout_apm/version.rb
CHANGED
data/scout_apm.gemspec
CHANGED
@@ -19,8 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
20
|
s.require_paths = ["lib","data"]
|
21
21
|
s.extensions << 'ext/allocations/extconf.rb'
|
22
|
-
|
23
|
-
s.add_runtime_dependency "rusage", '~> 0.2.0'
|
22
|
+
s.extensions << 'ext/rusage/extconf.rb'
|
24
23
|
|
25
24
|
s.add_development_dependency "minitest"
|
26
25
|
s.add_development_dependency 'mocha'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scout_apm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Derek Haynes
|
@@ -11,20 +11,6 @@ bindir: bin
|
|
11
11
|
cert_chain: []
|
12
12
|
date: 2016-08-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
-
- !ruby/object:Gem::Dependency
|
15
|
-
name: rusage
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
requirements:
|
18
|
-
- - "~>"
|
19
|
-
- !ruby/object:Gem::Version
|
20
|
-
version: 0.2.0
|
21
|
-
type: :runtime
|
22
|
-
prerelease: false
|
23
|
-
version_requirements: !ruby/object:Gem::Requirement
|
24
|
-
requirements:
|
25
|
-
- - "~>"
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
version: 0.2.0
|
28
14
|
- !ruby/object:Gem::Dependency
|
29
15
|
name: minitest
|
30
16
|
requirement: !ruby/object:Gem::Requirement
|
@@ -115,6 +101,7 @@ email:
|
|
115
101
|
executables: []
|
116
102
|
extensions:
|
117
103
|
- ext/allocations/extconf.rb
|
104
|
+
- ext/rusage/extconf.rb
|
118
105
|
extra_rdoc_files: []
|
119
106
|
files:
|
120
107
|
- ".gitignore"
|
@@ -127,6 +114,9 @@ files:
|
|
127
114
|
- data/cacert.pem
|
128
115
|
- ext/allocations/allocations.c
|
129
116
|
- ext/allocations/extconf.rb
|
117
|
+
- ext/rusage/README.md
|
118
|
+
- ext/rusage/extconf.rb
|
119
|
+
- ext/rusage/rusage.c
|
130
120
|
- lib/scout_apm.rb
|
131
121
|
- lib/scout_apm/agent.rb
|
132
122
|
- lib/scout_apm/agent/logging.rb
|