expert-lsp / expert-lsp/expert

Limited tracing instrumentation makes profiling and performance analysis harder

Ouverte
#310 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
Elixir
Étoiles
2.1k
Forks
113
Merge moyen
1 j 10 h
PR mergées (30 j)
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?

Image

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.