newrelic-curb 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ require 'newrelic-curb/instrument'
@@ -0,0 +1,22 @@
1
+ require 'curb'
2
+ require 'newrelic_rpm'
3
+
4
+ ::Curl::Easy.class_eval do
5
+ def host
6
+ URI.parse((self.url.start_with?('http') ? '' : 'http://') + self.url).host
7
+ end
8
+
9
+ def perform_with_newrelic_trace(*args, &block)
10
+ metrics = ["External/#{host}/Curl::Easy","External/#{host}/all","External/all"]
11
+ if NewRelic::Agent::Instrumentation::MetricFrame.recording_web_transaction?
12
+ metrics << "External/allWeb"
13
+ else
14
+ metrics << "External/allOther"
15
+ end
16
+ self.class.trace_execution_scoped metrics do
17
+ perform_without_newrelic_trace(*args, &block)
18
+ end
19
+ end
20
+ alias perform_without_newrelic_trace perform
21
+ alias perform perform_with_newrelic_trace
22
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: newrelic-curb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2013-07-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: curb
16
- requirement: &70254735449060 !ruby/object:Gem::Requirement
16
+ requirement: &70277560728400 !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: :runtime
23
23
  prerelease: false
24
- version_requirements: *70254735449060
24
+ version_requirements: *70277560728400
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: newrelic_rpm
27
- requirement: &70254735448040 !ruby/object:Gem::Requirement
27
+ requirement: &70277560727760 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,13 +32,15 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70254735448040
35
+ version_requirements: *70277560727760
36
36
  description: Wraps Curl::Easy.perform to send per-host metrics to New Relic
37
37
  email: keith.thornhill@gmail.com
38
38
  executables: []
39
39
  extensions: []
40
40
  extra_rdoc_files: []
41
- files: []
41
+ files:
42
+ - lib/newrelic-curb.rb
43
+ - lib/newrelic-curb/instrument.rb
42
44
  homepage: https://github.com/afex/newrelic-curb
43
45
  licenses:
44
46
  - MIT