newrelic_rpm 6.13.1 → 6.14.0

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.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CHANGELOG.md +55 -0
  4. data/lib/new_relic/agent/audit_logger.rb +10 -0
  5. data/lib/new_relic/agent/configuration/default_source.rb +15 -1
  6. data/lib/new_relic/agent/distributed_tracing/cross_app_tracing.rb +2 -2
  7. data/lib/new_relic/agent/instrumentation/action_view_subscriber.rb +4 -5
  8. data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +16 -37
  9. data/lib/new_relic/agent/instrumentation/middleware_proxy.rb +3 -11
  10. data/lib/new_relic/agent/instrumentation/net.rb +66 -59
  11. data/lib/new_relic/agent/instrumentation/net_prepend.rb +72 -0
  12. data/lib/new_relic/agent/instrumentation/notifications_subscriber.rb +1 -1
  13. data/lib/new_relic/agent/instrumentation/rack.rb +8 -18
  14. data/lib/new_relic/agent/instrumentation/redis.rb +1 -1
  15. data/lib/new_relic/agent/method_tracer.rb +6 -16
  16. data/lib/new_relic/agent/new_relic_service.rb +1 -0
  17. data/lib/new_relic/agent/samplers/memory_sampler.rb +1 -1
  18. data/lib/new_relic/agent/stats_engine/gc_profiler.rb +1 -1
  19. data/lib/new_relic/agent/transaction/distributed_tracer.rb +12 -6
  20. data/lib/new_relic/agent/transaction/message_broker_segment.rb +1 -0
  21. data/lib/new_relic/constants.rb +4 -0
  22. data/lib/new_relic/environment_report.rb +7 -1
  23. data/lib/new_relic/supportability_helper.rb +1 -0
  24. data/lib/new_relic/version.rb +2 -2
  25. data/newrelic_rpm.gemspec +1 -1
  26. metadata +3 -27
  27. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -31
  28. data/.github/ISSUE_TEMPLATE/config.yml +0 -5
  29. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -24
  30. data/.github/actions/annotate/README.md +0 -79
  31. data/.github/actions/annotate/action.yml +0 -6
  32. data/.github/actions/annotate/dist/index.js +0 -433
  33. data/.github/actions/annotate/index.js +0 -25
  34. data/.github/actions/annotate/package-lock.json +0 -172
  35. data/.github/actions/annotate/package.json +0 -30
  36. data/.github/actions/annotate/pre-commit +0 -5
  37. data/.github/actions/build-ruby/README.md +0 -79
  38. data/.github/actions/build-ruby/action.yml +0 -15
  39. data/.github/actions/build-ruby/dist/index.js +0 -52683
  40. data/.github/actions/build-ruby/index.js +0 -514
  41. data/.github/actions/build-ruby/package-lock.json +0 -581
  42. data/.github/actions/build-ruby/package.json +0 -32
  43. data/.github/actions/build-ruby/pre-commit +0 -5
  44. data/.github/pull_request_template.md +0 -16
  45. data/.github/workflows/ci.yml +0 -212
  46. data/.github/workflows/pr_review_checklist.yml +0 -22
  47. data/.github/workflows/release.yml +0 -78
  48. data/.github/workflows/scripts/rubygems-authenticate.py +0 -13
  49. data/.github/workflows/scripts/rubygems-publish.rb +0 -32
  50. data/.github/workflows/snyk.yml +0 -27
  51. data/.github/workflows/stale.yml +0 -21
