newrelic_rpm 2.13.6.beta2 → 2.14.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of newrelic_rpm might be problematic. Click here for more details.

Files changed (33) hide show
  1. data/cert/cacert.pem +149 -53
  2. data/cert/oldsite.pem +28 -0
  3. data/cert/site.pem +27 -0
  4. data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +26 -5
  5. data/lib/new_relic/agent/instrumentation/rails/action_controller.rb +65 -41
  6. data/lib/new_relic/agent/instrumentation/rails/action_web_service.rb +30 -21
  7. data/lib/new_relic/agent/instrumentation/rails/active_record_instrumentation.rb +6 -0
  8. data/lib/new_relic/agent/instrumentation/rails/errors.rb +30 -18
  9. data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +14 -4
  10. data/lib/new_relic/agent/instrumentation/rails3/active_record_instrumentation.rb +9 -3
  11. data/lib/new_relic/agent/instrumentation/rails3/errors.rb +13 -3
  12. data/lib/new_relic/agent/samplers/delayed_job_lock_sampler.rb +1 -0
  13. data/lib/new_relic/control.rb +12 -176
  14. data/lib/new_relic/control/class_methods.rb +39 -0
  15. data/lib/new_relic/control/configuration.rb +1 -0
  16. data/lib/new_relic/control/frameworks/external.rb +9 -6
  17. data/lib/new_relic/control/frameworks/merb.rb +24 -18
  18. data/lib/new_relic/control/frameworks/rails.rb +126 -112
  19. data/lib/new_relic/control/frameworks/rails3.rb +54 -49
  20. data/lib/new_relic/control/frameworks/ruby.rb +33 -27
  21. data/lib/new_relic/control/frameworks/sinatra.rb +16 -11
  22. data/lib/new_relic/control/instance_methods.rb +150 -0
  23. data/lib/new_relic/control/instrumentation.rb +1 -0
  24. data/lib/new_relic/control/logging_methods.rb +1 -0
  25. data/lib/new_relic/control/profiling.rb +1 -0
  26. data/lib/new_relic/control/server_methods.rb +7 -1
  27. data/lib/new_relic/delayed_job_injection.rb +2 -1
  28. data/lib/new_relic/version.rb +3 -3
  29. data/lib/newrelic_rpm.rb +3 -7
  30. data/newrelic_rpm.gemspec +9 -4
  31. data/test/new_relic/agent/instrumentation/active_record_instrumentation_test.rb +6 -0
  32. data/test/new_relic/control_test.rb +16 -1
  33. metadata +25 -52
data/cert/cacert.pem CHANGED
@@ -1,55 +1,151 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
3
- b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
4
- YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
5
- bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIy
6
- MjM0OFoXDTE5MDYyNTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
7
- d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEg
8
- UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
9
- LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
10
- A4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9YLqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIi
11
- GQj4/xEjm84H9b9pGib+TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCm
12
- DuJWBQ8YTfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0LBwG
13
- lN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLWI8sogTLDAHkY7FkX
14
- icnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPwnXS3qT6gpf+2SQMT2iLM7XGCK5nP
15
- Orf1LXLI
16
- -----END CERTIFICATE-----
17
-
18
- -----BEGIN CERTIFICATE-----
19
- MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
20
- b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
21
- YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
22
- bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw
23
- MTk1NFoXDTE5MDYyNjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
24
- d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIg
25
- UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
26
- LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
27
- A4GNADCBiQKBgQDOOnHK5avIWZJV16vYdA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVC
28
- CSRrCl6zfN1SLUzm1NZ9WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7Rf
29
- ZHM047QSv4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9vUJSZ
30
- SWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTuIYEZoDJJKPTEjlbV
31
- UjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwCW/POuZ6lcg5Ktz885hZo+L7tdEy8
32
- W9ViH0Pd
33
- -----END CERTIFICATE-----
34
-
35
1
  -----BEGIN CERTIFICATE-----
