TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Show HN: Lspwatch – Automatic, configurable observability for language servers

6 点作者 noor_z大约 2 个月前
Hey HN,<p>I&#x27;m sure many of you have encountered statically-typed codebases so large and complicated that your code editors freeze, lag, become unresponsive, and generally struggle. Debugging a slow editor is involved and usually an unwelcome distraction. In many cases, slowness in code editors comes from language servers, which are external programs that provide language features (e.g. go-to-definition, diagnostics, type hints). Examples of developer frustrations: [1] and [2].<p>At a previous company, we were concerned about growing internal frustrations from editors bottle-necked by slow language servers. We were also concerned about how little insight we had into their performance and behaviour. So, we decided to instrument code editors and collect language server telemetry. The data we collected was shockingly useful and helped diagnose several major problems. For example, we identified certain modules in the codebase where the language server was much slower than normal. We subsequently found ways to break up these modules to reduce load on the language server.<p>I believe having this kind of data can be a game changer for managing developer experience, especially at scale. This is why I built lspwatch, a generalization of this tool which works with all LSP-compliant language servers and integrates with several observability backends.<p>Getting lspwatch up and running is very easy. Optionally configure your instrumentation, point it at your existing observability backend, and it will just work. lspwatch will transparently monitor language server behaviour and emit metrics. Developers won’t notice any difference in their code editors.<p>I welcome your feedback and thoughts. The README contains a lot more detail. Many exciting features are on the way to build on the platform this project provides. If you’d like to talk some more about this problem, email is in my profile.<p>Cheers!<p>[1] <a href="https:&#x2F;&#x2F;bsky.app&#x2F;profile&#x2F;mike.contribsys.com&#x2F;post&#x2F;3lbd5wx57ss2d" rel="nofollow">https:&#x2F;&#x2F;bsky.app&#x2F;profile&#x2F;mike.contribsys.com&#x2F;post&#x2F;3lbd5wx57s...</a> [2] <a href="https:&#x2F;&#x2F;github.com&#x2F;typescript-language-server&#x2F;typescript-language-server&#x2F;issues&#x2F;472" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;typescript-language-server&#x2F;typescript-lan...</a>

暂无评论

暂无评论