@@ -1,6 +0,0 @@
1
- name: 'Annotate Errors'
2
- description: 'Annotates errors if an errrors.txt file is present'
3
- author: New Relic
4
- runs:
5
- using: 'node12'
6
- main: 'dist/index.js'
@@ -1,433 +0,0 @@
1
- module.exports =
2
- /******/ (function(modules, runtime) { // webpackBootstrap
3
- /******/ "use strict";
4
- /******/ // The module cache
5
- /******/ var installedModules = {};
6
- /******/
7
- /******/ // The require function
8
- /******/ function __webpack_require__(moduleId) {
9
- /******/
10
- /******/ // Check if module is in cache
11
- /******/ if(installedModules[moduleId]) {
12
- /******/ return installedModules[moduleId].exports;
13
- /******/ }
14
- /******/ // Create a new module (and put it into the cache)
15
- /******/ var module = installedModules[moduleId] = {
16
- /******/ i: moduleId,
17
- /******/ l: false,
18
- /******/ exports: {}
19
- /******/ };
20
- /******/
21
- /******/ // Execute the module function
22
- /******/ var threw = true;
23
- /******/ try {
24
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
25
- /******/ threw = false;
26
- /******/ } finally {
27
- /******/ if(threw) delete installedModules[moduleId];
28
- /******/ }
29
- /******/
30
- /******/ // Flag the module as loaded
31
- /******/ module.l = true;
32
- /******/
33
- /******/ // Return the exports of the module
34
- /******/ return module.exports;
35
- /******/ }
36
- /******/
37
- /******/
38
- /******/ __webpack_require__.ab = __dirname + "/";
39
- /******/
40
- /******/ // the startup function
41
- /******/ function startup() {
42
- /******/ // Load entry module and return exports
43
- /******/ return __webpack_require__(305);
44
- /******/ };
45
- /******/
46
- /******/ // run startup
47
- /******/ return startup();
48
- /******/ })
49
- /************************************************************************/
50
- /******/ ({
51
-
52
- /***/ 87:
53
- /***/ (function(module) {
54
-
55
- module.exports = require("os");
56
-
57
- /***/ }),
58
-
59
- /***/ 305:
60
- /***/ (function(__unusedmodule, __unusedexports, __webpack_require__) {
61
-
62
- const fs = __webpack_require__(747)
63
- const core = __webpack_require__(968)
64
- const command = __webpack_require__(823)
65
-
66
- async function main() {
67
- const workspacePath = process.env.GITHUB_WORKSPACE
68
- const errorFilename = `${workspacePath}/errors.txt`
69
-
70
- try {
71
-
72
- if (fs.existsSync(errorFilename)) {
73
- let lines = fs.readFileSync(errorFilename).toString('utf8')
74
- command.issueCommand('error', undefined, lines)
75
- }
76
- else {
77
- core.info(`No ${errorFilename} present. Skipping!`)
78
- }
79
- }
80
- catch (error) {
81
- core.setFailed(`Action failed with error ${error}`)
82
- }
83
-
84
- }
85
-
86
- main()
87
-
88
-
89
- /***/ }),
90
-
91
- /***/ 622:
92
- /***/ (function(module) {
93
-
94
- module.exports = require("path");
95
-
96
- /***/ }),
97
-
98
- /***/ 747:
99
- /***/ (function(module) {
100
-
101
- module.exports = require("fs");
102
-
103
- /***/ }),
104
-
105
- /***/ 823:
106
- /***/ (function(__unusedmodule, exports, __webpack_require__) {
107
-
108
- "use strict";
109
-
110
- var __importStar = (this && this.__importStar) || function (mod) {
111
- if (mod && mod.__esModule) return mod;
112
- var result = {};
113
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
114
- result["default"] = mod;
115
- return result;
116
- };
117
- Object.defineProperty(exports, "__esModule", { value: true });
118
- const os = __importStar(__webpack_require__(87));
119
- /**
120
- * Commands
121
- *
122
- * Command Format:
123
- * ::name key=value,key=value::message
124
- *
125
- * Examples:
126
- * ::warning::This is the message
127
- * ::set-env name=MY_VAR::some value
128
- */
129
- function issueCommand(command, properties, message) {
130
- const cmd = new Command(command, properties, message);
131
- process.stdout.write(cmd.toString() + os.EOL);
132
- }
133
- exports.issueCommand = issueCommand;
134
- function issue(name, message = '') {
135
- issueCommand(name, {}, message);
136
- }
137
- exports.issue = issue;
138
- const CMD_STRING = '::';
139
- class Command {
140
- constructor(command, properties, message) {
141
- if (!command) {
142
- command = 'missing.command';
143
- }
144
- this.command = command;
145
- this.properties = properties;
146
- this.message = message;
147
- }
148
- toString() {
149
- let cmdStr = CMD_STRING + this.command;
150
- if (this.properties && Object.keys(this.properties).length > 0) {
151
- cmdStr += ' ';
152
- let first = true;
153
- for (const key in this.properties) {
154
- if (this.properties.hasOwnProperty(key)) {
155
- const val = this.properties[key];
156
- if (val) {
157
- if (first) {
158
- first = false;
159
- }
160
- else {
161
- cmdStr += ',';
162
- }
163
- cmdStr += `${key}=${escapeProperty(val)}`;
164
- }
165
- }
166
- }
167
- }
168
- cmdStr += `${CMD_STRING}${escapeData(this.message)}`;
169
- return cmdStr;
170
- }
171
- }
172
- /**
173
- * Sanitizes an input into a string so it can be passed into issueCommand safely
174
- * @param input input to sanitize into a string
175
- */
176
- function toCommandValue(input) {
177
- if (input === null || input === undefined) {
178
- return '';
179
- }
180
- else if (typeof input === 'string' || input instanceof String) {
181
- return input;
182
- }
183
- return JSON.stringify(input);
184
- }
185
- exports.toCommandValue = toCommandValue;
186
- function escapeData(s) {
187
- return toCommandValue(s)
188
- .replace(/%/g, '%25')
189
- .replace(/\r/g, '%0D')
190
- .replace(/\n/g, '%0A');
191
- }
192
- function escapeProperty(s) {
193
- return toCommandValue(s)
194
- .replace(/%/g, '%25')
195
- .replace(/\r/g, '%0D')
196
- .replace(/\n/g, '%0A')
197
- .replace(/:/g, '%3A')
198
- .replace(/,/g, '%2C');
199
- }
200
- //# sourceMappingURL=command.js.map
201
-
202
- /***/ }),
203
-
204
- /***/ 968:
205
- /***/ (function(__unusedmodule, exports, __webpack_require__) {
206
-
207
- "use strict";
208
-
209
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
210
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
211
- return new (P || (P = Promise))(function (resolve, reject) {
212
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
213
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
214
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
215
- step((generator = generator.apply(thisArg, _arguments || [])).next());
216
- });
217
- };
218
- var __importStar = (this && this.__importStar) || function (mod) {
219
- if (mod && mod.__esModule) return mod;
220
- var result = {};
221
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
222
- result["default"] = mod;
223
- return result;
224
- };
225
- Object.defineProperty(exports, "__esModule", { value: true });
226
- const command_1 = __webpack_require__(823);
227
- const os = __importStar(__webpack_require__(87));
228
- const path = __importStar(__webpack_require__(622));
229
- /**
230
- * The code to exit an action
231
- */
232
- var ExitCode;
233
- (function (ExitCode) {
234
- /**
235
- * A code indicating that the action was successful
236
- */
237
- ExitCode[ExitCode["Success"] = 0] = "Success";
238
- /**
239
- * A code indicating that the action was a failure
240
- */
241
- ExitCode[ExitCode["Failure"] = 1] = "Failure";
242
- })(ExitCode = exports.ExitCode || (exports.ExitCode = {}));
243
- //-----------------------------------------------------------------------
244
- // Variables
245
- //-----------------------------------------------------------------------
246
- /**
247
- * Sets env variable for this action and future actions in the job
248
- * @param name the name of the variable to set
249
- * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify
250
- */
251
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
252
- function exportVariable(name, val) {
253
- const convertedVal = command_1.toCommandValue(val);
254
- process.env[name] = convertedVal;
255
- command_1.issueCommand('set-env', { name }, convertedVal);
256
- }
257
- exports.exportVariable = exportVariable;
258
- /**
259
- * Registers a secret which will get masked from logs
260
- * @param secret value of the secret
261
- */
262
- function setSecret(secret) {
263
- command_1.issueCommand('add-mask', {}, secret);
264
- }
265
- exports.setSecret = setSecret;
266
- /**
267
- * Prepends inputPath to the PATH (for this action and future actions)
268
- * @param inputPath
269
- */
270
- function addPath(inputPath) {
271
- command_1.issueCommand('add-path', {}, inputPath);
272
- process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;
273
- }
274
- exports.addPath = addPath;
275
- /**
276
- * Gets the value of an input. The value is also trimmed.
277
- *
278
- * @param name name of the input to get
279
- * @param options optional. See InputOptions.
280
- * @returns string
281
- */
282
- function getInput(name, options) {
283
- const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';
284
- if (options && options.required && !val) {
285
- throw new Error(`Input required and not supplied: ${name}`);
286
- }
287
- return val.trim();
288
- }
289
- exports.getInput = getInput;
290
- /**
291
- * Sets the value of an output.
292
- *
293
- * @param name name of the output to set
294
- * @param value value to store. Non-string values will be converted to a string via JSON.stringify
295
- */
296
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
297
- function setOutput(name, value) {
298
- command_1.issueCommand('set-output', { name }, value);
299
- }
300
- exports.setOutput = setOutput;
301
- /**
302
- * Enables or disables the echoing of commands into stdout for the rest of the step.
303
- * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.
304
- *
305
- */
306
- function setCommandEcho(enabled) {
307
- command_1.issue('echo', enabled ? 'on' : 'off');
308
- }
309
- exports.setCommandEcho = setCommandEcho;
310
- //-----------------------------------------------------------------------
311
- // Results
312
- //-----------------------------------------------------------------------
313
- /**
314
- * Sets the action status to failed.
315
- * When the action exits it will be with an exit code of 1
316
- * @param message add error issue message
317
- */
318
- function setFailed(message) {
319
- process.exitCode = ExitCode.Failure;
320
- error(message);
321
- }
322
- exports.setFailed = setFailed;
323
- //-----------------------------------------------------------------------
324
- // Logging Commands
325
- //-----------------------------------------------------------------------
326
- /**
327
- * Gets whether Actions Step Debug is on or not
328
- */
329
- function isDebug() {
330
- return process.env['RUNNER_DEBUG'] === '1';
331
- }
332
- exports.isDebug = isDebug;
333
- /**
334
- * Writes debug message to user log
335
- * @param message debug message
336
- */
337
- function debug(message) {
338
- command_1.issueCommand('debug', {}, message);
339
- }
340
- exports.debug = debug;
341
- /**
342
- * Adds an error issue
343
- * @param message error issue message. Errors will be converted to string via toString()
344
- */
345
- function error(message) {
346
- command_1.issue('error', message instanceof Error ? message.toString() : message);
347
- }
348
- exports.error = error;
349
- /**
350
- * Adds an warning issue
351
- * @param message warning issue message. Errors will be converted to string via toString()
352
- */
353
- function warning(message) {
354
- command_1.issue('warning', message instanceof Error ? message.toString() : message);
355
- }
356
- exports.warning = warning;
357
- /**
358
- * Writes info to log with console.log.
359
- * @param message info message
360
- */
361
- function info(message) {
362
- process.stdout.write(message + os.EOL);
363
- }
364
- exports.info = info;
365
- /**
366
- * Begin an output group.
367
- *
368
- * Output until the next `groupEnd` will be foldable in this group
369
- *
370
- * @param name The name of the output group
371
- */
372
- function startGroup(name) {
373
- command_1.issue('group', name);
374
- }
375
- exports.startGroup = startGroup;
376
- /**
377
- * End an output group.
378
- */
379
- function endGroup() {
380
- command_1.issue('endgroup');
381
- }
382
- exports.endGroup = endGroup;
383
- /**
384
- * Wrap an asynchronous function call in a group.
385
- *
386
- * Returns the same type as the function itself.
387
- *
388
- * @param name The name of the group
389
- * @param fn The function to wrap in the group
390
- */
391
- function group(name, fn) {
392
- return __awaiter(this, void 0, void 0, function* () {
393
- startGroup(name);
394
- let result;
395
- try {
396
- result = yield fn();
397
- }
398
- finally {
399
- endGroup();
400
- }
401
- return result;
402
- });
403
- }
404
- exports.group = group;
405
- //-----------------------------------------------------------------------
406
- // Wrapper action state
407
- //-----------------------------------------------------------------------
408
- /**
409
- * Saves state for current action, the state can only be retrieved by this action's post job execution.
410
- *
411
- * @param name name of the state to store
412
- * @param value value to store. Non-string values will be converted to a string via JSON.stringify
413
- */
414
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
415
- function saveState(name, value) {
416
- command_1.issueCommand('save-state', { name }, value);
417
- }
418
- exports.saveState = saveState;
419
- /**
420
- * Gets the value of an state set by this action's main execution.
421
- *
422
- * @param name name of the state to get
423
- * @returns string
424
- */
425
- function getState(name) {
426
- return process.env[`STATE_${name}`] || '';
427
- }
428
- exports.getState = getState;
429
- //# sourceMappingURL=core.js.map
430
-
431
- /***/ })
432
-
433
- /******/ });
@@ -1,25 +0,0 @@
1
- const fs = require('fs')
2
- const core = require('@actions/core')
3
- const command = require('@actions/core/lib/command')
4
-
5
- async function main() {
6
- const workspacePath = process.env.GITHUB_WORKSPACE
7
- const errorFilename = `${workspacePath}/errors.txt`
8
-
9
- try {
10
-
11
- if (fs.existsSync(errorFilename)) {
12
- let lines = fs.readFileSync(errorFilename).toString('utf8')
13
- command.issueCommand('error', undefined, lines)
14
- }
15
- else {
16
- core.info(`No ${errorFilename} present. Skipping!`)
17
- }
18
- }
19
- catch (error) {
20
- core.setFailed(`Action failed with error ${error}`)
21
- }
22
-
23
- }
24
-
25
- main()