newrelic-pjax 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 2e26e8ab34cfc43abd7c27cacbb505d6f9b92ac9
4
+ data.tar.gz: 039b8ffbe1947f32972aa4042139ba10efc74452
5
+ SHA512:
6
+ metadata.gz: 62a3905dd739ae2bc2f9b08b6cd8b02a56462dc884d92634c3765cbb4d710f82e76c524190221e9db0f9cd88716e370ea7881ad9373f32c3af57d8b392e70717
7
+ data.tar.gz: 067bad3359e52868fda3a50c7a3cac00423b3c9f70d8d2e21e6de128a73b42dfaa29fc7522a6103534598737065a2e3d4af77a739275a6ab343a4c5507d57c00
data/README.md CHANGED
@@ -33,6 +33,22 @@ class ApplicationController < ActionController::Base
33
33
  end
34
34
  ```
35
35
 
36
+ Otherwise if you are using something like `rack-pjax` you can inject the code in your rack layer like this
37
+
38
+ ```ruby
39
+ class NewRelicRackPjax < Rack::Pjax
40
+ def call(env)
41
+ response = super(env)
42
+ if pjax? env
43
+ body = response[2][0]
44
+ body = "%s%s%s" % [NewRelic::Agent.pjax_timing_start, body, NewRelic::Agent.pjax_timing_end]
45
+ response[2] = [body]
46
+ end
47
+ response
48
+ end
49
+ end
50
+ ```
51
+
36
52
  Next create a PJAX layout like so:
37
53
 
38
54
  ```
@@ -5,37 +5,27 @@ module NewRelic
5
5
  module Agent
6
6
  module Monitoring
7
7
  include NewRelic::Agent::BrowserMonitoring
8
+
8
9
  def pjax_timing_start
9
- unless NewRelic::Agent.instance.beacon_configuration.nil? || !NewRelic::Agent.is_transaction_traced? || !NewRelic::Agent.is_execution_traced? || NewRelic::Agent::TransactionInfo.get.ignore_end_user?
10
- %{<script type="text/javascript">
11
- pjaxTiming['firstByte'] = new Date().getTime();
12
- </script>
13
- }.html_safe
10
+ if insert_js?
11
+ %{<script type="text/javascript">pjaxTiming['firstByte'] = new Date().getTime();</script>}.html_safe
14
12
  end
15
13
  end
16
14
 
17
15
  def pjax_timing_end
18
16
  config = NewRelic::Agent.instance.beacon_configuration
19
17
 
20
- if config.nil? ||
21
- !config.enabled? ||
22
- NewRelic::Agent.config[:browser_key].nil? ||
23
- NewRelic::Agent.config[:browser_key].empty? ||
24
- !NewRelic::Agent.is_transaction_traced? ||
25
- !NewRelic::Agent.is_execution_traced? ||
26
- NewRelic::Agent::TransactionInfo.get.ignore_end_user?
27
- return ""
18
+ if insert_js?
19
+ pjax_footer_js_string(config)
28
20
  end
29
-
30
- pjax_footer_js_string(config)
31
21
  end
32
22
 
33
23
  def pjax_footer_js_string(config)
34
- if browser_monitoring_start_time
24
+ if current_transaction.start_time
35
25
  %{<script type="text/javascript">
36
26
  pjaxTiming['transactionName'] = '#{browser_monitoring_transaction_name}';
37
- pjaxTiming['queueTime'] = #{browser_monitoring_queue_time};
38
- pjaxTiming['appTime'] = #{browser_monitoring_app_time};
27
+ pjaxTiming['queueTime'] = #{current_timings.queue_time_in_millis};
28
+ pjaxTiming['appTime'] = #{current_timings.app_time_in_millis};
39
29
  pjaxTiming['lastByte'] = new Date().getTime();
40
30
  </script>}.html_safe
41
31
  else
@@ -1,5 +1,5 @@
1
1
  module NewRelic
2
2
  module PJAX
3
- VERSION = "0.1.2"
3
+ VERSION = "0.1.3"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: newrelic-pjax
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
5
- prerelease:
4
+ version: 0.1.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - Mario Visic
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-10-16 00:00:00.000000000 Z
11
+ date: 2013-09-21 00:00:00.000000000 Z
13
12
  dependencies: []
14
13
  description: Instrument PJAX requests for New Relic RPM
15
14
  email:
@@ -29,27 +28,26 @@ files:
29
28
  - newrelic-pjax.gemspec
30
29
  homepage: https://github.com/mariovisic/newrelic-pjax
31
30
  licenses: []
31
+ metadata: {}
32
32
  post_install_message:
33
33
  rdoc_options: []
34
34
  require_paths:
35
35
  - lib
36
36
  required_ruby_version: !ruby/object:Gem::Requirement
37
- none: false
38
37
  requirements:
39
- - - ! '>='
38
+ - - '>='
40
39
  - !ruby/object:Gem::Version
41
40
  version: '0'
42
41
  required_rubygems_version: !ruby/object:Gem::Requirement
43
- none: false
44
42
  requirements:
45
- - - ! '>='
43
+ - - '>='
46
44
  - !ruby/object:Gem::Version
47
45
  version: '0'
48
46
  requirements: []
49
47
  rubyforge_project:
50
- rubygems_version: 1.8.24
48
+ rubygems_version: 2.0.6
51
49
  signing_key:
52
- specification_version: 3
50
+ specification_version: 4
53
51
  summary: Adds additional helper methods to the newrelic_rpm gem to allow instrumentation
54
52
  of PJAX requests
55
53
  test_files: []