expert-lsp / expert-lsp/expert

Limited tracing instrumentation makes profiling and performance analysis harder

オープン
#310 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る
enhancement
主要言語
Elixir
スター
2.1k
フォーク
113
平均マージ
1日 10時間
マージ済み PR(30日)
26

説明

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?

Image

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。