newrelic-rake 1.3.0 → 1.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +12 -1
- data/lib/newrelic-rake/instrument.rb +18 -5
- data/lib/newrelic-rake/version.rb +1 -1
- data/test/newrelic_rake_test.rb +7 -1
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ebb5539b5edae9941c21451a4cb61b1e85c56fa5
|
4
|
+
data.tar.gz: 9435c7f6ccb5253ac9816617c7c4cbb73ede3d45
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 00c6f01a62032c5f4e6c7f2f25ead03d3df9c4014f738e26c63029229b8462499c62b22b5bc1ab5763365f78ee5b9b0eb44713d23219cc112566dc994b1dc64f
|
7
|
+
data.tar.gz: 4831d28cd4d8b69dfbf12bb06594be715945d3644352adb75caf494d68144f693829d448a0569576fd538f30033d19be14f2f2cc09c26e9bbfbc31f362dda939
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -18,7 +18,18 @@ Or install it yourself as:
|
|
18
18
|
|
19
19
|
## Usage
|
20
20
|
|
21
|
-
nothing
|
21
|
+
There is usually nothing to do for rake tasks in rails that depend on `:environment`,
|
22
|
+
monitoring of these should just work.
|
23
|
+
|
24
|
+
Rake files need to require `newrelic-rake` and start the newrelic agent
|
25
|
+
before executing tasks to monitor:
|
26
|
+
|
27
|
+
```
|
28
|
+
require 'newrelic-rake'
|
29
|
+
NewRelic::Agent.manual_start
|
30
|
+
```
|
31
|
+
|
32
|
+
These steps happen automatically in Rails' `:environment` task if you use `Bundler.require` in your `application.rb`.
|
22
33
|
|
23
34
|
## Authors and Contributors
|
24
35
|
|
@@ -17,12 +17,10 @@ DependencyDetection.defer do
|
|
17
17
|
|
18
18
|
alias_method :origin_execute, :execute
|
19
19
|
def execute(args=nil)
|
20
|
-
|
21
|
-
NewRelic::Agent.manual_start(:dispatcher => :rake)
|
22
|
-
NewRelic::Rake.started = true
|
23
|
-
end
|
24
|
-
perform_action_with_newrelic_trace(:name => self.name, :category => "OtherTransaction/Rake") do
|
20
|
+
if ignore_metric_reporting?
|
25
21
|
origin_execute(args)
|
22
|
+
else
|
23
|
+
execute_with_newrelic_trace(args)
|
26
24
|
end
|
27
25
|
end
|
28
26
|
|
@@ -30,6 +28,21 @@ DependencyDetection.defer do
|
|
30
28
|
# https://newrelic.com/docs/ruby/monitoring-ruby-background-processes-and-daemons
|
31
29
|
# even though Agent configuration is :send_data_on_exit => true
|
32
30
|
at_exit { NewRelic::Agent.shutdown }
|
31
|
+
|
32
|
+
def execute_with_newrelic_trace(args)
|
33
|
+
unless ::NewRelic::Rake.started?
|
34
|
+
::NewRelic::Agent.manual_start(:dispatcher => :rake)
|
35
|
+
::NewRelic::Rake.started = true
|
36
|
+
end
|
37
|
+
perform_action_with_newrelic_trace(:name => self.name, :category => "OtherTransaction/Rake") do
|
38
|
+
origin_execute(args)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def ignore_metric_reporting?
|
43
|
+
self.name == 'jobs:work'
|
44
|
+
end
|
33
45
|
end
|
34
46
|
end
|
47
|
+
|
35
48
|
end
|
data/test/newrelic_rake_test.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'test/unit'
|
2
2
|
require 'mocha/setup'
|
3
|
-
require 'newrelic-rake
|
3
|
+
require 'newrelic-rake'
|
4
4
|
|
5
5
|
class TestNewRelicRake < Test::Unit::TestCase
|
6
6
|
include NewRelic::Agent::Instrumentation::ControllerInstrumentation
|
@@ -19,6 +19,12 @@ class TestNewRelicRake < Test::Unit::TestCase
|
|
19
19
|
@sampler.clear_builder
|
20
20
|
end
|
21
21
|
|
22
|
+
def test_ignore_delayed_job
|
23
|
+
Rake::Task.define_task('jobs:work')
|
24
|
+
Rake::Task['jobs:work'].invoke
|
25
|
+
assert !@engine.metrics.include?('OtherTransaction/Rake/Rake::Task/jobs:work'), 'jobs:work task is in metrics'
|
26
|
+
end
|
27
|
+
|
22
28
|
def test_metrics
|
23
29
|
Rake::Task.define_task('foo')
|
24
30
|
Rake::Task['foo'].invoke
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: newrelic-rake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Richard Huang
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-08-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: newrelic_rpm
|
@@ -62,10 +62,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
62
62
|
version: '0'
|
63
63
|
requirements: []
|
64
64
|
rubyforge_project:
|
65
|
-
rubygems_version: 2.0.
|
65
|
+
rubygems_version: 2.0.6
|
66
66
|
signing_key:
|
67
67
|
specification_version: 4
|
68
68
|
summary: newrelic instrument for rake task.
|
69
69
|
test_files:
|
70
70
|
- test/newrelic_rake_test.rb
|
71
|
-
has_rdoc:
|