Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge external repos into main repo #2123

Closed
3 of 4 tasks
jsumners-nr opened this issue Apr 4, 2024 · 2 comments
Closed
3 of 4 tasks

Merge external repos into main repo #2123

jsumners-nr opened this issue Apr 4, 2024 · 2 comments
Labels

Comments

@jsumners-nr
Copy link
Contributor

jsumners-nr commented Apr 4, 2024

Description

There are a set of repos that provide instrumentation features within the newrelic agent. They are:

At some point in the past, it was decided these should be in their own repository. Presumably, the thinking was that clients who need fixes in the specific instrumentations they provide could update those modules without having to wait for a new release of newrelic. That may be true, but the reality is that it isn't worth the complications it brings. Namely:

  1. There are circular dependencies between the external packages and newrelic. As an example the difficulty this causes see fix: Fixed instrumenting the same module installed in different locations #2104. It was difficult to orchestrate because changes needed to be made in at least the aws-sdk package the required coordinating with a new release of newrelic merely to move development of the PR along.
  2. We cannot make internal changes to newrelic without impacting the releases of the external modules. As an example, chore: Attached specs to the Shim.prototype for use in custom instrumentation and instrumentation outside of the agent #2038 resulted in a new version of both newrelic and aws-sdk. Folks updated aws-sdk without updating newrelic and found themselves in a broken state because aws-sdk couldn't find the code it needed.

To fix these issues, and make our development of newrelic easier and more robust, we need to migrate these modules into the main newrelic code base.

Ideally, we will keep the histories of those external repos by utilizing --allow-unrelated-histories.

Note: https://github.com/newrelic/node-newrelic/blob/c32cb2739ece3adcf5bd42e646071b3f59e691ba/test/versioned-external/external-repos.js should be updated as repos are migrated.

@workato-integration
Copy link

@workato-integration
Copy link

Work has been completed on this issue.

@bizob2828 bizob2828 moved this to Done: Issues recently completed in Node.js Engineering Board Jul 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

No branches or pull requests

2 participants