Skip to content

Add solution sync time telemetry#57269

Merged
tmat merged 2 commits intodotnet:release/dev17.0from
tmat:AddSolutionSyncTiming
Oct 20, 2021
Merged

Add solution sync time telemetry#57269
tmat merged 2 commits intodotnet:release/dev17.0from
tmat:AddSolutionSyncTiming

Conversation

@tmat
Copy link
Copy Markdown
Member

@tmat tmat commented Oct 20, 2021

Report vs.ide.vbcs.assetservice.perf event with property solutionsynctime when solution synchronization to OOP takes more than 1s.
Fixes: AB#1423479

@tmat tmat requested a review from a team as a code owner October 20, 2021 18:46
@ghost ghost added the Area-IDE label Oct 20, 2021
Comment thread src/Workspaces/Remote/ServiceHub/Host/AssetProvider.cs
Comment thread src/Workspaces/SharedUtilitiesAndExtensions/Compiler/Core/Log/FunctionId.cs Outdated
@tmat tmat merged commit 85a2467 into dotnet:release/dev17.0 Oct 20, 2021
@tmat tmat deleted the AddSolutionSyncTiming branch October 20, 2021 22:43

public async Task SynchronizeSolutionAssetsAsync(Checksum solutionChecksum, CancellationToken cancellationToken)
{
var timer = new Stopwatch();
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

💡 Use SharedStopwatch.Start for a zero-alloc equivalent

Comment on lines +93 to +95
// report telemetry to help correlate slow solution sync with UI delays
if (timer.ElapsedMilliseconds > 1000)
{
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

❔ Would it not be better to submit the telemetry 0.01% of the time (Rand(10000)==1), so we get a sampling of performance across the board?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

The goal is to correlate EnC events with this one.

RikkiGibson added a commit that referenced this pull request Oct 21, 2021
* Add solution sync time telemetry

* Feedback

Co-authored-by: Tomáš Matoušek <tmat@users.noreply.github.com>
333fred added a commit to 333fred/roslyn that referenced this pull request Oct 22, 2021
* upstream/main: (209 commits)
  Skip BasicGenerateConstructorDialog.VerifyDeselect
  fix comment
  Retry SetForegroundWindow with DTE.MainWindow
  Skip BasicGenerateConstructorDialog.VerifyReordering
  removed integration test
  fix test
  integration test for analyzer impacted by changes to assembly loading
  Add MS.CA.CSharp.Workspaces and MS.CA.VB.Workspaces as VSIX analyzer assets
  Keep around references
  For correctness builds run on a VS2022 image.
  feedback
  Add solution sync time telemetry (dotnet#57269)
  Also update the dotnet version.
  Update Building, Debugging, and Testing on Windows.md
  Update Building, Debugging, and Testing on Unix.md
  Bump global.json pinned SDK version to NET 6 RC2
  remove unused usings
  DOc comment
  Update src/Workspaces/Core/Portable/Workspace/Solution/SolutionState.GeneratedFileReplacingCompilationTracker.cs
  Make non-partial
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants