improve telemetry api initialization and tests #2023
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A few months ago my team began noticing occasional
bind: address already in useerrors showing up on cold starts when using the Lambda collector layer (see #1740). We were able to come up with a fix internally, but since then it looks like the issue has been mostly solved by #1751. However, from a code maintainability/personal taste perspective the fix implemented is not ideal since it addresses the issue naively by running a brute force search over the ephemeral port range. A more optional solution is to just bind to port0which will allow the OS to automatically assign an available ephemeral port (see https://man7.org/linux/man-pages/man7/ip.7.html) This PR switches to using this approach and adds a basic set of tests for the telemetry API listener. Any additional comments are welcome as always.