36
- MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBY
37
- MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo
38
- R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEx
39
- MjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
40
- Ew1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp
41
- ZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
42
- AQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9
43
- AWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjA
44
- ZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE0
45
- 7e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W
46
- kBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MI
47
- mO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G
48
- A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJ
49
- KoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ1
50
- 6CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl
51
- 4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6K
52
- oKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8Fj
53
- UjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG1riR/aYNKxoU
54
- AT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
2
+ MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
3
+ MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
4
+ YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG
5
+ EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
6
+ R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9
7
+ 9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq
8
+ fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv
9
+ iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU
10
+ 1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+
11
+ bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW
12
+ MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA
13
+ ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l
14
+ uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
15
+ Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS
16
+ tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF
17
+ PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un
18
+ hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV
19
+ 5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
20
+ -----END CERTIFICATE-----
21
+ -----BEGIN CERTIFICATE-----
22
+ MIID2TCCAsGgAwIBAgIDAjbQMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
23
+ MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
24
+ YWwgQ0EwHhcNMTAwMjE5MjIzOTI2WhcNMjAwMjE4MjIzOTI2WjBAMQswCQYDVQQG
25
+ EwJVUzEXMBUGA1UEChMOR2VvVHJ1c3QsIEluYy4xGDAWBgNVBAMTD0dlb1RydXN0
26
+ IFNTTCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJCzgMHk5Uat
27
+ cGA9uuUU3Z6KXot1WubKbUGlI+g5hSZ6p1V3mkihkn46HhrxJ6ujTDnMyz1Hr4Gu
28
+ FmpcN+9FQf37mpc8oEOdxt8XIdGKolbCA0mEEoE+yQpUYGa5jFTk+eb5lPHgX3UR
29
+ 8im55IaisYmtph6DKWOy8FQchQt65+EuDa+kvc3nsVrXjAVaDktzKIt1XTTYdwvh
30
+ dGLicTBi2LyKBeUxY0pUiWozeKdOVSQdl+8a5BLGDzAYtDRN4dgjOyFbLTAZJQ50
31
+ 96QhS6CkIMlszZhWwPKoXz4mdaAN+DaIiixafWcwqQ/RmXAueOFRJq9VeiS+jDkN
32
+ d53eAsMMvR8CAwEAAaOB2TCB1jAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFEJ5
33
+ VBthzVUrPmPVPEhX9Z/7Rc5KMB8GA1UdIwQYMBaAFMB6mGiNifurBWQMEX2qfWW4
34
+ ysxOMBIGA1UdEwEB/wQIMAYBAf8CAQAwOgYDVR0fBDMwMTAvoC2gK4YpaHR0cDov
35
+ L2NybC5nZW90cnVzdC5jb20vY3Jscy9ndGdsb2JhbC5jcmwwNAYIKwYBBQUHAQEE
36
+ KDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5nZW90cnVzdC5jb20wDQYJKoZI
37
+ hvcNAQEFBQADggEBANTvU4ToGr2hiwTAqfVfoRB4RV2yV2pOJMtlTjGXkZrUJPji
38
+ J2ZwMZzBYlQG55cdOprApClICq8kx6jEmlTBfEx4TCtoLF0XplR4TEbigMMfOHES
39
+ 0tdT41SFULgCy+5jOvhWiU1Vuy7AyBh3hjELC3DwfjWDpCoTZFZnNF0WX3OsewYk
40
+ 2k9QbSqr0E1TQcKOu3EDSSmGGM8hQkx0YlEVxW+o78Qn5Rsz3VqI138S0adhJR/V
41
+ 4NwdzxoQ2KDLX4z6DOW/cf/lXUQdpj6HR/oaToODEj+IZpWYeZqF6wJHzSXj8gYE
42
+ TpnKXKBuervdo5AaRTPvvz7SBMS24CqFZUE+ENQ=
43
+ -----END CERTIFICATE-----
44
+ -----BEGIN CERTIFICATE-----
45
+ MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh
46
+ MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE
47
+ YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3
48
+ MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo
49
+ ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg
50
+ MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN
51
+ ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA
52
+ PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w
53
+ wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi
54
+ EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY
55
+ avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+
56
+ YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE
57
+ sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h
58
+ /t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5
59
+ IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj
60
+ YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
61
+ ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy
62
+ OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P
63
+ TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
64
+ HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER
65
+ dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf
66
+ ReYNnyicsbkqWletNw+vHX/bvZ8=
67
+ -----END CERTIFICATE-----
68
+ -----BEGIN CERTIFICATE-----
69
+ MIIE3jCCA8agAwIBAgICAwEwDQYJKoZIhvcNAQEFBQAwYzELMAkGA1UEBhMCVVMx
70
+ ITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g
71
+ RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMTYw
72
+ MTU0MzdaFw0yNjExMTYwMTU0MzdaMIHKMQswCQYDVQQGEwJVUzEQMA4GA1UECBMH
73
+ QXJpem9uYTETMBEGA1UEBxMKU2NvdHRzZGFsZTEaMBgGA1UEChMRR29EYWRkeS5j
74
+ b20sIEluYy4xMzAxBgNVBAsTKmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuZ29kYWRkeS5j
75
+ b20vcmVwb3NpdG9yeTEwMC4GA1UEAxMnR28gRGFkZHkgU2VjdXJlIENlcnRpZmlj
76
+ YXRpb24gQXV0aG9yaXR5MREwDwYDVQQFEwgwNzk2OTI4NzCCASIwDQYJKoZIhvcN
77
+ AQEBBQADggEPADCCAQoCggEBAMQt1RWMnCZM7DI161+4WQFapmGBWTtwY6vj3D3H
78
+ KrjJM9N55DrtPDAjhI6zMBS2sofDPZVUBJ7fmd0LJR4h3mUpfjWoqVTr9vcyOdQm
79
+ VZWt7/v+WIbXnvQAjYwqDL1CBM6nPwT27oDyqu9SoWlm2r4arV3aLGbqGmu75RpR
80
+ SgAvSMeYddi5Kcju+GZtCpyz8/x4fKL4o/K1w/O5epHBp+YlLpyo7RJlbmr2EkRT
81
+ cDCVw5wrWCs9CHRK8r5RsL+H0EwnWGu1NcWdrxcx+AuP7q2BNgWJCJjPOq8lh8BJ
82
+ 6qf9Z/dFjpfMFDniNoW1fho3/Rb2cRGadDAW/hOUoz+EDU8CAwEAAaOCATIwggEu
83
+ MB0GA1UdDgQWBBT9rGEyk2xF1uLuhV+auud2mWjM5zAfBgNVHSMEGDAWgBTSxLDS
84
+ kdRMEXGzYcs9of7dqGrU4zASBgNVHRMBAf8ECDAGAQH/AgEAMDMGCCsGAQUFBwEB
85
+ BCcwJTAjBggrBgEFBQcwAYYXaHR0cDovL29jc3AuZ29kYWRkeS5jb20wRgYDVR0f
86
+ BD8wPTA7oDmgN4Y1aHR0cDovL2NlcnRpZmljYXRlcy5nb2RhZGR5LmNvbS9yZXBv
87
+ c2l0b3J5L2dkcm9vdC5jcmwwSwYDVR0gBEQwQjBABgRVHSAAMDgwNgYIKwYBBQUH
88
+ AgEWKmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuZ29kYWRkeS5jb20vcmVwb3NpdG9yeTAO
89
+ BgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBANKGwOy9+aG2Z+5mC6IG
90
+ OgRQjhVyrEp0lVPLN8tESe8HkGsz2ZbwlFalEzAFPIUyIXvJxwqoJKSQ3kbTJSMU
91
+ A2fCENZvD117esyfxVgqwcSeIaha86ykRvOe5GPLL5CkKSkB2XIsKd83ASe8T+5o
92
+ 0yGPwLPk9Qnt0hCqU7S+8MxZC9Y7lhyVJEnfzuz9p0iRFEUOOjZv2kWzRaJBydTX
93
+ RE4+uXR21aITVSzGh6O1mawGhId/dQb8vxRMDsxuxN89txJx9OjxUUAiKEngHUuH
94
+ qDTMBqLdElrRhjZkAzVvb3du6/KFUJheqwNTrZEjYx8WnM25sgVjOuH0aBsXBTWV
95
+ U+4=
96
+ -----END CERTIFICATE-----
97
+ -----BEGIN CERTIFICATE-----
98
+ MIIE1TCCA72gAwIBAgIEQ2DfKzANBgkqhkiG9w0BAQUFADCByjELMAkGA1UEBhMC
99
+ VVMxEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNV
100
+ BAoTEUdvRGFkZHkuY29tLCBJbmMuMTMwMQYDVQQLEypodHRwOi8vY2VydGlmaWNh
101
+ dGVzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkxMDAuBgNVBAMTJ0dvIERhZGR5IFNl
102
+ Y3VyZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTERMA8GA1UEBRMIMDc5NjkyODcw
103
+ HhcNMDkwMzE4MjEzMjI5WhcNMTEwNDMwMDIyNzExWjBVMRcwFQYDVQQKEw4qLm5l
104
+ d3JlbGljLmNvbTEhMB8GA1UECxMYRG9tYWluIENvbnRyb2wgVmFsaWRhdGVkMRcw
105
+ FQYDVQQDEw4qLm5ld3JlbGljLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
106
+ gYEAuBCbjfFuWoIqosv2f9vofqeqZaCsKBWKs799M62BRJgatXM0sPR8T5FJAAYe
107
+ /N5qX3Ei1paM9g8/VKM+w4fpKB9BceE7wwl77vFltgLz0o/IejLodcMDd9Inmt2P
108
+ ax8VLkCxQup+21H3RIYRSyi4TKJeghq+MuDiYKksYZ65YnkCAwEAAaOCAbkwggG1
109
+ MA8GA1UdEwEB/wQFMAMBAQAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMC
110
+ MA4GA1UdDwEB/wQEAwIFoDAyBgNVHR8EKzApMCegJaAjhiFodHRwOi8vY3JsLmdv
111
+ ZGFkZHkuY29tL2dkczEtMy5jcmwwUwYDVR0gBEwwSjBIBgtghkgBhv1tAQcXATA5
112
+ MDcGCCsGAQUFBwIBFitodHRwOi8vY2VydGlmaWNhdGVzLmdvZGFkZHkuY29tL3Jl
113
+ cG9zaXRvcnkvMIGABggrBgEFBQcBAQR0MHIwJAYIKwYBBQUHMAGGGGh0dHA6Ly9v
114
+ Y3NwLmdvZGFkZHkuY29tLzBKBggrBgEFBQcwAoY+aHR0cDovL2NlcnRpZmljYXRl
115
+ cy5nb2RhZGR5LmNvbS9yZXBvc2l0b3J5L2dkX2ludGVybWVkaWF0ZS5jcnQwHwYD
116
+ VR0jBBgwFoAU/axhMpNsRdbi7oVfmrrndplozOcwJwYDVR0RBCAwHoIOKi5uZXdy
117
+ ZWxpYy5jb22CDG5ld3JlbGljLmNvbTAdBgNVHQ4EFgQUzLBbBJBQ6RF/UpvIuU0H
118
+ C/cE9FgwDQYJKoZIhvcNAQEFBQADggEBAL4q2VVUm/0Zp08zP95dTMDOnoXd+9gX
119
+ OyVhV6O4PXNdlsj7uvpZhtOCdStzIoZPEIYtvjgVfcNhyOg2T0is8u5icDG1uQgq
120
+ dA/gaZ7agWtQlaDfHRHigfDiMF3lQ6by1L+C1i7P+lhEQWGISEAOGisLGW1aFlbs
121
+ ZjJZIIUiej+4QSBAbKsAo72gQ9DOQdrxUCZJoQdQhkjjENg5BbRcxW99M+zykY5o
122
+ HBiXHtXvgcyfZXASfgiW3nSM64QxXs9vd4gfmFNF5wnVHCSOJs5r/NRp9SIciUTq
123
+ YmYKdpFyzxGxZUduYo8z1nGHmPedTxW+RvBbE+gNUtGxhauv8H+J/rc=
124
+ -----END CERTIFICATE-----
125
+ -----BEGIN CERTIFICATE-----
126
+ MIIEmTCCA4GgAwIBAgICdPYwDQYJKoZIhvcNAQEFBQAwQDELMAkGA1UEBhMCVVMx
127
+ FzAVBgNVBAoTDkdlb1RydXN0LCBJbmMuMRgwFgYDVQQDEw9HZW9UcnVzdCBTU0wg
128
+ Q0EwHhcNMTEwMzExMTExNTEzWhcNMTMwMzEzMDUyMjU1WjCBrDEpMCcGA1UEBRMg
129
+ M0VrS1FSNFN5Vk5SZjQtdkJaMUZMUEhENnZWNzhLdUoxCzAJBgNVBAYTAlVTMRMw
130
+ EQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMRYwFAYD
131
+ VQQKEw1OZXcgUmVsaWMgSW5jMRQwEgYDVQQLEwtFbmdpbmVlcmluZzEXMBUGA1UE
132
+ AwwOKi5uZXdyZWxpYy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
133
+ AQC4eLGubSgkxRrusVqnI7FmWxp2cS0hjeBFdzjYF3heRWzyerrP74UjbW/3lDV2
134
+ L7mKD6AKL51wPBC+xRtVXI+8SoWLyaO3k9pJEXIiNw8RVl9s9CAiiam3KCgFw+U1
135
+ B8RiZm1xYlbxGAb6XoxJXOx3Sld61ko5ZU/tV5Gs75Vnyt5RxLINoMKl8Dk0C2Z/
136
+ piS8pzoePgTJHEoL/aU9bnCyv2BxdhfIpvBVzvpr79JJ2mo/6gr/ODZWBLIflVPj
137
+ 4D+VE4so/Nt5pkTelRsyX8IL/xYb9lIQ+FJqjXksFy+NaR77afNUug3wUXwpkBjc
138
+ KF4TlxTXHadUUURJAyZN/zrlAgMBAAGjggEuMIIBKjAfBgNVHSMEGDAWgBRCeVQb
139
+ Yc1VKz5j1TxIV/Wf+0XOSjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB
140
+ BQUHAwEGCCsGAQUFBwMCMCcGA1UdEQQgMB6CDioubmV3cmVsaWMuY29tggxuZXdy
141
+ ZWxpYy5jb20wPQYDVR0fBDYwNDAyoDCgLoYsaHR0cDovL2d0c3NsLWNybC5nZW90
142
+ cnVzdC5jb20vY3Jscy9ndHNzbC5jcmwwHQYDVR0OBBYEFIGySnbWmSQHcvbson/A
143
+ hDGIuIamMAwGA1UdEwEB/wQCMAAwQwYIKwYBBQUHAQEENzA1MDMGCCsGAQUFBzAC
144
+ hidodHRwOi8vZ3Rzc2wtYWlhLmdlb3RydXN0LmNvbS9ndHNzbC5jcnQwDQYJKoZI
145
+ hvcNAQEFBQADggEBAHuO8i5vPkZfPhT1a9GCn49J8Ada+faVpGnZ0nE3ufqhD52d
146
+ dZaVyUgft+2s+ksxIGjCwl3X+jeLfOL+dqqt77E1JRAskrCIfFHeQDS/7P6Ch3pE
147
+ zm8uTkMARuRARSi+O0jwTfYH5ApRb7eumgtz8sELg94yPCAKeegrK0zqhNGF6Bnp
148
+ tuSN36tUDtZb1Xy+sz6RzNpQJS/b1KH7e+jbEudctO8b6mP8/5bGoDcWQqPn4YWd
149
+ UAkOShAeRtdc0jsn62VlqDEfQQ16CsmD1Hoh9Mxhwj9rSqwpDSc9f0isJ6xypDhM
150
+ 4cNwyeIvhj++8Ir5LdCmWGLcUtNqUs4jK36ph7k=
55
151
  -----END CERTIFICATE-----
