expert-lsp / expert-lsp/expert
Limited tracing instrumentation makes profiling and performance analysis harder
- Dominant language
- Elixir
- Stars
- 2.1k
- Forks
- 113
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 26
Description
It seems that the Expert currently has limited tracing support, which makes it challenging to perform detailed profiling and performance analysis.
This is related to #235.
Having additional tracing instrumentation would make it easier to understand where time is being spent, for example:
- processing individual LSP requests (such as completion or hover)
- indexing the project
- building the engine
One possible approach could be to make this tracing optional, to avoid overhead in normal usage.
It could be enabled via:
- ENV var like `EXPERT_PROFILE`
- config checkbox in editor like `Enable profiling`
- cli argument like `--profile`
This would produce `.expert/profile_.json` file.
For reference, below is an example screenshot of a profile file generated by [cairols](https://github.com/software-mansion/cairols) and viewed in [perfetto](https://ui.perfetto.dev/), which illustrates the kind of insights that tracing can provide.
Open question is what would be best for row descriptions?
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.