TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

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

6 pointsby noor_zabout 2 months ago
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>

no comments

no comments