If the analysis server becomes unresponsive, the user should be able to click a single button which causes the following information to be captured in machine-readable format:
Static debug information from the analysis server, such as: analysis server version, analysis server protocol version, and details which can be used to locate the instrumentation log (if instrumentation is active). The client should gather this information at startup time so that if the analysis server crashes or hangs the information will have already been collected.
Dynamic debug information from the analysis server, such as: how many contexts there are, how many .dart files exist inside those contexts, and how many kilobytes of source code have been analyzed. This information should be sent proactively by the analysis server as it changes, so that if the analysis server crashes or hangs the client can just send whatever information was most recently received.
JSON debug information obtained from observatory (see issue #23277)
This information should be reported in whatever way makes sense for the client (e.g. in IntelliJ it can be sent through IntelliJ's error reporting mechanism; in the Eclipse plug-ins it can be reported via the "feedback" mechanism).
(Note: classifying the bug as "Area-Editor" since we don't have a component for the shared code used by both IntelliJ and the Eclipse plugins to communicate with the analysis server)
Issue by stereotype441 Originally opened as https://github.com/dart-lang/sdk/issues/23278
If the analysis server becomes unresponsive, the user should be able to click a single button which causes the following information to be captured in machine-readable format:
This information should be reported in whatever way makes sense for the client (e.g. in IntelliJ it can be sent through IntelliJ's error reporting mechanism; in the Eclipse plug-ins it can be reported via the "feedback" mechanism).
(Note: classifying the bug as "Area-Editor" since we don't have a component for the shared code used by both IntelliJ and the Eclipse plugins to communicate with the analysis server)