-
Notifications
You must be signed in to change notification settings - Fork 752
[SymbolReader] Make symbol server timeout configurable and remove dead server mechanism #2209
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
Conversation
Co-authored-by: brianrob <6210322+brianrob@users.noreply.github.com>
| /// <summary> | ||
| /// Gets or sets the timeout in seconds for symbol server requests. Default is 60 seconds. | ||
| /// </summary> | ||
| public int ServerTimeoutSeconds { get; set; } = 60; |
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.
Please change this to public TimeSpan ServerTimeout.
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.
Changed the property from int ServerTimeoutSeconds to TimeSpan ServerTimeout and updated all usages in the code. Commit c7f656e.
Co-authored-by: brianrob <6210322+brianrob@users.noreply.github.com>
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning Firewall rules blocked me from connecting to one or more addressesI tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
Copilot Post-Mortem:
|
mconnew
left a comment
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.
![]()
Changes Made
This PR addresses two issues with symbol server resolution in PerfView:
Makes the symbol server timeout configurable by adding a new
ServerTimeoutproperty to theSymbolReaderclass with a default value of 60 seconds (matching the previous hard-coded behavior).Removes the "mark as dead" functionality for servers, which means that subsequent requests will still go through after a timeout, rather than blocking a server for 5 minutes after a failure.
These changes will significantly improve PerfView's behavior in slower network environments by:
Implementation Details
ServerTimeoutproperty to control the timeout behaviorFixes #1895.
Warning
Firewall rules blocked me from connecting to one or more addresses
I tried to connect to the following addresses, but was blocked by firewall rules:
crl3.digicert.comdotnet build /p:Configuration=Release(dns block)dotnet build src/TraceEvent/TraceEvent.csproj /p:Configuration=Release(dns block)crl4.digicert.comdotnet build /p:Configuration=Release(dns block)dotnet build src/TraceEvent/TraceEvent.csproj /p:Configuration=Release(dns block)ocsp.digicert.comdotnet build /p:Configuration=Release(dns block)dotnet build src/TraceEvent/TraceEvent.csproj /p:Configuration=Release(dns block)s.symcb.comdotnet build /p:Configuration=Release(dns block)dotnet build src/TraceEvent/TraceEvent.csproj /p:Configuration=Release(dns block)s.symcd.comdotnet build /p:Configuration=Release(dns block)dotnet build src/TraceEvent/TraceEvent.csproj /p:Configuration=Release(dns block)ts-crl.ws.symantec.comdotnet build /p:Configuration=Release(dns block)dotnet build src/TraceEvent/TraceEvent.csproj /p:Configuration=Release(dns block)ts-ocsp.ws.symantec.comdotnet build /p:Configuration=Release(dns block)dotnet build src/TraceEvent/TraceEvent.csproj /p:Configuration=Release(dns block)If you need me to access, download, or install something from one of these locations, you can either:
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.