data/cert/oldsite.pem ADDED
@@ -0,0 +1,28 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIE1TCCA72gAwIBAgIEQ2DfKzANBgkqhkiG9w0BAQUFADCByjELMAkGA1UEBhMC
3
+ VVMxEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNV
4
+ BAoTEUdvRGFkZHkuY29tLCBJbmMuMTMwMQYDVQQLEypodHRwOi8vY2VydGlmaWNh
5
+ dGVzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkxMDAuBgNVBAMTJ0dvIERhZGR5IFNl
6
+ Y3VyZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTERMA8GA1UEBRMIMDc5NjkyODcw
7
+ HhcNMDkwMzE4MjEzMjI5WhcNMTEwNDMwMDIyNzExWjBVMRcwFQYDVQQKEw4qLm5l
8
+ d3JlbGljLmNvbTEhMB8GA1UECxMYRG9tYWluIENvbnRyb2wgVmFsaWRhdGVkMRcw
9
+ FQYDVQQDEw4qLm5ld3JlbGljLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
10
+ gYEAuBCbjfFuWoIqosv2f9vofqeqZaCsKBWKs799M62BRJgatXM0sPR8T5FJAAYe
11
+ /N5qX3Ei1paM9g8/VKM+w4fpKB9BceE7wwl77vFltgLz0o/IejLodcMDd9Inmt2P
12
+ ax8VLkCxQup+21H3RIYRSyi4TKJeghq+MuDiYKksYZ65YnkCAwEAAaOCAbkwggG1
13
+ MA8GA1UdEwEB/wQFMAMBAQAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMC
14
+ MA4GA1UdDwEB/wQEAwIFoDAyBgNVHR8EKzApMCegJaAjhiFodHRwOi8vY3JsLmdv
15
+ ZGFkZHkuY29tL2dkczEtMy5jcmwwUwYDVR0gBEwwSjBIBgtghkgBhv1tAQcXATA5
16
+ MDcGCCsGAQUFBwIBFitodHRwOi8vY2VydGlmaWNhdGVzLmdvZGFkZHkuY29tL3Jl
17
+ cG9zaXRvcnkvMIGABggrBgEFBQcBAQR0MHIwJAYIKwYBBQUHMAGGGGh0dHA6Ly9v
18
+ Y3NwLmdvZGFkZHkuY29tLzBKBggrBgEFBQcwAoY+aHR0cDovL2NlcnRpZmljYXRl
19
+ cy5nb2RhZGR5LmNvbS9yZXBvc2l0b3J5L2dkX2ludGVybWVkaWF0ZS5jcnQwHwYD
20
+ VR0jBBgwFoAU/axhMpNsRdbi7oVfmrrndplozOcwJwYDVR0RBCAwHoIOKi5uZXdy
21
+ ZWxpYy5jb22CDG5ld3JlbGljLmNvbTAdBgNVHQ4EFgQUzLBbBJBQ6RF/UpvIuU0H
22
+ C/cE9FgwDQYJKoZIhvcNAQEFBQADggEBAL4q2VVUm/0Zp08zP95dTMDOnoXd+9gX
23
+ OyVhV6O4PXNdlsj7uvpZhtOCdStzIoZPEIYtvjgVfcNhyOg2T0is8u5icDG1uQgq
24
+ dA/gaZ7agWtQlaDfHRHigfDiMF3lQ6by1L+C1i7P+lhEQWGISEAOGisLGW1aFlbs
25
+ ZjJZIIUiej+4QSBAbKsAo72gQ9DOQdrxUCZJoQdQhkjjENg5BbRcxW99M+zykY5o
26
+ HBiXHtXvgcyfZXASfgiW3nSM64QxXs9vd4gfmFNF5wnVHCSOJs5r/NRp9SIciUTq
27
+ YmYKdpFyzxGxZUduYo8z1nGHmPedTxW+RvBbE+gNUtGxhauv8H+J/rc=
28
+ -----END CERTIFICATE-----
data/cert/site.pem ADDED
@@ -0,0 +1,27 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIEmTCCA4GgAwIBAgICdPYwDQYJKoZIhvcNAQEFBQAwQDELMAkGA1UEBhMCVVMx
3
+ FzAVBgNVBAoTDkdlb1RydXN0LCBJbmMuMRgwFgYDVQQDEw9HZW9UcnVzdCBTU0wg
4
+ Q0EwHhcNMTEwMzExMTExNTEzWhcNMTMwMzEzMDUyMjU1WjCBrDEpMCcGA1UEBRMg
5
+ M0VrS1FSNFN5Vk5SZjQtdkJaMUZMUEhENnZWNzhLdUoxCzAJBgNVBAYTAlVTMRMw
6
+ EQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMRYwFAYD
7
+ VQQKEw1OZXcgUmVsaWMgSW5jMRQwEgYDVQQLEwtFbmdpbmVlcmluZzEXMBUGA1UE
8
+ AwwOKi5uZXdyZWxpYy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
9
+ AQC4eLGubSgkxRrusVqnI7FmWxp2cS0hjeBFdzjYF3heRWzyerrP74UjbW/3lDV2
10
+ L7mKD6AKL51wPBC+xRtVXI+8SoWLyaO3k9pJEXIiNw8RVl9s9CAiiam3KCgFw+U1
11
+ B8RiZm1xYlbxGAb6XoxJXOx3Sld61ko5ZU/tV5Gs75Vnyt5RxLINoMKl8Dk0C2Z/
12
+ piS8pzoePgTJHEoL/aU9bnCyv2BxdhfIpvBVzvpr79JJ2mo/6gr/ODZWBLIflVPj
13
+ 4D+VE4so/Nt5pkTelRsyX8IL/xYb9lIQ+FJqjXksFy+NaR77afNUug3wUXwpkBjc
14
+ KF4TlxTXHadUUURJAyZN/zrlAgMBAAGjggEuMIIBKjAfBgNVHSMEGDAWgBRCeVQb
15
+ Yc1VKz5j1TxIV/Wf+0XOSjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB
16
+ BQUHAwEGCCsGAQUFBwMCMCcGA1UdEQQgMB6CDioubmV3cmVsaWMuY29tggxuZXdy
17
+ ZWxpYy5jb20wPQYDVR0fBDYwNDAyoDCgLoYsaHR0cDovL2d0c3NsLWNybC5nZW90
18
+ cnVzdC5jb20vY3Jscy9ndHNzbC5jcmwwHQYDVR0OBBYEFIGySnbWmSQHcvbson/A
19
+ hDGIuIamMAwGA1UdEwEB/wQCMAAwQwYIKwYBBQUHAQEENzA1MDMGCCsGAQUFBzAC
20
+ hidodHRwOi8vZ3Rzc2wtYWlhLmdlb3RydXN0LmNvbS9ndHNzbC5jcnQwDQYJKoZI
21
+ hvcNAQEFBQADggEBAHuO8i5vPkZfPhT1a9GCn49J8Ada+faVpGnZ0nE3ufqhD52d
22
+ dZaVyUgft+2s+ksxIGjCwl3X+jeLfOL+dqqt77E1JRAskrCIfFHeQDS/7P6Ch3pE
23
+ zm8uTkMARuRARSi+O0jwTfYH5ApRb7eumgtz8sELg94yPCAKeegrK0zqhNGF6Bnp
24
+ tuSN36tUDtZb1Xy+sz6RzNpQJS/b1KH7e+jbEudctO8b6mP8/5bGoDcWQqPn4YWd
25
+ UAkOShAeRtdc0jsn62VlqDEfQQ16CsmD1Hoh9Mxhwj9rSqwpDSc9f0isJ6xypDhM
26
+ 4cNwyeIvhj++8Ir5LdCmWGLcUtNqUs4jK36ph7k=
27
+ -----END CERTIFICATE-----
@@ -11,13 +11,34 @@ DependencyDetection.defer do
11
11
 
