-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Fix telemetry for Socket connects to Dns endpoints #54071
Conversation
Tagging subscribers to this area: @dotnet/ncl Issue DetailsWhen connecting to a For example let's say Today, you would see (6.0 main):
What you actually want to see is (5.0 / this PR behave this way):
|
@@ -113,7 +113,7 @@ public void AcceptStart(EndPoint address) | |||
{ | |||
if (IsEnabled(EventLevel.Informational, EventKeywords.All)) | |||
{ | |||
AcceptStart(address.ToString()); | |||
AcceptStart(address.Serialize().ToString()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This makes it so that both Sync and Async AcceptStart
events use the same format for the address.
(changes AcceptAsync
to behave the same way as Accept
/Connect
/ConnectAsync
)
/azp run runtime-libraries-coreclr outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this does the right thing, great.
…bugger2 * origin/main: (107 commits) Disable MacCatalyst arm64 PR test runs on staging pipeline (dotnet#54678) [WASM] Fix async/await in config loading (dotnet#54652) Fix for heap_use_after_free flagged by sanitizer (dotnet#54679) [wasm] Bump emscripten to 2.0.23 (dotnet#53603) Fix compiler references when building inside VS (dotnet#54614) process more TLS frames at one when available (dotnet#50815) Add PeriodicTimer (dotnet#53899) UdpClient with span support (dotnet#53429) exclude fragile tests (dotnet#54671) get last error before calling a method that might fail as well (dotnet#54667) [FileStream] add tests for device and UNC paths (dotnet#54545) Fix sporadic double fd close (dotnet#54660) Remove Version.Clone from AssemblyName.Clone (dotnet#54621) [wasm] Enable fixed libraries tests (dotnet#54641) [wasm] Fix blazor/aot builds (dotnet#54651) [mono][wasm] Fix compilation error on wasm (dotnet#54659) Fix telemetry for Socket connects to Dns endpoints (dotnet#54071) [wasm] Build static components; include hot_reload in runtime (dotnet#54568) [wasm][debugger] Reuse debugger-agent on wasm debugger (dotnet#52300) Put Crossgen2 in sync with dotnet#54235 (dotnet#54438) ...
Fixes #43931
Fixes #46030
When connecting to a
DnsEndPoint
, DNS may give us multiple addresses that we try to connect to.For example let's say
foo.test
resolves to[ 52.201.75.112, 52.201.75.113, 52.201.75.114 ]
where the first two addresses refuse connections.Today, you would see (6.0 main):
What you actually want to see is (5.0 / this PR behave this way):
The issue was that
DnsConnectAsync
was logging aStop
event while disablingFailed
/Stop
for inner connect attempts.As long as the
DnsConnectAsync
wrapper does not emit events itself, it's fine to leave inner connects as-is to get correct behaviour.You can see the above behaviour by adding the following to the
hosts
fileAnd running this SocketConnectTest.cs