newrelic_rpm 3.1.0.beta5 → 3.1.0.djlogging

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.

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 Ruby Agent as a gem. If you are using Rails you can
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
- GeoTrust Global CA
2
- ==================
3
- -----BEGIN CERTIFICATE-----
4
- MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
5
- Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw
6
- MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
7
- LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
8
- CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo
9
- BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet
10
- 8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc
11
- T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU
12
- vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD
13
- AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk
14
- DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q
15
- zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4
16
- d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2
17
- mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p
18
- XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm
19
- Mw==
20
- -----END CERTIFICATE-----
21
-
22
- GeoTrust Global CA 2
23
- ====================
24
- -----BEGIN CERTIFICATE-----
25
- MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
26
- R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw
27
- MDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
28
- LjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
29
- ggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/
30
- NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1k
31
- LUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFA
32
- Vvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/b
33
- HdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQF
34
- MAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNH
35
- K266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7
36
- srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6Yvh
37
- ZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqL
38
- OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC
39
- x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF
40
- H4z1Ir+rzoPz4iIprn2DQKi6bA==
41
- -----END CERTIFICATE-----
42
-
43
- GeoTrust Universal CA
44
- =====================
45
- -----BEGIN CERTIFICATE-----
46
- MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
47
- R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1
48
- MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu
49
- Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
50
- ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t
51
- JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e
52
- RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs
53
- 7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d
54
- 8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V
55
- qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga
56
- Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB
57
- Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu
58
- KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08
59
- ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0
60
- XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB
61
- hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc
62
- aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2
63
- qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL
64
- oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK
65
- xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF
66
- KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2
67
- DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK
68
- xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU
69
- p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI
70
- P/rmMuGNG2+k5o7Y+SlIis5z/iw=
71
- -----END CERTIFICATE-----
72
-
73
- GeoTrust Universal CA 2
74
- =======================
75
- -----BEGIN CERTIFICATE-----
76
- MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
77
- R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0
78
- MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg
79
- SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA
80
- A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0
81
- DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17
82
- j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q
83
- JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a
84
- QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2
85
- WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP
86
- 20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn
87
- ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC
88
- SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG
89
- 8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2
90
- +/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E
91
- BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
92
- dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ
93
- 4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+
94
- mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq
95
- A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg
96
- Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP
97
- pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d
98
- FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp
99
- gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm
100
- X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
101
- -----END CERTIFICATE-----
102
- -----BEGIN CERTIFICATE-----
103
- MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE
104
- ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
105
- MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT
106
- B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB
107
- nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR
108
- fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW
109
- 8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG
110
- A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE
111
- CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG
112
- A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS
113
- spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB
114
- Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961
115
- zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB
116
- BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95
117
- 70+sB3c4
118
- -----END CERTIFICATE-----
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
@@ -9,7 +9,7 @@ module NewRelic
9
9
  # If we try to get a log before one has been set up, return a stdout log
10
10
  unless @log
11
11
  l = Logger.new(STDOUT)
12
- l.level = Logger::INFO
12
+ l.level = Logger::DEBUG
13
13
  return l
14
14
  end
15
15
  @log
@@ -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(*open_arguments) do |f|
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
- NewRelic::Control.instance.log.error("Error serializing data to disk: #{e.inspect}")
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
- defined?(::Delayed) && defined?(::Delayed::Worker)
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
- initialize_without_new_relic(*args)
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
- say "New Relic Ruby Agent Monitoring DJ worker #{dispatcher_instance_id}"
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
 
@@ -4,7 +4,7 @@ module NewRelic
4
4
  MAJOR = 3
5
5
  MINOR = 1
6
6
  TINY = 0
7
- BUILD = 'beta5' #'0' # Set to nil for a release, 'beta1', 'alpha', etc for prerelease builds
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.beta5"
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", "Jon Guymon"]
12
- s.date = %q{2011-06-10}
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
- require 'socket'
23
- require 'openssl'
24
-
25
- s = TCPSocket.new 'collector.newrelic.com', 443
26
- ctx = OpenSSL::SSL::SSLContext.new
27
- ctx.ca_file = @c.cert_file_path
28
- ctx.verify_mode = OpenSSL::SSL::VERIFY_PEER
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%" class="segment_list_table">
9
+ <table width="100%">
10
10
  <thead>
11
11
  <tr>
12
- <td>
13
- <%= link_to_if params['d'], "Timestamp", "show_sample_sql?id=#{sample.sample_id}" %>
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
- <%= render :partial => 'sql_row', :collection => @sql_segments[0...trace_row_display_limit] %>
18
+ <%= render :partial => 'sql_row', :collection => @sample.sql_segments[0...trace_row_display_limit] %>
23
19
  </table>
24
20
  <% end %>
@@ -310,12 +310,6 @@ div.flash.notice
310
310
  text-decoration: underline;
311
311
  }
312
312
 
313
- .segment_list_table thead a
314
- {
315
- color: white;
316
- text-decoration: underline;
317
- }
318
-
319
313
  .application_stack_trace, .full_stack_trace
320
314
  {
321
315
  font-family: monospace;
@@ -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 @req.path.include?(p)
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: -1848230031
4
+ hash: 886112865
5
5
  prerelease: true
6
6
  segments:
7
7
  - 3
8
8
  - 1
9
9
  - 0
10
- - beta5
11
- version: 3.1.0.beta5
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-06-10 00:00:00 -07:00
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