12
12
  executes do
13
13
  Delayed::Job.class_eval do
14
- include NewRelic::Agent::Instrumentation::ControllerInstrumentation
15
- if self.instance_methods.include?('name')
16
- add_transaction_tracer "invoke_job", :category => 'OtherTransaction/DelayedJob', :path => '#{self.name}'
17
- else
18
- add_transaction_tracer "invoke_job", :category => 'OtherTransaction/DelayedJob'
14
+ include NewRelic::Agent::Instrumentation::ControllerInstrumentation
15
+ if self.instance_methods.include?('name')
16
+ add_transaction_tracer "invoke_job", :category => 'OtherTransaction/DelayedJob', :path => '#{self.name}'
17
+ else
18
+ add_transaction_tracer "invoke_job", :category => 'OtherTransaction/DelayedJob'
19
+ end
19
20
  end
20
21
  end
22
+
23
+ executes do
24
+ Delayed::Job.instance_eval do
25
+ if self.respond_to?('after_fork')
26
+ if method_defined?(:after_fork)
27
+ def after_fork_with_newrelic
28
+ NewRelic::Agent.after_fork(:force_reconnect => true)
29
+ after_fork_without_newrelic
30
+ end
31
+
32
+ alias_method :after_fork_without_newrelic, :after_fork
33
+ alias_method :after_fork, :after_fork_with_newrelic
34
+ else
35
+ def after_fork
36
+ NewRelic::Agent.after_fork(:force_reconnect => true)
37
+ super
38
+ end
39
+ end
40
+ end
41
+ end
21
42
  end
