newrelic_rpm 3.9.6.257 → 3.9.7.266

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. data.tar.gz.sig +0 -0
  2. data/CHANGELOG +45 -0
  3. data/lib/new_relic/agent.rb +0 -1
  4. data/lib/new_relic/agent/agent.rb +61 -22
  5. data/lib/new_relic/agent/agent_logger.rb +11 -9
  6. data/lib/new_relic/agent/configuration/default_source.rb +25 -2
  7. data/lib/new_relic/agent/cross_app_monitor.rb +15 -53
  8. data/lib/new_relic/agent/cross_app_tracing.rb +11 -3
  9. data/lib/new_relic/agent/custom_event_aggregator.rb +98 -0
  10. data/lib/new_relic/agent/event_buffer.rb +84 -0
  11. data/lib/new_relic/agent/harvester.rb +4 -15
  12. data/lib/new_relic/agent/hostname.rb +1 -9
  13. data/lib/new_relic/agent/inbound_request_monitor.rb +41 -0
  14. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +2 -2
  15. data/lib/new_relic/agent/instrumentation/queue_time.rb +0 -5
  16. data/lib/new_relic/agent/instrumentation/resque.rb +4 -9
  17. data/lib/new_relic/agent/javascript_instrumentor.rb +0 -12
  18. data/lib/new_relic/agent/method_tracer_helpers.rb +3 -1
  19. data/lib/new_relic/agent/new_relic_service.rb +1 -1
  20. data/lib/new_relic/agent/sampled_buffer.rb +13 -41
  21. data/lib/new_relic/agent/samplers/delayed_job_sampler.rb +52 -24
  22. data/lib/new_relic/agent/sized_buffer.rb +23 -0
  23. data/lib/new_relic/agent/synthetics_monitor.rb +50 -0
  24. data/lib/new_relic/agent/system_info.rb +28 -0
  25. data/lib/new_relic/agent/transaction.rb +78 -9
  26. data/lib/new_relic/agent/transaction/synthetics_sample_buffer.rb +25 -0
  27. data/lib/new_relic/agent/{request_sampler.rb → transaction_event_aggregator.rb} +53 -19
  28. data/lib/new_relic/agent/transaction_sample_builder.rb +3 -1
  29. data/lib/new_relic/agent/transaction_sampler.rb +10 -0
  30. data/lib/new_relic/agent/transaction_state.rb +1 -9
  31. data/lib/new_relic/coerce.rb +8 -2
  32. data/lib/new_relic/control.rb +0 -1
  33. data/lib/new_relic/local_environment.rb +12 -8
  34. data/lib/new_relic/metric_spec.rb +11 -2
  35. data/lib/new_relic/rack/developer_mode.rb +9 -1
  36. data/lib/new_relic/transaction_sample.rb +4 -10
  37. data/lib/new_relic/version.rb +1 -1
  38. data/newrelic_rpm.gemspec +1 -0
  39. data/test/agent_helper.rb +15 -2
  40. data/test/environments/norails/Gemfile +1 -0
  41. data/test/environments/rails21/Gemfile +1 -0
  42. data/test/environments/rails22/Gemfile +1 -0
  43. data/test/environments/rails23/Gemfile +1 -0
  44. data/test/environments/rails30/Gemfile +1 -0
  45. data/test/environments/rails31/Gemfile +1 -0
  46. data/test/environments/rails32/Gemfile +2 -1
  47. data/test/environments/rails40/Gemfile +2 -1
  48. data/test/environments/rails41/Gemfile +3 -1
  49. data/test/environments/rails42/Gemfile +3 -1
  50. data/test/fixtures/cross_agent_tests/README.md +6 -2
  51. data/test/fixtures/cross_agent_tests/docker_container_id/README.md +6 -0
  52. data/test/fixtures/cross_agent_tests/docker_container_id/cases.json +22 -0
  53. data/test/fixtures/cross_agent_tests/docker_container_id/docker-0.9.1.txt +10 -0
  54. data/test/fixtures/cross_agent_tests/docker_container_id/docker-1.0.0.txt +10 -0
  55. data/test/fixtures/cross_agent_tests/docker_container_id/docker-1.3.txt +9 -0
  56. data/test/fixtures/cross_agent_tests/docker_container_id/empty.txt +0 -0
  57. data/test/fixtures/cross_agent_tests/docker_container_id/lxc-containers-without-docker.txt +10 -0
  58. data/test/fixtures/cross_agent_tests/proc_meminfo/README.md +7 -0
  59. data/test/fixtures/cross_agent_tests/proc_meminfo/meminfo_4096MB.txt +47 -0
  60. data/test/fixtures/cross_agent_tests/rum_client_config.json +0 -80
  61. data/test/fixtures/cross_agent_tests/synthetics/synthetics.json +317 -0
  62. data/test/multiverse/lib/multiverse/runner.rb +1 -1
  63. data/test/multiverse/lib/multiverse/suite.rb +1 -0
  64. data/test/multiverse/suites/active_record/Envfile +42 -8
  65. data/test/multiverse/suites/active_record/ar_method_aliasing.rb +8 -4
  66. data/test/multiverse/suites/agent_only/audit_log_test.rb +0 -2
  67. data/test/multiverse/suites/agent_only/collector_exception_handling_test.rb +1 -2
  68. data/test/multiverse/suites/agent_only/cross_application_tracing_test.rb +5 -5
  69. data/test/multiverse/suites/agent_only/encoding_handling_test.rb +2 -0
  70. data/test/multiverse/suites/agent_only/harvest_timestamps_test.rb +8 -0
  71. data/test/multiverse/suites/agent_only/synthetics_test.rb +139 -0
  72. data/test/multiverse/suites/delayed_job/Envfile +79 -0
  73. data/test/multiverse/suites/delayed_job/before_suite.rb +33 -0
  74. data/test/multiverse/suites/delayed_job/config/newrelic.yml +18 -0
  75. data/test/multiverse/suites/delayed_job/delayed_job_sampler_test.rb +131 -0
  76. data/test/multiverse/suites/delayed_job/unsupported_backend_test.rb +24 -0
  77. data/test/multiverse/suites/high_security/high_security_test.rb +3 -10
  78. data/test/multiverse/suites/rails/Envfile +4 -4
  79. data/test/multiverse/suites/rails/request_statistics_test.rb +4 -4
  80. data/test/new_relic/agent/agent_test.rb +32 -4
  81. data/test/new_relic/agent/configuration/default_source_test.rb +6 -0
  82. data/test/new_relic/agent/cross_app_monitor_test.rb +23 -29
  83. data/test/new_relic/agent/custom_event_aggregator_test.rb +88 -0
  84. data/test/new_relic/agent/event_buffer_test_cases.rb +152 -0
  85. data/test/new_relic/agent/harvester_test.rb +5 -25
  86. data/test/new_relic/agent/hostname_test.rb +1 -1
  87. data/test/new_relic/agent/inbound_request_monitor_test.rb +49 -0
  88. data/test/new_relic/agent/instrumentation/controller_instrumentation_test.rb +9 -9
  89. data/test/new_relic/agent/instrumentation/queue_time_test.rb +0 -19
  90. data/test/new_relic/agent/javascript_instrumentor_test.rb +0 -45
  91. data/test/new_relic/agent/new_relic_service_test.rb +17 -12
  92. data/test/new_relic/agent/pipe_channel_manager_test.rb +4 -4
  93. data/test/new_relic/agent/sampled_buffer_test.rb +73 -145
  94. data/test/new_relic/agent/sized_buffer_test.rb +29 -0
  95. data/test/new_relic/agent/synthetics_monitor_test.rb +96 -0
  96. data/test/new_relic/agent/system_info_test.rb +19 -3
  97. data/test/new_relic/agent/transaction/developer_mode_sample_buffer_test.rb +14 -8
  98. data/test/new_relic/agent/transaction/synthetics_sample_buffer_test.rb +38 -0
  99. data/test/new_relic/agent/{request_sampler_test.rb → transaction_event_aggregator_test.rb} +55 -4
  100. data/test/new_relic/agent/transaction_sampler_test.rb +33 -11
  101. data/test/new_relic/agent/transaction_state_test.rb +0 -1
  102. data/test/new_relic/agent/transaction_test.rb +121 -19
  103. data/test/new_relic/coerce_test.rb +38 -3
  104. data/test/new_relic/control_test.rb +1 -0
  105. data/test/new_relic/fake_collector.rb +6 -2
  106. data/test/new_relic/fake_external_server.rb +2 -6
  107. data/test/new_relic/fake_server.rb +46 -29
  108. data/test/new_relic/http_client_test_cases.rb +71 -2
  109. data/test/new_relic/local_environment_test.rb +78 -0
  110. data/test/new_relic/metric_parser/metric_parser_test.rb +2 -0
  111. data/test/new_relic/metric_spec_test.rb +43 -0
  112. data/test/new_relic/multiverse_helpers.rb +11 -18
  113. data/test/new_relic/rack/browser_monitoring_test.rb +1 -18
  114. data/test/new_relic/rack/developer_mode_test.rb +1 -1
  115. data/test/new_relic/transaction_sample_test.rb +14 -4
  116. data/test/performance/suites/rack_middleware.rb +3 -1
  117. data/test/test_helper.rb +33 -0
  118. metadata +48 -7
  119. metadata.gz.sig +0 -0
  120. data/lib/new_relic/agent/browser_token.rb +0 -41
  121. data/test/multiverse/suites/agent_only/before_suite.rb +0 -7
  122. data/test/new_relic/agent/browser_token_test.rb +0 -56
