newrelic_rpm 3.1.0.beta5 → 3.1.0.djlogging
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.
Potentially problematic release.
This version of newrelic_rpm might be problematic. Click here for more details.
- data/README.rdoc +2 -2
- data/cert/cacert.pem +151 -118
- data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +10 -2
- data/lib/new_relic/agent/stats_engine/transactions.rb +0 -6
- data/lib/new_relic/control/logging_methods.rb +1 -1
- data/lib/new_relic/data_serialization.rb +2 -11
- data/lib/new_relic/delayed_job_injection.rb +11 -4
- data/lib/new_relic/rack/developer_mode.rb +0 -5
- data/lib/new_relic/version.rb +1 -1
- data/newrelic_rpm.gemspec +3 -4
- data/test/new_relic/control_test.rb +7 -10
- data/test/test_helper.rb +0 -18
- data/ui/views/newrelic/_show_sample_sql.rhtml +4 -8
- data/ui/views/newrelic/file/stylesheets/style.css +0 -6
- data/ui/views/newrelic/show_sample.rhtml +1 -2
- metadata +4 -6
- data/test/new_relic/rack/developer_mode_test.rb +0 -43
data/README.rdoc
CHANGED
@@ -13,7 +13,7 @@ The New Relic Ruby Agent runs in one of two modes:
|
|
13
13
|
|
14
14
|
Low overhead instrumentation that captures detailed information on
|
15
15
|
your application running in production and transmits them to
|
16
|
-
newrelic.com where you can monitor them in real time.
|
16
|
+
rpm.newrelic.com where you can monitor them in real time.
|
17
17
|
|
18
18
|
==== Developer Mode
|
19
19
|
|
@@ -39,7 +39,7 @@ Environments" section under "Getting Started".
|
|
39
39
|
|
40
40
|
= Getting Started
|
41
41
|
|
42
|
-
Install the
|
42
|
+
Install the RPM agent as a gem. If you are using Rails you can
|
43
43
|
install the gem as a plug-in--details below.
|
44
44
|
|
45
45
|
gem install newrelic_rpm
|
data/cert/cacert.pem
CHANGED
@@ -1,118 +1,151 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
-----END CERTIFICATE-----
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
1
|
+
-----BEGIN CERTIFICATE-----
|
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=
|
151
|
+
-----END CERTIFICATE-----
|
@@ -2,15 +2,20 @@ require 'new_relic/agent/instrumentation/controller_instrumentation'
|
|
2
2
|
|
3
3
|
DependencyDetection.defer do
|
4
4
|
depends_on do
|
5
|
-
!NewRelic::Control.instance['disable_dj']
|
5
|
+
value = !NewRelic::Control.instance['disable_dj']
|
6
|
+
NewRelic::Control.instance.log.info('Delayed Job instrumentation disabled, edit the "disable_dj" parameter in your newrelic.yml to change this') unless value
|
7
|
+
value
|
6
8
|
end
|
7
9
|
|
8
10
|
depends_on do
|
9
|
-
defined?(::Delayed) && defined?(::Delayed::Job)
|
11
|
+
value = defined?(::Delayed) && defined?(::Delayed::Job)
|
12
|
+
NewRelic::Control.instance.log.info('Delayed Job not defined, skipping instrumentation') unless value
|
13
|
+
value
|
10
14
|
end
|
11
15
|
|
12
16
|
executes do
|
13
17
|
Delayed::Job.class_eval do
|
18
|
+
NewRelic::Control.instance.log.info('Installing controller instrumentation into Delayed::Job')
|
14
19
|
include NewRelic::Agent::Instrumentation::ControllerInstrumentation
|
15
20
|
if self.instance_methods.include?('name')
|
16
21
|
add_transaction_tracer "invoke_job", :category => 'OtherTransaction/DelayedJob', :path => '#{self.name}'
|
@@ -22,8 +27,10 @@ DependencyDetection.defer do
|
|
22
27
|
|
23
28
|
executes do
|
24
29
|
Delayed::Job.instance_eval do
|
30
|
+
NewRelic::Control.instance.log.info('Attempting to install after_fork hook for Delayed Job')
|
25
31
|
if self.respond_to?('after_fork')
|
26
32
|
if method_defined?(:after_fork)
|
33
|
+
NewRelic::Control.instance.log.info('Delayed::Job.after_fork is defined, aliasing our method and calling the old one')
|
27
34
|
def after_fork_with_newrelic
|
28
35
|
NewRelic::Agent.after_fork(:force_reconnect => true)
|
29
36
|
after_fork_without_newrelic
|
@@ -32,6 +39,7 @@ DependencyDetection.defer do
|
|
32
39
|
alias_method :after_fork_without_newrelic, :after_fork
|
33
40
|
alias_method :after_fork, :after_fork_with_newrelic
|
34
41
|
else
|
42
|
+
NewRelic::Control.instance.log.info('Delayed::Job.after_fork is not defined, defining our after_fork hook')
|
35
43
|
def after_fork
|
36
44
|
NewRelic::Agent.after_fork(:force_reconnect => true)
|
37
45
|
super
|
@@ -153,12 +153,6 @@ module Agent
|
|
153
153
|
elapsed = (gc_time - @last_gc_timestamp).to_f
|
154
154
|
@last_gc_timestamp = gc_time
|
155
155
|
@last_gc_count = gc_collections
|
156
|
-
|
157
|
-
if defined?(GC::Profiler)
|
158
|
-
GC::Profiler.clear
|
159
|
-
@last_gc_timestamp = 0
|
160
|
-
end
|
161
|
-
|
162
156
|
if num_calls > 0
|
163
157
|
# µs to seconds
|
164
158
|
elapsed = elapsed / 1000000.0
|
@@ -17,16 +17,8 @@ module NewRelic
|
|
17
17
|
|
18
18
|
private
|
19
19
|
|
20
|
-
def open_arguments
|
21
|
-
if defined?(Encoding)
|
22
|
-
[file_path, File::RDWR | File::CREAT, {:internal_encoding => nil}]
|
23
|
-
else
|
24
|
-
[file_path, File::RDWR | File::CREAT]
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
20
|
def with_locked_store
|
29
|
-
File.open(
|
21
|
+
File.open(file_path, File::RDWR | File::CREAT) do |f|
|
30
22
|
f.flock(File::LOCK_EX)
|
31
23
|
begin
|
32
24
|
yield(f)
|
@@ -35,8 +27,7 @@ module NewRelic
|
|
35
27
|
end
|
36
28
|
end
|
37
29
|
rescue Exception => e
|
38
|
-
|
39
|
-
NewRelic::Control.instance.log.debug(e.backtrace.split("\n"))
|
30
|
+
puts e.inspect
|
40
31
|
end
|
41
32
|
|
42
33
|
def get_data_from_file(f)
|
@@ -13,23 +13,30 @@ end
|
|
13
13
|
|
14
14
|
DependencyDetection.defer do
|
15
15
|
depends_on do
|
16
|
-
|
16
|
+
NewRelic::Control.instance.log.info("Attempting to install Delayed Job initialization hook")
|
17
|
+
value = defined?(::Delayed) && defined?(::Delayed::Worker)
|
18
|
+
NewRelic::Control.instance.log.info("Delayed Job and Delayed Worker instrumentation #{value ? 'is' : 'is not'} being installed")
|
17
19
|
end
|
18
20
|
|
19
21
|
executes do
|
20
22
|
Delayed::Worker.class_eval do
|
21
23
|
def initialize_with_new_relic(*args)
|
22
|
-
|
24
|
+
NewRelic::Control.instance.log.info("Initializing Delayed Job with New Relic")
|
25
|
+
value = initialize_without_new_relic(*args)
|
26
|
+
NewRelic::Control.instance.log.info("Beginning New Relic Delayed Job initialization")
|
23
27
|
worker_name = case
|
24
28
|
when self.respond_to?(:name) then self.name
|
25
29
|
when self.class.respond_to?(:default_name) then self.class.default_name
|
26
30
|
end
|
27
31
|
dispatcher_instance_id = worker_name || "host:#{Socket.gethostname} pid:#{Process.pid}" rescue "pid:#{Process.pid}"
|
28
|
-
|
32
|
+
log_message = "New Relic Monitoring DJ worker #{dispatcher_instance_id}"
|
33
|
+
NewRelic::Control.instance.log.info(log_message)
|
34
|
+
say log_message
|
29
35
|
NewRelic::DelayedJobInjection.worker_name = worker_name
|
30
36
|
NewRelic::Control.instance.init_plugin :dispatcher => :delayed_job, :dispatcher_instance_id => dispatcher_instance_id
|
31
37
|
end
|
32
|
-
|
38
|
+
|
39
|
+
NewRelic::Control.instance.log.debug("Aliasing initialize method to hook our instrumentation into Delayed::Worker#initialize")
|
33
40
|
alias initialize_without_new_relic initialize
|
34
41
|
alias initialize initialize_with_new_relic
|
35
42
|
end
|
@@ -224,11 +224,6 @@ module NewRelic
|
|
224
224
|
@sample_controller_name = metric_parser.controller_name
|
225
225
|
@sample_action_name = metric_parser.action_name
|
226
226
|
|
227
|
-
@sql_segments = @sample.sql_segments
|
228
|
-
if params['d']
|
229
|
-
@sql_segments.sort!{|a,b| b.duration <=> a.duration }
|
230
|
-
end
|
231
|
-
|
232
227
|
render(:show_sample)
|
233
228
|
end
|
234
229
|
|
data/lib/new_relic/version.rb
CHANGED
@@ -4,7 +4,7 @@ module NewRelic
|
|
4
4
|
MAJOR = 3
|
5
5
|
MINOR = 1
|
6
6
|
TINY = 0
|
7
|
-
BUILD = '
|
7
|
+
BUILD = 'djlogging' #'0' # Set to nil for a release, 'beta1', 'alpha', etc for prerelease builds
|
8
8
|
STRING = [MAJOR, MINOR, TINY, BUILD].compact.join('.')
|
9
9
|
end
|
10
10
|
|
data/newrelic_rpm.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{newrelic_rpm}
|
8
|
-
s.version = "3.1.0.
|
8
|
+
s.version = "3.1.0.djlogging"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = ["Bill Kayser", "Justin George"
|
12
|
-
s.date = %q{2011-
|
11
|
+
s.authors = ["Bill Kayser", "Justin George"]
|
12
|
+
s.date = %q{2011-05-26}
|
13
13
|
s.description = %q{New Relic is a performance management system, developed by New Relic,
|
14
14
|
Inc (http://www.newrelic.com). New Relic provides you with deep
|
15
15
|
information about the performance of your web application as it runs
|
@@ -186,7 +186,6 @@ http://github.com/newrelic/rpm/
|
|
186
186
|
"test/new_relic/metric_data_test.rb",
|
187
187
|
"test/new_relic/metric_spec_test.rb",
|
188
188
|
"test/new_relic/rack/all_test.rb",
|
189
|
-
"test/new_relic/rack/developer_mode_test.rb",
|
190
189
|
"test/new_relic/stats_test.rb",
|
191
190
|
"test/new_relic/transaction_analysis/segment_summary_test.rb",
|
192
191
|
"test/new_relic/transaction_analysis_test.rb",
|
@@ -19,16 +19,13 @@ class NewRelic::ControlTest < Test::Unit::TestCase
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def test_cert_file
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
s = OpenSSL::SSL::SSLSocket.new s, ctx
|
30
|
-
s.connect
|
31
|
-
# should not raise an error
|
22
|
+
result = `openssl verify -CAfile #{@c.cert_file_path} #{@c.send(:newrelic_root)}/cert/site.pem`
|
23
|
+
assert (result =~ /OK/), 'Should verify certificate: ' + result
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_old_cert_file
|
27
|
+
result = `openssl verify -CAfile #{@c.cert_file_path} #{@c.send(:newrelic_root)}/cert/oldsite.pem`
|
28
|
+
assert (result =~ /OK/), 'Should verify the old certificate: ' + result
|
32
29
|
end
|
33
30
|
|
34
31
|
def test_monitor_mode
|
data/test/test_helper.rb
CHANGED
@@ -123,22 +123,4 @@ module TransactionSampleTestHelper
|
|
123
123
|
|
124
124
|
sampler.samples[0]
|
125
125
|
end
|
126
|
-
|
127
|
-
def run_sample_trace_on(sampler, path='/path')
|
128
|
-
sampler.notice_first_scope_push Time.now.to_f
|
129
|
-
sampler.notice_transaction path, path, {}
|
130
|
-
sampler.notice_push_scope "Controller/sandwiches/index"
|
131
|
-
sampler.notice_sql("SELECT * FROM sandwiches WHERE bread = 'wheat'", nil, 0)
|
132
|
-
sampler.notice_push_scope "ab"
|
133
|
-
sampler.notice_sql("SELECT * FROM sandwiches WHERE bread = 'white'", nil, 0)
|
134
|
-
yield sampler if block_given?
|
135
|
-
sampler.notice_pop_scope "ab"
|
136
|
-
sampler.notice_push_scope "lew"
|
137
|
-
sampler.notice_sql("SELECT * FROM sandwiches WHERE bread = 'french'", nil, 0)
|
138
|
-
sampler.notice_pop_scope "lew"
|
139
|
-
sampler.notice_pop_scope "Controller/sandwiches/index"
|
140
|
-
sampler.notice_scope_empty
|
141
|
-
sampler.samples[0]
|
142
|
-
end
|
143
|
-
|
144
126
|
end
|
@@ -6,19 +6,15 @@
|
|
6
6
|
so that the rows logger is loaded first.
|
7
7
|
<% else %>
|
8
8
|
<%= render :partial => 'segment_limit_message' if trace_row_display_limit_reached %>
|
9
|
-
<table width="100%"
|
9
|
+
<table width="100%">
|
10
10
|
<thead>
|
11
11
|
<tr>
|
12
|
-
<td>
|
13
|
-
|
14
|
-
</td>
|
15
|
-
<td colspan="2">
|
16
|
-
<%= link_to_if !params['d'], "Duration", "show_sample_sql?id=#{sample.sample_id}&d=y" %>
|
17
|
-
</td>
|
12
|
+
<td>Timestamp</td>
|
13
|
+
<td colspan="2">Duration</td>
|
18
14
|
<td>SQL</td>
|
19
15
|
</tr>
|
20
16
|
</thead>
|
21
17
|
|
22
|
-
|
18
|
+
<%= render :partial => 'sql_row', :collection => @sample.sql_segments[0...trace_row_display_limit] %>
|
23
19
|
</table>
|
24
20
|
<% end %>
|
@@ -70,10 +70,9 @@
|
|
70
70
|
<%= show_view_link 'SQL', 'show_sample_sql' %>
|
71
71
|
</div>
|
72
72
|
<br/>
|
73
|
-
|
74
73
|
<%= %w[show_sample_summary show_sample_sql show_sample_detail].collect do |p|
|
75
74
|
options = {:align => 'center', :id => p}
|
76
|
-
options[:style] = 'display: none' unless
|
75
|
+
options[:style] = 'display: none' unless p == params['action']
|
77
76
|
content_tag('div', render(:partial => p), options)
|
78
77
|
end.join(' ') %>
|
79
78
|
<% end %>
|
metadata
CHANGED
@@ -1,24 +1,23 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: newrelic_rpm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 886112865
|
5
5
|
prerelease: true
|
6
6
|
segments:
|
7
7
|
- 3
|
8
8
|
- 1
|
9
9
|
- 0
|
10
|
-
-
|
11
|
-
version: 3.1.0.
|
10
|
+
- djlogging
|
11
|
+
version: 3.1.0.djlogging
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Bill Kayser
|
15
15
|
- Justin George
|
16
|
-
- Jon Guymon
|
17
16
|
autorequire:
|
18
17
|
bindir: bin
|
19
18
|
cert_chain: []
|
20
19
|
|
21
|
-
date: 2011-
|
20
|
+
date: 2011-05-26 00:00:00 -07:00
|
22
21
|
default_executable:
|
23
22
|
dependencies:
|
24
23
|
- !ruby/object:Gem::Dependency
|
@@ -244,7 +243,6 @@ files:
|
|
244
243
|
- test/new_relic/metric_data_test.rb
|
245
244
|
- test/new_relic/metric_spec_test.rb
|
246
245
|
- test/new_relic/rack/all_test.rb
|
247
|
-
- test/new_relic/rack/developer_mode_test.rb
|
248
246
|
- test/new_relic/stats_test.rb
|
249
247
|
- test/new_relic/transaction_analysis/segment_summary_test.rb
|
250
248
|
- test/new_relic/transaction_analysis_test.rb
|
@@ -1,43 +0,0 @@
|
|
1
|
-
# ENV['SKIP_RAILS'] = 'true'
|
2
|
-
require File.expand_path(File.join(File.dirname(__FILE__),'..', '..',
|
3
|
-
'test_helper'))
|
4
|
-
require 'rack/test'
|
5
|
-
require 'new_relic/rack/developer_mode'
|
6
|
-
|
7
|
-
ENV['RACK_ENV'] = 'test'
|
8
|
-
|
9
|
-
class DeveloperModeTest < Test::Unit::TestCase
|
10
|
-
include Rack::Test::Methods
|
11
|
-
include TransactionSampleTestHelper
|
12
|
-
|
13
|
-
def app
|
14
|
-
mock_app = lambda { |env| [500, {}, "Don't touch me!"] }
|
15
|
-
NewRelic::Rack::DeveloperMode.new(mock_app)
|
16
|
-
end
|
17
|
-
|
18
|
-
def setup
|
19
|
-
@sampler = NewRelic::Agent::TransactionSampler.new
|
20
|
-
run_sample_trace_on(@sampler, '/here')
|
21
|
-
run_sample_trace_on(@sampler, '/there')
|
22
|
-
run_sample_trace_on(@sampler, '/somewhere')
|
23
|
-
NewRelic::Agent.instance.stubs(:transaction_sampler).returns(@sampler)
|
24
|
-
end
|
25
|
-
|
26
|
-
def test_index_displays_all_samples
|
27
|
-
get '/newrelic'
|
28
|
-
|
29
|
-
assert last_response.ok?
|
30
|
-
assert last_response.body.include?('/here')
|
31
|
-
assert last_response.body.include?('/there')
|
32
|
-
assert last_response.body.include?('/somewhere')
|
33
|
-
end
|
34
|
-
|
35
|
-
def test_show_sample_summary_displays_sample_details
|
36
|
-
get "/newrelic/show_sample_summary?id=#{@sampler.samples[0].sample_id}"
|
37
|
-
|
38
|
-
assert last_response.ok?
|
39
|
-
assert last_response.body.include?('/here')
|
40
|
-
assert last_response.body.include?('SandwichesController')
|
41
|
-
assert last_response.body.include?('index')
|
42
|
-
end
|
43
|
-
end
|