22
43
  end
23
44
 
@@ -1,59 +1,83 @@
1
+ DependencyDetection.defer do
2
+ depends_on do
3
+ defined?(ActionController) && defined?(ActionController::Base)
4
+ end
5
+
6
+ depends_on do
7
+ defined?(Rails) && Rails::VERSION::MAJOR.to_i == 2
8
+ end
1
9
 
2
- if defined? ActionController
10
+ depends_on do
11
+ !NewRelic::Control.instance['disable_view_instrumentation']
12
+ end
3
13
 
4
- case Rails::VERSION::STRING
14
+ executes do
15
+
16
+ case Rails::VERSION::STRING
5
17
 
6
18
  when /^(1\.|2\.0)/ # Rails 1.* - 2.0
7
- ActionController::Base.class_eval do
8
- add_method_tracer :render, 'View/#{newrelic_metric_path}/Rendering'
9
- end
19
+ ActionController::Base.class_eval do
20
+ add_method_tracer :render, 'View/#{newrelic_metric_path}/Rendering'
21
+ end
10
22
 
11
23
  when /^2\.1\./ # Rails 2.1
12
- ActionView::PartialTemplate.class_eval do
13
- add_method_tracer :render, 'View/#{path_without_extension[%r{^(/.*/)?(.*)$},2]}.#{@view.template_format}.#{extension}/Partial'
14
- end
15
- # this is for template rendering, as opposed to partial rendering.
16
- ActionView::Template.class_eval do
17
- add_method_tracer :render, 'View/#{(path_without_extension || @view.controller.newrelic_metric_path)[%r{^(/.*/)?(.*)$},2]}.#{@view.template_format}.#{extension}/Rendering'
18
- end
24
+ ActionView::PartialTemplate.class_eval do
25
+ add_method_tracer :render, 'View/#{path_without_extension[%r{^(/.*/)?(.*)$},2]}.#{@view.template_format}.#{extension}/Partial'
26
+ end
27
+ # this is for template rendering, as opposed to partial rendering.
28
+ ActionView::Template.class_eval do
29
+ add_method_tracer :render, 'View/#{(path_without_extension || @view.controller.newrelic_metric_path)[%r{^(/.*/)?(.*)$},2]}.#{@view.template_format}.#{extension}/Rendering'
30
+ end
19
31
 
