Currently, we receive request benchmarks from the server gem. Unfortunately, that information is incomplete, since it only includes the amount of time it took for the server to process the request, which will not reflect things like IO and backlogging of the request queue.
Explore if we can add end-to-end telemetry that completely measures the time it took from sending the request to receiving a response.
Note: the easiest way to implement this would be to have a middleware for all requests that sends telemetry data - however, this is not currently supported (we only have request specific middleware). There is a suggestion to add this to the language server node package tagged as help wanted. Maybe we can take a stab at implementing it so that any LSP can benefit from it?
Currently, we receive request benchmarks from the server gem. Unfortunately, that information is incomplete, since it only includes the amount of time it took for the server to process the request, which will not reflect things like IO and backlogging of the request queue.
Explore if we can add end-to-end telemetry that completely measures the time it took from sending the request to receiving a response.
Note: the easiest way to implement this would be to have a middleware for all requests that sends telemetry data - however, this is not currently supported (we only have request specific middleware). There is a suggestion to add this to the language server node package tagged as help wanted. Maybe we can take a stab at implementing it so that any LSP can benefit from it?