{"repo":"noredeen/lspwatch","free":true,"listed":false,"github":"https://github.com/noredeen/lspwatch","clone":"git clone https://github.com/noredeen/lspwatch.git","description":"Automatic, configurable observability for LSP servers.","language":"Go","stars":19,"topics":["lsp","observability","compilers","datadog","opentelemetry"],"license":"MIT","category":"analytics","readme_excerpt":"lspwatch is a configurable stdin/stdout proxy for the Language Server Protocol (LSP) with built-in observability integrations. lspwatch produces telemetry for the language server and its LSP request/response communication, and exports it to your observability backend. lspwatch can calculate and export: Request duration : how long it takes for the language server to respond to code completion, hover, go-to-definition, etc requests from the editor. Language server resident-set size (RSS) : how much memory the language server is actively using. Users can optionally choose to tag metrics with: language server : name of language server binary (e.g clangd ). user : username on the machine. os : operating system. ram : total amount of RAM on the machine. Why? If you work on a sufficiently complex typed codebase, you'll find that language support features within modern editors like code completion, diagnostics, suggestions, etc. can become considerably slow. Much of the universally hated sluggishness of code editors is due in large part to these language features. To provide codebase-wide awarness, editors rely on language servers to provide answers to code queries by scanning the codebase and maintaining internal state representations. To quantify this sluggishness, we can monitor how editors interact with language servers. The duration of an LSP request can tell us how responsive an editor feels. More specifically, this metric can tell us how much (likely idle) time the developer s","default_branch":null,"files":null,"tree":[],"storefront":"/r/noredeen","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/noredeen/lspwatch/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}