20
32
  when /^2\./ # Rails 2.2-2.*
21
- ActionView::RenderablePartial.module_eval do
22
- add_method_tracer :render_partial, 'View/#{path[%r{^(/.*/)?(.*)$},2]}/Partial'
23
- end
24
- ActionView::Template.class_eval do
25
- add_method_tracer :render, 'View/#{path[%r{^(/.*/)?(.*)$},2]}/Rendering'
33
+ ActionView::RenderablePartial.module_eval do
34
+ add_method_tracer :render_partial, 'View/#{path[%r{^(/.*/)?(.*)$},2]}/Partial'
35
+ end
36
+ ActionView::Template.class_eval do
37
+ add_method_tracer :render, 'View/#{path[%r{^(/.*/)?(.*)$},2]}/Rendering'
38
+ end
26
39
  end
27
- end unless NewRelic::Control.instance['disable_view_instrumentation']
40
+ end
41
+ end
28
42
 
29
- ActionController::Base.class_eval do
30
- include NewRelic::Agent::Instrumentation::ControllerInstrumentation
43
+ DependencyDetection.defer do
44
+ depends_on do
45
+ defined?(ActionController) && defined?(ActionController::Base)
46
+ end
31
47
 
32
- # Compare with #alias_method_chain, which is not available in
33
- # Rails 1.1:
34
- alias_method :perform_action_without_newrelic_trace, :perform_action
35
- alias_method :perform_action, :perform_action_with_newrelic_trace
36
- private :perform_action
48
+ depends_on do
49
+ defined?(Rails) && Rails::VERSION::MAJOR.to_i == 2
50
+ end
37
51
 
