Skip to content

Conversation

@ric-sigma-computing
Copy link

Re-sync fork. Move upstream overrideTags to overrideTagsUnoptimized, keep our overrideTags2.

tebriel and others added 30 commits September 6, 2024 22:14
updSocketOptions are set when protocol is `udp` not `uds`. Simple fix!
* Add gaugeDelta implementation

* Update type definitions

* Add gaugeDelta to statsFunctions

* Address double negative

* Update README

* Add gaugeDelta-specific tests
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](jonschlinkert/word-wrap@1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](micromatch/braces@3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.20.13 to 7.25.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.25.6/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Handle synchronous socket.send error in sendUsingDnsCache

We are using UDP with DNS caching in production and noticed the occasional unhandled exception in our application when the datadog agent is unavailable. We tracked it down to the lookup branch of `sendUsingDnsCache` which calls `socket.send` within a callback. `socket.send` can throw a sync exception and not invoke `callback` as described here: https://nodejs.org/api/dgram.html#socketsendmsg-offset-length-port-address-callback.

* PR feedback
* Upgrade mocha and package lock for security warning and a few misc README updates

* Use older lockfile version

* Update changelog

* Fix changelog, noticed a very small nan update in lockfile
* Fixes for bdeitte#273 and bdeitte#244

* Fix up the fix and add CLAUDE file

* Code review updates

* More test fixups

* Change Node versions tested and try to help with unix-dgram issue

* Attempt to fix Ubuntu test issue
* Add some more tests for uncovered areas

* Actually add files

* Update changelog

* Try to fix up Windows lint issues and remove unneeded tests

* Ensure eslint really runs everywhere and fix up tests

* Try to fix Windows again
* Add some more tests for uncovered areas

* Actually add files

* Update changelog

* Try to fix up Windows lint issues and remove unneeded tests

* Ensure eslint really runs everywhere and fix up tests

* Try to fix Windows again

* Fix bdeitte#196, bdeitte#260, bdeitte#214
bdeitte and others added 16 commits November 30, 2025 12:08
* Add in debug logging

* Code review fixups

* Apply suggestion from @Copilot

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: Copilot <[email protected]>
* Fix a number of small, old issues

* Code review updates and try to fix flakiness in unix builds
* Add in Datadog telemetry

* Small fixups

* Update lib/statsd.js

Co-authored-by: Copilot <[email protected]>

* Update lib/telemetry.js

Co-authored-by: Copilot <[email protected]>

* Fix lint issue

* Code review updates

* Code review fixups

---------

Co-authored-by: Copilot <[email protected]>
Co-authored-by: Brian Deitte <[email protected]>
…c-fork2

# Conflicts:
#	.github/workflows/node-test.js.yml
#	lib/helpers.js
#	lib/statsd.js
#	package-lock.json
@ric-sigma-computing
Copy link
Author

I verified the fix helps with the congestion issue by running a custom build against the wes test

Before you can see the congestion issue causes an error to be propogated to sentry

and after you can see that there are no longer errors propogated to sentry, while we still see the socket datagram "internal error" meaning it's successfully retrying.

@ric-sigma-computing
Copy link
Author

ric-sigma-computing commented Jan 8, 2026

After enabling client side telemetry, I see that we are sending datadog about 10,000 metrics/second during the load test which was leading to the original congestion issue.

@wesmoncrief Do you have a gut sense of what is the order of magnitude expected? I'm not too sure what the load tests are doing and if this is correct, or maybe we collect too many metrics.

@ric-sigma-computing
Copy link
Author

@wesmoncrief gentle bump when u get a chance ^

@ric-sigma-computing
Copy link
Author

@donhcd Added you from Jonathon's suggestion - let me know if a screensharing session to catch you up and review would be helpful.

@ric-sigma-computing
Copy link
Author

ric-sigma-computing commented Jan 15, 2026

@donhcd Added you from Jonathon's suggestion - let me know if a screensharing session to catch you up and review would be helpful.

@donhcd gentle bump on this review - I've been getting pressured to merge it because it's performance impacting due to the reduction of dns lookup overhead from crossover

Copy link

@donhcd donhcd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems reasonable, just a couple questions

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why rename the file? I'd think that the less drift we have from hot-shots, the better future rebases etc will be

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only because that's what it's currently named in our fork, I'm not sure why we renamed it originally. I may be suffering from cultural training

runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v3
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

was there a problem with v6?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no, like above for the ci stuff i opted to keep our setup. let me use upstream and see if it works

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not a comment on this PR directly, but for ease of future rebases it seems like we might as well just keep the existing overrideTags name and just call overrideTags2 in the specific spots where we want to use it...

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why delete this?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There were too many merge conflicts so I regenerated the file. It's not deleted

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's remove this -- seems like we're not using this right now anyways?

as I mentioned in the other comment, though, I'd be on board in the future with just renaming overrideTagsUnoptimized back to overrideTags everywhere

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Copy link

@donhcd donhcd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, my comments are non-blocking (but it would be nice to clean this up later). I'm expecting/hoping the tests in this repo, the tests in mono-node, your manual tests, and staging baking should all help catch any bugs we discover 🙃

@ric-sigma-computing ric-sigma-computing merged commit ebfca21 into master Jan 15, 2026
11 checks passed
@donhcd donhcd deleted the ric/SIG-90152-resync-fork2 branch January 15, 2026 23:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants