newrelic 6.11.0 → 6.13.1
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.
- package/CONTRIBUTING.md +18 -15
- package/LICENSE +1 -1
- package/NEWS.md +45 -6
- package/README.md +37 -10
- package/ROADMAP_Node.md +24 -0
- package/SECURITY.md +3 -18
- package/THIRD_PARTY_NOTICES.md +1332 -404
- package/THIRD_PARTY_NOTICES_ADDENDUM.md +13 -6
- package/lib/attributes.js +13 -1
- package/lib/collector/serverless.js +41 -13
- package/lib/environment.js +2 -2
- package/lib/prioritized-attributes.js +12 -0
- package/lib/shimmer.js +5 -2
- package/lib/transaction/trace/index.js +24 -1
- package/lib/util/sql/obfuscate.js +1 -1
- package/package.json +7 -7
- package/third_party_manifest.json +36 -39
- package/CODE_OF_CONDUCT.md +0 -46
package/CONTRIBUTING.md
CHANGED
|
@@ -20,9 +20,9 @@ licensing restrictions.
|
|
|
20
20
|
|
|
21
21
|
### Code of Conduct
|
|
22
22
|
|
|
23
|
-
Before contributing please read the [code of conduct](
|
|
23
|
+
Before contributing please read the [code of conduct](https://github.com/newrelic/.github/blob/main/CODE_OF_CONDUCT.md)
|
|
24
24
|
|
|
25
|
-
Note that our [code of conduct](
|
|
25
|
+
Note that our [code of conduct](https://github.com/newrelic/.github/blob/main/CODE_OF_CONDUCT.md) applies to all platforms
|
|
26
26
|
and venues related to this project; please follow it in all your interactions
|
|
27
27
|
with the project and its participants.
|
|
28
28
|
|
|
@@ -45,22 +45,25 @@ contributing to this project, you're welcome to request access to the
|
|
|
45
45
|
\#oss-contributors channel in the newrelicusers.slack.com workspace. To request
|
|
46
46
|
access, see https://newrelicusers-signup.herokuapp.com/.
|
|
47
47
|
|
|
48
|
-
##
|
|
48
|
+
## PR Guidelines
|
|
49
49
|
|
|
50
50
|
### Version Support
|
|
51
51
|
|
|
52
|
-
When contributing, keep in mind that New Relic customers (that's you!) are
|
|
53
|
-
running many different versions of Node, some of them pretty old. Changes that
|
|
54
|
-
depend on the newest version of Node will probably be rejected, with prejudice
|
|
55
|
-
if they replace something backwards compatible.
|
|
52
|
+
When contributing, keep in mind that New Relic customers (that's you!) are running many different versions of Node, some of them pretty old. Changes that depend on the newest version of Node will probably be rejected, especially if they replace something backwards compatible.
|
|
56
53
|
|
|
57
|
-
Be aware that the instrumentation needs to work with a wide range of versions
|
|
58
|
-
of the instrumented modules, and that code that looks nonsensical or
|
|
59
|
-
overcomplicated may be that way for compatibility-related reasons. Read all the
|
|
60
|
-
comments and check the related tests before deciding whether existing code is
|
|
61
|
-
incorrect.
|
|
54
|
+
Be aware that the instrumentation needs to work with a wide range of versions of the instrumented modules, and that code that looks nonsensical or overcomplicated may be that way for compatibility-related reasons. Read all the comments and check the related tests before deciding whether existing code is incorrect.
|
|
62
55
|
|
|
63
|
-
|
|
56
|
+
If you’re planning on contributing a new feature or an otherwise complex contribution, we kindly ask you to start a conversation with the maintainer team by opening up an Github issue first.
|
|
57
|
+
|
|
58
|
+
### General Guidelines
|
|
59
|
+
|
|
60
|
+
In general, we try to limit adding third-party production dependencies. If one is necessary, please be prepared to make a clear case for the need.
|
|
61
|
+
|
|
62
|
+
### Coding Style Guidelines/Conventions
|
|
63
|
+
|
|
64
|
+
We use eslint to enforce certain coding standards. Please see our [.eslintrc](./.eslintrc.js) file for specific rule configuration.
|
|
65
|
+
|
|
66
|
+
### Testing Guidelines
|
|
64
67
|
|
|
65
68
|
The agent includes a suite of unit and functional tests which should be used to
|
|
66
69
|
verify your changes don't break existing functionality.
|
|
@@ -101,7 +104,7 @@ where they are:
|
|
|
101
104
|
|
|
102
105
|
The service token is the all-caps version of the service name listed above.
|
|
103
106
|
|
|
104
|
-
#### Running
|
|
107
|
+
#### Running Tests
|
|
105
108
|
|
|
106
109
|
Running the test suite is simple. Just run:
|
|
107
110
|
|
|
@@ -116,7 +119,7 @@ the unit tests can be run with:
|
|
|
116
119
|
|
|
117
120
|
npm run unit
|
|
118
121
|
|
|
119
|
-
#### Writing
|
|
122
|
+
#### Writing Tests
|
|
120
123
|
|
|
121
124
|
For most contributions it is strongly recommended to add additional tests which
|
|
122
125
|
exercise your changes. This helps us efficiently incorporate your changes into
|
package/LICENSE
CHANGED
package/NEWS.md
CHANGED
|
@@ -1,11 +1,50 @@
|
|
|
1
|
+
## 6.13.1 (2020-09-24):
|
|
2
|
+
|
|
3
|
+
* Fixed named-pipe check for lambda invocations to avoid race-condition.
|
|
4
|
+
|
|
5
|
+
Named-pipe existence will now be checked just prior to first write and then cached.
|
|
6
|
+
|
|
7
|
+
* Updated README with community-plus header.
|
|
8
|
+
|
|
9
|
+
* Updated README config copy example.
|
|
10
|
+
|
|
11
|
+
* Added Open Source Policy workflow.
|
|
12
|
+
|
|
13
|
+
* Removed repository CoC in favor of centralized CoC at org root.
|
|
14
|
+
|
|
15
|
+
### 6.13.0 (2020-08-25):
|
|
16
|
+
|
|
17
|
+
* Added ability for the agent to write to a named pipe, instead of stdout, when in serverless mode.
|
|
18
|
+
|
|
19
|
+
### 6.12.1 (2020-08-20):
|
|
20
|
+
|
|
21
|
+
* **Security fix:** Resolves an issue where transaction traces will still capture the request URI when the Node.js agent is configured to exclude the 'request.uri' attribute. This can be problematic for certain customers in environments where sensitive information is included in the URI. See security bulletin [NR20-02](https://docs.newrelic.com/docs/security/new-relic-security/security-bulletins/security-bulletin-nr20-02).
|
|
22
|
+
|
|
23
|
+
The request URI will now be excluded from transaction traces if the 'request.uri' attribute has been set to be excluded at either the top-level 'attributes.exclude' configuration or at the 'transaction_tracer.attributes.exclude' configuration.
|
|
24
|
+
|
|
25
|
+
### 6.12.0 (2020-08-11):
|
|
26
|
+
|
|
27
|
+
* Fixes obfuscation of SQL queries with large data inserts.
|
|
28
|
+
Special thanks to Tomáš Hanáček (@tomashanacek) for tracking down the issue and providing the fix.
|
|
29
|
+
* On failed instrumentation, prevent multiple requires from re-wrapping shims.
|
|
30
|
+
Special thanks to Ryan Copley (@RyanCopley) for the contribution.
|
|
31
|
+
* Upgrade `async` to `v3.2.0`. Special thanks to Yohan Siguret (@Crow-EH) for the contribution
|
|
32
|
+
* Bumped `@newrelic/native-metrics` to `^5.3.0`.
|
|
33
|
+
* Bumped `@newrelic/aws-sdk` to `^2.0.0`.
|
|
34
|
+
* Bumped `node-test-utilities` to `^4.0.0`.
|
|
35
|
+
* Bumped `@newrelic/superagent` to `^3.0.0`.
|
|
36
|
+
* Bumps `@newrelic/koa` to `^4.0.0`.
|
|
37
|
+
* Updated `SECURITY.md` with coordinated disclosure program link.
|
|
38
|
+
* Updated guidelines and templates for contributing to the project.
|
|
39
|
+
|
|
1
40
|
### 6.11.0 (2020-07-07):
|
|
2
41
|
|
|
3
|
-
*
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
42
|
+
* Updated to Apache 2.0 license
|
|
43
|
+
* Added CODE_OF_CONDUCT.md file
|
|
44
|
+
* Streamlined README.md file
|
|
45
|
+
* Updated CONTRIBUTING.md file
|
|
46
|
+
* Added additional guidance to bug report template
|
|
47
|
+
* Added copyright headers to all source files
|
|
9
48
|
* Added Distributed Tracing option to config file used for first time customers
|
|
10
49
|
* Converted some test files to Node-tap
|
|
11
50
|
* Removed "hidden" and unused code injector diagnostic capability
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
[](https://opensource.newrelic.com/oss-category/#community-plus)
|
|
2
2
|
|
|
3
|
-
# New Relic's Node.js agent ![Server Smoke Tests]
|
|
3
|
+
# New Relic's Node.js agent [![Server Smoke Tests][3]][4] [![Node Agent CI][5]][6]
|
|
4
4
|
|
|
5
5
|
[![npm status badge][1]][2]
|
|
6
6
|
|
|
@@ -20,11 +20,11 @@ To use New Relic's Node.js agent entails these three steps, which are described
|
|
|
20
20
|
|
|
21
21
|
1. To install the agent for performance monitoring, use your favorite npm-based package manager and install the `newrelic` package into your application:
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
`$ npm install newrelic`
|
|
24
24
|
|
|
25
25
|
2. Then, copy the stock configuration file to your program's base folder:
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
`$ cp ./node_modules/newrelic/newrelic.js ./<your destination>`
|
|
28
28
|
|
|
29
29
|
3. Now, add your New Relic license key and application/service name to that file:
|
|
30
30
|
|
|
@@ -70,7 +70,7 @@ The `newrelic` module returns an object with the Node agent's API methods attach
|
|
|
70
70
|
newrelic.addCustomAttribute('some-attribute', 'some-value')
|
|
71
71
|
```
|
|
72
72
|
|
|
73
|
-
You can read more about using the API over on the [New Relic
|
|
73
|
+
You can read more about using the API over on the [New Relic documentation](https://docs.newrelic.com/docs/agents/nodejs-agent/api-guides/guide-using-nodejs-agent-api) site.
|
|
74
74
|
|
|
75
75
|
## Core agent development and tests
|
|
76
76
|
|
|
@@ -125,17 +125,40 @@ Here are some resources for learning more about the agent:
|
|
|
125
125
|
|
|
126
126
|
## Support
|
|
127
127
|
|
|
128
|
-
|
|
128
|
+
Should you need assistance with New Relic products, you are in good hands with several support channels.
|
|
129
129
|
|
|
130
|
-
|
|
130
|
+
If the issue has been confirmed as a bug or is a feature request, please file a GitHub issue.
|
|
131
|
+
|
|
132
|
+
**Support Channels**
|
|
133
|
+
|
|
134
|
+
* [New Relic Documentation](https://docs.newrelic.com/docs/agents/nodejs-agent/getting-started/introduction-new-relic-nodejs): Comprehensive guidance for using our platform
|
|
135
|
+
* [New Relic Community](https://discuss.newrelic.com/c/support-products-agents/node-js-agent/): The best place to engage in troubleshooting questions
|
|
136
|
+
* [New Relic Developer](https://developer.newrelic.com/): Resources for building a custom observability applications
|
|
137
|
+
* [New Relic University](https://learn.newrelic.com/): A range of online training for New Relic users of every level
|
|
138
|
+
* [New Relic Technical Support](https://support.newrelic.com/) 24/7/365 ticketed support. Read more about our [Technical Support Offerings](https://docs.newrelic.com/docs/licenses/license-information/general-usage-licenses/support-plan).
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
## Privacy
|
|
142
|
+
At New Relic we take your privacy and the security of your information seriously, and are committed to protecting your information. We must emphasize the importance of not sharing personal data in public forums, and ask all users to scrub logs and diagnostic information for sensitive information, whether personal, proprietary, or otherwise.
|
|
143
|
+
|
|
144
|
+
We define “Personal Data” as any information relating to an identified or identifiable individual, including, for example, your name, phone number, post code or zip code, Device ID, IP address and email address.
|
|
145
|
+
|
|
146
|
+
Please review [New Relic’s General Data Privacy Notice](https://newrelic.com/termsandconditions/privacy) for more information.
|
|
147
|
+
|
|
148
|
+
## Roadmap
|
|
149
|
+
|
|
150
|
+
See our [roadmap](./ROADMAP_Node.md), to learn more about our product vision, understand our plans, and provide us valuable feedback.
|
|
131
151
|
|
|
132
152
|
## Contributing
|
|
133
153
|
|
|
134
|
-
We encourage your contributions to improve the Node.js agent
|
|
154
|
+
We encourage your contributions to improve the Node.js agent! Keep in mind when you submit your pull request, you'll need to sign the CLA via the click-through using CLA-Assistant. You only have to sign the CLA one time per project.
|
|
155
|
+
If you have any questions, or to execute our corporate CLA, required if your contribution is on behalf of a company, please drop us an email at opensource@newrelic.com.
|
|
156
|
+
|
|
157
|
+
**A note about vulnerabilities**
|
|
135
158
|
|
|
136
|
-
|
|
159
|
+
As noted in our [security policy](https://github.com/newrelic/node-newrelic/security/policy), New Relic is committed to the privacy and security of our customers and their data. We believe that providing coordinated disclosure by security researchers and engaging with the security community are important means to achieve our security goals.
|
|
137
160
|
|
|
138
|
-
If you have
|
|
161
|
+
If you believe you have found a security vulnerability in this project or any of New Relic's products or websites, we welcome and greatly appreciate you reporting it to New Relic through [HackerOne](https://hackerone.com/newrelic).
|
|
139
162
|
|
|
140
163
|
## License
|
|
141
164
|
|
|
@@ -146,3 +169,7 @@ The Node.js agent also uses source code from third-party libraries. You can find
|
|
|
146
169
|
|
|
147
170
|
[1]: https://nodei.co/npm/newrelic.png
|
|
148
171
|
[2]: https://nodei.co/npm/newrelic
|
|
172
|
+
[3]: https://github.com/newrelic/node-newrelic/workflows/Server%20Smoke%20Tests/badge.svg
|
|
173
|
+
[4]: https://github.com/newrelic/node-newrelic/actions?query=workflow%3A%22Server+Smoke+Tests%22
|
|
174
|
+
[5]: https://github.com/newrelic/node-newrelic/workflows/Node%20Agent%20CI/badge.svg
|
|
175
|
+
[6]: https://github.com/newrelic/node-newrelic/actions?query=workflow%3A%22Node+Agent+CI%22
|
package/ROADMAP_Node.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Node Agent Roadmap
|
|
2
|
+
|
|
3
|
+
## Product Vision
|
|
4
|
+
The goal of the Node agent is to provide complete visibility into the health of your service. The agent provides metrics about the runtime health of your service and the process it runs in, and traces that show how specific requests are performing. It also provides information about the environment in which it is running, so you can identify issues with specific hosts, regions, deployments, and other facets.
|
|
5
|
+
|
|
6
|
+
New Relic is moving toward OpenTelemetry. OpenTelemetry is a unified standard for service instrumentation. You will soon see an updated version of the agent that uses the OpenTelemetry SDK and [auto-]instrumentation as its foundation. OpenTelemetry will include a broad set of high-quality community-contributed instrumentation and a powerful vendor-neutral API for adding your own instrumentation.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Roadmap
|
|
10
|
+
### Description
|
|
11
|
+
This roadmap project is broken down into the following sections:
|
|
12
|
+
|
|
13
|
+
- **Now**:
|
|
14
|
+
- This section contains features that are currently in progress.
|
|
15
|
+
- **Next**:
|
|
16
|
+
- This section contains work planned within the next three months. These features may still be deprioritized and moved to Future.
|
|
17
|
+
- **Future**:
|
|
18
|
+
- This section is for ideas for future work that is alined with the product vision and possible opportunities for community contribution. It contains a list of features that anyone can implement. No guarantees can be provided on if or when these features will be completed.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
**The roadmap project is found [here](https://github.com/orgs/newrelic/projects/11)**
|
|
22
|
+
|
|
23
|
+
#### Disclaimers
|
|
24
|
+
> This roadmap is subject to change at any time. Future items should not be considered commitments.
|
package/SECURITY.md
CHANGED
|
@@ -1,20 +1,5 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Reporting Security Vulnerabilities
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
**security@newrelic.com**.
|
|
3
|
+
New Relic is committed to the security of our customers and your data. We believe that engaging with security researchers through our coordinated disclosure program is an important means to achieve our security goals.
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
If we do not respond promptly, we ask that you give us the benefit of the
|
|
9
|
-
doubt, as it is possible the email went to spam or we have been so focused on
|
|
10
|
-
something else we haven't seen it yet. Please send us a quick message,
|
|
11
|
-
*without detail* to one of the following:
|
|
12
|
-
|
|
13
|
-
* An issue here on GitHub, with an email address we can use to contact you
|
|
14
|
-
for a more detailed report.
|
|
15
|
-
* Message [@newrelic](https://twitter.com/newrelic) on Twitter.
|
|
16
|
-
* Give our engineering team a heads up on IRC in #newrelic on Freenode.
|
|
17
|
-
|
|
18
|
-
# History
|
|
19
|
-
|
|
20
|
-
No security issues have been reported for this project yet.
|
|
5
|
+
If you believe you have found a security vulnerability in one of our products or websites, we welcome and greatly appreciate you reporting it to New Relic's coordinated disclosure program. Please see our [website for more information on how to report a vulnerability](https://docs.newrelic.com/docs/security/new-relic-security/data-privacy/reporting-security-vulnerabilities).
|