newrelic_rpm 6.13.1 → 6.14.0

Sign up to get free protection for your applications and to get access to all the features.
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()