@@ -0,0 +1,10 @@
1
+ 11:hugetlb:/
2
+ 10:perf_event:/
3
+ 9:blkio:/
4
+ 8:freezer:/
5
+ 7:devices:/docker/f37a7e4d17017e7bf774656b19ca4360c6cdc4951c86700a464101d0d9ce97ee
6
+ 6:memory:/
7
+ 5:cpuacct:/
8
+ 4:cpu:/docker/f37a7e4d17017e7bf774656b19ca4360c6cdc4951c86700a464101d0d9ce97ee
9
+ 3:cpuset:/
10
+ 2:name=systemd:/
@@ -0,0 +1,10 @@
1
+ 11:hugetlb:/
2
+ 10:perf_event:/docker/3ccfa00432798ff38f85839de1e396f771b4acbe9f4ddea0a761c39b9790a782
3
+ 9:blkio:/docker/3ccfa00432798ff38f85839de1e396f771b4acbe9f4ddea0a761c39b9790a782
4
+ 8:freezer:/docker/3ccfa00432798ff38f85839de1e396f771b4acbe9f4ddea0a761c39b9790a782
5
+ 7:devices:/docker/3ccfa00432798ff38f85839de1e396f771b4acbe9f4ddea0a761c39b9790a782
6
+ 6:memory:/docker/3ccfa00432798ff38f85839de1e396f771b4acbe9f4ddea0a761c39b9790a782
7
+ 5:cpuacct:/docker/3ccfa00432798ff38f85839de1e396f771b4acbe9f4ddea0a761c39b9790a782
8
+ 4:cpu:/docker/3ccfa00432798ff38f85839de1e396f771b4acbe9f4ddea0a761c39b9790a782
9
+ 3:cpuset:/
10
+ 2:name=systemd:/
@@ -0,0 +1,9 @@
1
+ 9:perf_event:/docker/47cbd16b77c50cbf71401c069cd2189f0e659af17d5a2daca3bddf59d8a870b2
2
+ 8:blkio:/docker/47cbd16b77c50cbf71401c069cd2189f0e659af17d5a2daca3bddf59d8a870b2
3
+ 7:net_cls:/
4
+ 6:freezer:/docker/47cbd16b77c50cbf71401c069cd2189f0e659af17d5a2daca3bddf59d8a870b2
5
+ 5:devices:/docker/47cbd16b77c50cbf71401c069cd2189f0e659af17d5a2daca3bddf59d8a870b2
6
+ 4:memory:/docker/47cbd16b77c50cbf71401c069cd2189f0e659af17d5a2daca3bddf59d8a870b2
7
+ 3:cpuacct:/docker/47cbd16b77c50cbf71401c069cd2189f0e659af17d5a2daca3bddf59d8a870b2
8
+ 2:cpu:/docker/47cbd16b77c50cbf71401c069cd2189f0e659af17d5a2daca3bddf59d8a870b2
9
+ 1:cpuset:/
@@ -0,0 +1,10 @@
1
+ 11:hugetlb:/user/1000.user/2.session
2
+ 10:perf_event:/user/1000.user/2.session
3
+ 9:blkio:/user/1000.user/2.session
4
+ 8:freezer:/user/1000.user/2.session
5
+ 7:devices:/user/1000.user/2.session
6
+ 6:memory:/user/1000.user/2.session
7
+ 5:cpuacct:/user/1000.user/2.session
8
+ 4:cpu:/user/1000.user/2.session
9
+ 3:cpuset:/user/1000.user/2.session
10
+ 2:name=systemd:/user/1000.user/2.session
@@ -0,0 +1,7 @@
1
+ These tests are for determining the physical memory from the data returned by
2
+ /proc/meminfo on Linux hosts. The total physical memory of the linux system is
3
+ reported as part of the enviornment values. The key used by the Python agent
4
+ is 'Total Physical Memory (MB)'.
5
+
6
+ The names of all test files should be of the form `meminfo_nnnnMB.txt`. The
7
+ value `nnnn` in the filename is the physical memory of that system in MB.
@@ -0,0 +1,47 @@
1
+ MemTotal: 4194304 kB
2
+ MemFree: 931724 kB
3
+ Buffers: 146992 kB
4
+ Cached: 545044 kB
5
+ SwapCached: 0 kB
6
+ Active: 551644 kB
7
+ Inactive: 454660 kB
8
+ Active(anon): 315628 kB
9
+ Inactive(anon): 9084 kB
10
+ Active(file): 236016 kB
11
+ Inactive(file): 445576 kB
12
+ Unevictable: 0 kB
13
+ Mlocked: 0 kB
14
+ HighTotal: 1183624 kB
15
+ HighFree: 295288 kB
16
+ LowTotal: 877428 kB
17
+ LowFree: 636436 kB
18
+ SwapTotal: 1046524 kB
19
+ SwapFree: 1046524 kB
20
+ Dirty: 72 kB
21
+ Writeback: 0 kB
22
+ AnonPages: 314416 kB
23
+ Mapped: 127944 kB
24
+ Shmem: 10448 kB
25
+ Slab: 75852 kB
26
+ SReclaimable: 59144 kB
27
+ SUnreclaim: 16708 kB
28
+ KernelStack: 2984 kB
29
+ PageTables: 7552 kB
30
+ NFS_Unstable: 0 kB
31
+ Bounce: 0 kB
32
+ WritebackTmp: 0 kB
33
+ CommitLimit: 2077048 kB
34
+ Committed_AS: 2433452 kB
35
+ VmallocTotal: 122880 kB
36
+ VmallocUsed: 23288 kB
37
+ VmallocChunk: 98348 kB
38
+ HardwareCorrupted: 0 kB
39
+ AnonHugePages: 0 kB
40
+ HugePages_Total: 0
41
+ HugePages_Free: 0
42
+ HugePages_Rsvd: 0
43
+ HugePages_Surp: 0
44
+ Hugepagesize: 2048 kB
45
+ DirectMap4k: 12280 kB
46
+ DirectMap2M: 901120 kB
47
+
@@ -2,13 +2,10 @@
2
2
  {
3
3
  "testname":"all fields present",
4
4
 
5
- "cookie":"tk=0123456789ABCDEF",
6
5
  "apptime_microseconds":5,
7
6
  "queuetime_microseconds":3,
8
- "trace_threshold_microseconds":1,
9
7
  "browser_monitoring.attributes.enabled":true,
10
8
  "transaction_name":"WebTransaction/brink/of/glory",
11
- "guid":"FEDCBA9876543210",
12
9
  "license_key":"0000111122223333444455556666777788889999",
13
10
  "connect_reply":
14
11
  {
@@ -27,78 +24,6 @@
27
24
  "transactionName":"Z1VSZENQX0JTUUZbXF4fUkJYX1oeXVQdVV9fQkk=",
28
25
  "queueTime":3,
29
26
  "applicationTime":5,
30
- "ttGuid":"FEDCBA9876543210",
31
- "agentToken":"0123456789ABCDEF",
32
- "atts":"SxJFEgtKE1BeQlpTEQoSUlVFUBNMTw==",
33
- "errorBeacon":"my_error_beacon",
34
- "agent":"my_js_agent_file"
35
- }
36
- },
37
- {
38
- "testname":"app time below trace threshold",
39
-
40
- "cookie":"tk=0123456789ABCDEF",
41
- "apptime_microseconds":5,
42
- "queuetime_microseconds":3,
43
- "trace_threshold_microseconds":10,
44
- "browser_monitoring.attributes.enabled":true,
45
- "transaction_name":"WebTransaction/brink/of/glory",
46
- "guid":"FEDCBA9876543210",
47
- "license_key":"0000111122223333444455556666777788889999",
48
- "connect_reply":
49
- {
50
- "beacon":"my_beacon",
51
- "browser_key":"my_browser_key",
52
- "application_id":"my_application_id",
53
- "error_beacon":"my_error_beacon",
54
- "js_agent_file":"my_js_agent_file"
55
- },
56
- "user_attributes":{"alpha":"beta"},
57
- "expected":
58
- {
59
- "beacon":"my_beacon",
60
- "licenseKey":"my_browser_key",
61
- "applicationID":"my_application_id",
62
- "transactionName":"Z1VSZENQX0JTUUZbXF4fUkJYX1oeXVQdVV9fQkk=",
63
- "queueTime":3,
64
- "applicationTime":5,
65
- "ttGuid":"",
66
- "agentToken":"0123456789ABCDEF",
67
- "atts":"SxJFEgtKE1BeQlpTEQoSUlVFUBNMTw==",
68
- "errorBeacon":"my_error_beacon",
69
- "agent":"my_js_agent_file"
70
- }
71
- },
72
- {
73
- "testname":"bad cookie",
74
-
75
- "cookie":"tk=<123456789ABCDEF",
76
- "apptime_microseconds":5,
77
- "queuetime_microseconds":3,
78
- "trace_threshold_microseconds":1,
79
- "browser_monitoring.attributes.enabled":true,
80
- "transaction_name":"WebTransaction/brink/of/glory",
81
- "guid":"FEDCBA9876543210",
82
- "license_key":"0000111122223333444455556666777788889999",
83
- "connect_reply":
84
- {
85
- "beacon":"my_beacon",
86
- "browser_key":"my_browser_key",
87
- "application_id":"my_application_id",
88
- "error_beacon":"my_error_beacon",
89
- "js_agent_file":"my_js_agent_file"
90
- },
91
- "user_attributes":{"alpha":"beta"},
92
- "expected":
93
- {
94
- "beacon":"my_beacon",
95
- "licenseKey":"my_browser_key",
96
- "applicationID":"my_application_id",
97
- "transactionName":"Z1VSZENQX0JTUUZbXF4fUkJYX1oeXVQdVV9fQkk=",
98
- "queueTime":3,
99
- "applicationTime":5,
100
- "ttGuid":"",
101
- "agentToken":"",
102
27
  "atts":"SxJFEgtKE1BeQlpTEQoSUlVFUBNMTw==",
103
28
  "errorBeacon":"my_error_beacon",
104
29
  "agent":"my_js_agent_file"
@@ -107,13 +32,10 @@
107
32
  {
108
33
  "testname":"browser_monitoring.attributes.enabled disabled",
109
34
 
110
- "cookie":"tk=0123456789ABCDEF",
111
35
  "apptime_microseconds":5,
112
36
  "queuetime_microseconds":3,
113
- "trace_threshold_microseconds":1,
114
37
  "browser_monitoring.attributes.enabled":false,
115
38
  "transaction_name":"WebTransaction/brink/of/glory",
116
- "guid":"FEDCBA9876543210",
117
39
  "license_key":"0000111122223333444455556666777788889999",
118
40
  "connect_reply":
119
41
  {
@@ -132,8 +54,6 @@
132
54
  "transactionName":"Z1VSZENQX0JTUUZbXF4fUkJYX1oeXVQdVV9fQkk=",
133
55
  "queueTime":3,
134
56
  "applicationTime":5,
135
- "ttGuid":"FEDCBA9876543210",
136
- "agentToken":"0123456789ABCDEF",
137
57
  "atts":"",
138
58
  "errorBeacon":"my_error_beacon",
139
59
  "agent":"my_js_agent_file"
@@ -0,0 +1,317 @@
1
+ [
2
+ {
3
+ "name": "valid_synthetics_request",
4
+ "settings": {
5
+ "agentEncodingKey": "1234567890123456789012345678901234567890",
6
+ "syntheticsEncodingKey": "1234567890123456789012345678901234567890",
7
+ "transactionGuid": "9323dc260548ed0e",
8
+ "trustedAccountIds": [
9
+ 444
10
+ ]
11
+ },
12
+ "inputHeaderPayload": [
13
+ 1,
14
+ 444,
15
+ "rrrrrrr-rrrr-1234-rrrr-rrrrrrrrrrrr",
16
+ "jjjjjjj-jjjj-1234-jjjj-jjjjjjjjjjjj",
17
+ "mmmmmmm-mmmm-1234-mmmm-mmmmmmmmmmmm"
18
+ ],
19
+ "inputObfuscatedHeader": {
20
+ "X-NewRelic-Synthetics": "agMfAAECGxpLQkNAQUZHG0VKS0IcAwEHARtFSktCHEBBRkdERUpLQkNAQRYZFF1SU1pbWFkZX1xdUhQBAwEHGV9cXVIUWltYWV5fXF1SU1pbEB8WWFtaVVRdXB9eWVhbGgkLAwUfXllYWxpVVF1cX15ZWFtaVVQSbA=="
21
+ },
22
+ "outputTransactionTrace": {
23
+ "header": {
24
+ "field_9": "rrrrrrr-rrrr-1234-rrrr-rrrrrrrrrrrr"
25
+ },
26
+ "expectedIntrinsics": {
27
+ "synthetics_resource_id": "rrrrrrr-rrrr-1234-rrrr-rrrrrrrrrrrr",
28
+ "synthetics_job_id": "jjjjjjj-jjjj-1234-jjjj-jjjjjjjjjjjj",
29
+ "synthetics_monitor_id": "mmmmmmm-mmmm-1234-mmmm-mmmmmmmmmmmm"
30
+ },
31
+ "nonExpectedIntrinsics": []
32
+ },
33
+ "outputTransactionEvent": {
34
+ "expectedAttributes": {
35
+ "nr.guid": "9323dc260548ed0e",
36
+ "nr.syntheticsResourceId": "rrrrrrr-rrrr-1234-rrrr-rrrrrrrrrrrr",
37
+ "nr.syntheticsJobId": "jjjjjjj-jjjj-1234-jjjj-jjjjjjjjjjjj",
38
+ "nr.syntheticsMonitorId": "mmmmmmm-mmmm-1234-mmmm-mmmmmmmmmmmm"
39
+ },
40
+ "nonExpectedAttributes": []
41
+ },
42
+ "outputExternalRequestHeader": {
43
+ "expectedHeader": {
44
+ "X-NewRelic-Synthetics": "agMfAAECGxpLQkNAQUZHG0VKS0IcAwEHARtFSktCHEBBRkdERUpLQkNAQRYZFF1SU1pbWFkZX1xdUhQBAwEHGV9cXVIUWltYWV5fXF1SU1pbEB8WWFtaVVRdXB9eWVhbGgkLAwUfXllYWxpVVF1cX15ZWFtaVVQSbA=="
45
+ },
46
+ "nonExpectedHeader": []
47
+ }
48
+ },
49
+ {
50
+ "name": "non_synthetics_request",
51
+ "settings": {
52
+ "agentEncodingKey": "1234567890123456789012345678901234567890",
53
+ "syntheticsEncodingKey": "1234567890123456789012345678901234567890",
54
+ "transactionGuid": "9323dc260548ed0e",
55
+ "trustedAccountIds": [
56
+ 444
57
+ ]
58
+ },
59
+ "inputHeaderPayload": [],
60
+ "inputObfuscatedHeader": {},
61
+ "outputTransactionTrace": {
62
+ "header": {
63
+ "field_9": null
64
+ },
65
+ "expectedIntrinsics": {},
66
+ "nonExpectedIntrinsics": [
67
+ "synthetics_resource_id",
68
+ "synthetics_job_id",
69
+ "synthetics_monitor_id"
70
+ ]
71
+ },
72
+ "outputTransactionEvent": {
73
+ "expectedAttributes": {},
74
+ "nonExpectedAttributes": [
75
+ "nr.syntheticsResourceId",
76
+ "nr.syntheticsJobId",
77
+ "nr.syntheticsMonitorId"
78
+ ]
79
+ },
80
+ "outputExternalRequestHeader": {
81
+ "expectedHeader": {},
82
+ "nonExpectedHeader": [
83
+ "X-NewRelic-Synthetics"
84
+ ]
85
+ }
86
+ },
87
+ {
88
+ "name": "invalid_synthetics_request_unsupported_version",
89
+ "settings": {
90
+ "encodingKey": "1234567890123456789012345678901234567890",
91
+ "syntheticsEncodingKey": "1234567890123456789012345678901234567890",
92
+ "transactionGuid": "9323dc260548ed0e",
93
+ "trustedAccountIds": [
94
+ 444
95
+ ]
96
+ },
97
+ "inputHeaderPayload": [
98
+ 777,
99
+ 444,
100
+ "rrrrrrr-rrrr-1234-rrrr-rrrrrrrrrrrr",
101
+ "jjjjjjj-jjjj-1234-jjjj-jjjjjjjjjjjj",
102
+ "mmmmmmm-mmmm-1234-mmmm-mmmmmmmmmmmm"
103
+ ],
104
+ "inputObfuscatedHeader": {
105
+ "X-NewRelic-Synthetics": "agUEAxkCAwwVEkNAQUZHREUVS0JDQB4FBwUDFUtCQ0AeRkdERUpLQkNAQUZHFBsaU1pbWFleXxtdUlNaHAMBBwEbXVJTWhxYWV5fXF1SU1pbWFkWGRRaVVRdXF9eGVhbWlUUAQMBBxlYW1pVFF1cX15ZWFtaVVRdXBBu"
106
+ },
107
+ "outputTransactionTrace": {
108
+ "header": {
109
+ "field_9": null
110
+ },
111
+ "expectedIntrinsics": {},
112
+ "nonExpectedIntrinsics": [
113
+ "synthetics_resource_id",
114
+ "synthetics_job_id",
115
+ "synthetics_monitor_id"
116
+ ]
117
+ },
118
+ "outputTransactionEvent": {
119
+ "expectedAttributes": {},
120
+ "nonExpectedAttributes": [
121
+ "nr.syntheticsResourceId",
122
+ "nr.syntheticsJobId",
123
+ "nr.syntheticsMonitorId"
124
+ ]
125
+ },
126
+ "outputExternalRequestHeader": {
127
+ "expectedHeader": {},
128
+ "nonExpectedHeader": [
129
+ "X-NewRelic-Synthetics"
130
+ ]
131
+ }
132
+ },
133
+ {
134
+ "name": "invalid_synthetics_request_untrusted_account_id",
135
+ "settings": {
136
+ "encodingKey": "1234567890123456789012345678901234567890",
137
+ "syntheticsEncodingKey": "1234567890123456789012345678901234567890",
138
+ "transactionGuid": "9323dc260548ed0e",
139
+ "trustedAccountIds": [
140
+ 444
141
+ ]
142
+ },
143
+ "inputHeaderPayload": [
144
+ 1,
145
+ 999,
146
+ "rrrrrrr-rrrr-1234-rrrr-rrrrrrrrrrrr",
147
+ "jjjjjjj-jjjj-1234-jjjj-jjjjjjjjjjjj",
148
+ "mmmmmmm-mmmm-1234-mmmm-mmmmmmmmmmmm"
149
+ ],
150
+ "inputObfuscatedHeader": {
151
+ "X-NewRelic-Synthetics": "agMfDQwPGxpLQkNAQUZHG0VKS0IcAwEHARtFSktCHEBBRkdERUpLQkNAQRYZFF1SU1pbWFkZX1xdUhQBAwEHGV9cXVIUWltYWV5fXF1SU1pbEB8WWFtaVVRdXB9eWVhbGgkLAwUfXllYWxpVVF1cX15ZWFtaVVQSbA=="
152
+ },
153
+ "outputTransactionTrace": {
154
+ "header": {
155
+ "field_9": null
156
+ },
157
+ "expectedIntrinsics": {},
158
+ "nonExpectedIntrinsics": [
159
+ "synthetics_resource_id",
160
+ "synthetics_job_id",
161
+ "synthetics_monitor_id"
162
+ ]
163
+ },
164
+ "outputTransactionEvent": {
165
+ "expectedAttributes": {},
166
+ "nonExpectedAttributes": [
167
+ "nr.syntheticsResourceId",
168
+ "nr.syntheticsJobId",
169
+ "nr.syntheticsMonitorId"
170
+ ]
171
+ },
172
+ "outputExternalRequestHeader": {
173
+ "expectedHeader": {},
174
+ "nonExpectedHeader": [
175
+ "X-NewRelic-Synthetics"
176
+ ]
177
+ }
178
+ },
179
+ {
180
+ "name": "invalid_synthetics_request_mismatched_encoding_key",
181
+ "settings": {
182
+ "encodingKey": "0000000000000000000000000000000000000000",
183
+ "syntheticsEncodingKey": "1234567890123456789012345678901234567890",
184
+ "transactionGuid": "9323dc260548ed0e",
185
+ "trustedAccountIds": [
186
+ 444
187
+ ]
188
+ },
189
+ "inputHeaderPayload": [
190
+ 1,
191
+ 444,
192
+ "rrrrrrr-rrrr-1234-rrrr-rrrrrrrrrrrr",
193
+ "jjjjjjj-jjjj-1234-jjjj-jjjjjjjjjjjj",
194
+ "mmmmmmm-mmmm-1234-mmmm-mmmmmmmmmmmm"
195
+ ],
196
+ "inputObfuscatedHeader": {
197
+ "X-NewRelic-Synthetics": "agMfAAECGxpLQkNAQUZHG0VKS0IcAwEHARtFSktCHEBBRkdERUpLQkNAQRYZFF1SU1pbWFkZX1xdUhQBAwEHGV9cXVIUWltYWV5fXF1SU1pbEB8WWFtaVVRdXB9eWVhbGgkLAwUfXllYWxpVVF1cX15ZWFtaVVQSbA=="
198
+ },
199
+ "outputTransactionTrace": {
200
+ "header": {
201
+ "field_9": null
202
+ },
203
+ "expectedIntrinsics": {},
204
+ "nonExpectedIntrinsics": [
205
+ "synthetics_resource_id",
206
+ "synthetics_job_id",
207
+ "synthetics_monitor_id"
208
+ ]
209
+ },
210
+ "outputTransactionEvent": {
211
+ "expectedAttributes": {},
212
+ "nonExpectedAttributes": [
213
+ "nr.syntheticsResourceId",
214
+ "nr.syntheticsJobId",
215
+ "nr.syntheticsMonitorId"
216
+ ]
217
+ },
218
+ "outputExternalRequestHeader": {
219
+ "expectedHeader": {},
220
+ "nonExpectedHeader": [
221
+ "X-NewRelic-Synthetics"
222
+ ]
223
+ }
224
+ },
225
+ {
226
+ "name": "invalid_synthetics_request_too_few_header_elements",
227
+ "settings": {
228
+ "encodingKey": "1234567890123456789012345678901234567890",
229
+ "syntheticsEncodingKey": "1234567890123456789012345678901234567890",
230
+ "transactionGuid": "9323dc260548ed0e",
231
+ "trustedAccountIds": [
232
+ 444
233
+ ]
234
+ },
235
+ "inputHeaderPayload": [
236
+ 1,
237
+ 444,
238
+ "rrrrrrr-rrrr-1234-rrrr-rrrrrrrrrrrr",
239
+ "jjjjjjj-jjjj-1234-jjjj-jjjjjjjjjjjj"
240
+ ],
241
+ "inputObfuscatedHeader": {
242
+ "X-NewRelic-Synthetics": "agMfAAECGxpLQkNAQUZHG0VKS0IcAwEHARtFSktCHEBBRkdERUpLQkNAQRYZFF1SU1pbWFkZX1xdUhQBAwEHGV9cXVIUWltYWV5fXF1SU1pbEG4="
243
+ },
244
+ "outputTransactionTrace": {
245
+ "header": {
246
+ "field_9": null
247
+ },
248
+ "expectedIntrinsics": {},
249
+ "nonExpectedIntrinsics": [
250
+ "synthetics_resource_id",
251
+ "synthetics_job_id",
252
+ "synthetics_monitor_id"
253
+ ]
254
+ },
255
+ "outputTransactionEvent": {
256
+ "expectedAttributes": {},
257
+ "nonExpectedAttributes": [
258
+ "nr.syntheticsResourceId",
259
+ "nr.syntheticsJobId",
260
+ "nr.syntheticsMonitorId"
261
+ ]
262
+ },
263
+ "outputExternalRequestHeader": {
264
+ "expectedHeader": {},
265
+ "nonExpectedHeader": [
266
+ "X-NewRelic-Synthetics"
267
+ ]
268
+ }
269
+ },
270
+ {
271
+ "name": "invalid_synthetics_request_too_many_header_elements",
272
+ "settings": {
273
+ "encodingKey": "1234567890123456789012345678901234567890",
274
+ "syntheticsEncodingKey": "1234567890123456789012345678901234567890",
275
+ "transactionGuid": "9323dc260548ed0e",
276
+ "trustedAccountIds": [
277
+ 444
278
+ ]
279
+ },
280
+ "inputHeaderPayload": [
281
+ 1,
282
+ 444,
283
+ "rrrrrrr-rrrr-1234-rrrr-rrrrrrrrrrrr",
284
+ "jjjjjjj-jjjj-1234-jjjj-jjjjjjjjjjjj",
285
+ "mmmmmmm-mmmm-1234-mmmm-mmmmmmmmmmmm",
286
+ "this doesn't belong here"
287
+ ],
288
+ "inputObfuscatedHeader": {
289
+ "X-NewRelic-Synthetics": "agMfAAECGxpLQkNAQUZHG0VKS0IcAwEHARtFSktCHEBBRkdERUpLQkNAQRYZFF1SU1pbWFkZX1xdUhQBAwEHGV9cXVIUWltYWV5fXF1SU1pbEB8WWFtaVVRdXB9eWVhbGgkLAwUfXllYWxpVVF1cX15ZWFtaVVQSHRBHXFxFF1xWVUJcFEAVVFJUVl5WEltRR1MVZQ=="
290
+ },
291
+ "outputTransactionTrace": {
292
+ "header": {
293
+ "field_9": null
294
+ },
295
+ "expectedIntrinsics": {},
296
+ "nonExpectedIntrinsics": [
297
+ "synthetics_resource_id",
298
+ "synthetics_job_id",
299
+ "synthetics_monitor_id"
300
+ ]
301
+ },
302
+ "outputTransactionEvent": {
303
+ "expectedAttributes": {},
304
+ "nonExpectedAttributes": [
305
+ "nr.syntheticsResourceId",
306
+ "nr.syntheticsJobId",
307
+ "nr.syntheticsMonitorId"
308
+ ]
309
+ },
310
+ "outputExternalRequestHeader": {
311
+ "expectedHeader": {},
312
+ "nonExpectedHeader": [
313
+ "X-NewRelic-Synthetics"
314
+ ]
315
+ }
316
+ }
317
+ ]