38
- def self.newrelic_write_attr(attr_name, value) # :nodoc:
39
- write_inheritable_attribute(attr_name, value)
40
- end
52
+ executes do
41
53
 
42
- def self.newrelic_read_attr(attr_name) # :nodoc:
43
- read_inheritable_attribute(attr_name)
44
- end
54
+ ActionController::Base.class_eval do
55
+ include NewRelic::Agent::Instrumentation::ControllerInstrumentation
56
+
57
+ # Compare with #alias_method_chain, which is not available in
58
+ # Rails 1.1:
59
+ alias_method :perform_action_without_newrelic_trace, :perform_action
60
+ alias_method :perform_action, :perform_action_with_newrelic_trace
61
+ private :perform_action
62
+
63
+ def self.newrelic_write_attr(attr_name, value) # :nodoc:
64
+ write_inheritable_attribute(attr_name, value)
65
+ end
66
+
67
+ def self.newrelic_read_attr(attr_name) # :nodoc:
68
+ read_inheritable_attribute(attr_name)
69
+ end
45
70
 
46
- # determine the path that is used in the metric name for
47
- # the called controller action
48
- def newrelic_metric_path(action_name_override = nil)
49
- action_part = action_name_override || action_name
50
- if action_name_override || self.class.action_methods.include?(action_part)
51
- "#{self.class.controller_path}/#{action_part}"
52
- else
53
- "#{self.class.controller_path}/(other)"
71
+ # determine the path that is used in the metric name for
72
+ # the called controller action
73
+ def newrelic_metric_path(action_name_override = nil)
74
+ action_part = action_name_override || action_name
75
+ if action_name_override || self.class.action_methods.include?(action_part)
76
+ "#{self.class.controller_path}/#{action_part}"
77
+ else
78
+ "#{self.class.controller_path}/(other)"
79
+ end
54
80
  end
