Skip to content
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

[analytics] collect timings for fix/assist/refactoring calculations #60258

Open
1 of 3 tasks
pq opened this issue Mar 5, 2025 · 6 comments
Open
1 of 3 tasks

[analytics] collect timings for fix/assist/refactoring calculations #60258

pq opened this issue Mar 5, 2025 · 6 comments
Assignees
Labels
area-devexp Developer experience items (DevTools, IDEs, analysis server, completions, refactorings, ...). devexp-server Issues related to some aspect of the analysis server P2 A bug or feature request we're likely to work on type-performance Issue relates to performance or code size

Comments

@pq
Copy link
Member

pq commented Mar 5, 2025

Follow-up from #55281 (comment), it would be great to collect data on how long fixes, assists and decisions on what refactorings to offer are taking to calculate and present them potentially in a dedicated diagnostics page and consider adding some kind of summary to the collected report.


  • assists
  • fixes
  • refactorings
@pq pq added area-devexp Developer experience items (DevTools, IDEs, analysis server, completions, refactorings, ...). devexp-server Issues related to some aspect of the analysis server P2 A bug or feature request we're likely to work on type-performance Issue relates to performance or code size labels Mar 5, 2025
@pq pq self-assigned this Mar 5, 2025
@FMorschel
Copy link
Contributor

Can this track the work for refactors too? Or should it be a separate issue? Things like creating the index, etc.

@bwilkerson
Copy link
Member

I don't know whether we want to expand the scope of this issue, but if we do then the timing of assists should also be tracked.

As for refactorings, there are at least three values worth tracking:

  • How long it takes for the index operations to return (I'm not sure we can separate out a measure of how long it takes to create the index initially, but the index is incrementally updated, and that time matters too).
  • How long it takes to decide whether to offer the refactoring to the user.
  • How long it takes to complete the refactoring if the user chooses to invoke it.

Although, of the three, the last is the least interesting because (a) I suspect that users expect refactorings to take a while when they're run and (b) executing a refactoring doesn't happen nearly as often as populating the list of fixes, assists, and refactorings that are available.

@pq
Copy link
Member Author

pq commented Mar 5, 2025

Agreed! Tracking assists and (time to decide whether to offer) refactorings is probably useful for the same reasons. I'll update this issue to embrace them all and we can decide if sub-issues are needed.

Thanks!

@pq pq changed the title [analytics] collect timings for fix calculations [analytics] collect timings for fix/assist/refactoring calculations Mar 5, 2025
@pq
Copy link
Member Author

pq commented Mar 6, 2025

EDIT updated w/ time spent in producer compute calls.

Image

(Details are in a hover.)

copybara-service bot pushed a commit that referenced this issue Mar 6, 2025
See: #60258


Change-Id: I756cb04d3968ca02dbef332f45a6fbea5b1b8c3f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/414180
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
@pq
Copy link
Member Author

pq commented Mar 6, 2025

/fyi @jensjoha

copybara-service bot pushed a commit that referenced this issue Mar 7, 2025
Bug: #60258
Change-Id: Ie1f5006e32d3e0563e35d64354db4c5543758dc0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/414164
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
copybara-service bot pushed a commit that referenced this issue Mar 7, 2025
Adds some insight into fix producer `compute` calls to the `GetFixes` diagnostics page.

See updated screenshot in #60258.

Bug: #60258
Change-Id: I5d8c1911e86ef02b8d543fcda367b3e9aa6544f6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/414341
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
@pq
Copy link
Member Author

pq commented Mar 11, 2025

Tracking of assists (and some navigation updates) in flight (https://dart-review.googlesource.com/c/sdk/+/414826):

Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-devexp Developer experience items (DevTools, IDEs, analysis server, completions, refactorings, ...). devexp-server Issues related to some aspect of the analysis server P2 A bug or feature request we're likely to work on type-performance Issue relates to performance or code size
Projects
None yet
Development

No branches or pull requests

3 participants