085477c494
Sorry about the size of the CL. I can split it up if you'd like. In order to do this I added a listener to SuggestionBuilder so that we could capture the data as suggestions are being built. If it turns out to be a performance problem we can remove it before shipping it, but it should only impact the new relevance path, which isn't being used yet in production. This splits the "worst" and "slowest" (formerly "longest") results into three groups. I might find it useful to split them out into more groups later, but I think this gives me a good place to start. This also adds a new flag to disable running completions using the old relevance values. That cuts the time to get data by 1/3 to 1/2. All off these changes led to a fair bit of refactoring to try to reduce duplication (both existing and what would have been added if I hadn't done the refactoring). Change-Id: I5e8dcbba2c01b3665eb486f183f6ad8014285413 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148002 Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
analysis_server
A long-running process that provides analysis results to other tools.
The analysis server is designed to provide on-going analysis of one or more code bases as those code bases are changing.
Using the server
The analysis server is not intended to be used stand-alone, and therefore does not have a human-friendly user interface.
Clients (typically tools, such as an editor) are expected to run the analysis
server in a separate process and communicate with it using a JSON protocol. The
original protocol is specified in the file analysis_server/doc/api.html
and (less complete) Language Server Protocol support is documented
in tool/lsp_spec/README.md.
Features and bugs
Please file feature requests and bugs at the issue tracker.