55
81
  end
56
82
  end
57
- else
58
- NewRelic::Agent.instance.log.debug "WARNING: ActionController instrumentation not added"
59
83
  end
@@ -1,27 +1,36 @@
1
- # NewRelic Agent instrumentation for WebServices
1
+ DependencyDetection.defer do
2
+ depends_on do
3
+ defined?(ActionWebService)
4
+ end
2
5
 
3
- # Note Action Web Service is removed from default package in rails 2.0
4
- if defined? ActionWebService
6
+ executes do
7
+ # NewRelic Agent instrumentation for WebServices
5
8
 
6
- # instrumentation for Web Service martialing - XML RPC
7
- ActionWebService::Protocol::XmlRpc::XmlRpcProtocol.class_eval do
8
- add_method_tracer :decode_request, "WebService/Xml Rpc/XML Decode"
9
- add_method_tracer :encode_request, "WebService/Xml Rpc/XML Encode"
10
- add_method_tracer :decode_response, "WebService/Xml Rpc/XML Decode"
11
- add_method_tracer :encode_response, "WebService/Xml Rpc/XML Encode"
12
- end
9
+ # Note Action Web Service is removed from default package in rails
10
+ # 2.0, this is purely here as a service to our legacy customers.
13
11
 
14
- # instrumentation for Web Service martialing - Soap
15
- ActionWebService::Protocol::Soap::SoapProtocol.class_eval do
16
- add_method_tracer :decode_request, "WebService/Soap/XML Decode"
17
- add_method_tracer :encode_request, "WebService/Soap/XML Encode"
18
- add_method_tracer :decode_response, "WebService/Soap/XML Decode"
19
- add_method_tracer :encode_response, "WebService/Soap/XML Encode"
20
- end
12
+ # instrumentation for Web Service martialing - XML RPC
13
+ ActionWebService::Protocol::XmlRpc::XmlRpcProtocol.class_eval do
14
+ add_method_tracer :decode_request, "WebService/Xml Rpc/XML Decode"
15
+ add_method_tracer :encode_request, "WebService/Xml Rpc/XML Encode"
16
+ add_method_tracer :decode_response, "WebService/Xml Rpc/XML Decode"
17
+ add_method_tracer :encode_response, "WebService/Xml Rpc/XML Encode"
18
+ end
21
19
 
22
- ActionController::Base.class_eval do
23
- if method_defined? :perform_invocation
24
- add_method_tracer :perform_invocation, 'WebService/#{controller_name}/#{args.first}'
20
+ # instrumentation for Web Service martialing - Soap
21
+ ActionWebService::Protocol::Soap::SoapProtocol.class_eval do
22
+ add_method_tracer :decode_request, "WebService/Soap/XML Decode"
23
+ add_method_tracer :encode_request, "WebService/Soap/XML Encode"
24
+ add_method_tracer :decode_response, "WebService/Soap/XML Decode"
25
+ add_method_tracer :encode_response, "WebService/Soap/XML Encode"
26
+ end
27
+
28
+ if defined?(ActionController) && defined?(ActionController::Base)
29
+ ActionController::Base.class_eval do
30
+ if method_defined? :perform_invocation
31
+ add_method_tracer :perform_invocation, 'WebService/#{controller_name}/#{args.first}'
32
+ end
33
+ end
25
34
  end
26
- end if defined? ActionController::Base
35
+ end
27
36
  end