-
Notifications
You must be signed in to change notification settings - Fork 32
Add logging on all RESTful and WebSocket requests in VS Code #580
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
eb8a0a3
to
2f0593d
Compare
2285279
to
e32ba50
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have not had a chance to run it yet (hopefully tomorrow) but gave it a first pass and it is looking fantastic!
e64e992
to
e97e687
Compare
d33d380
to
6739540
Compare
Feel free to re-request a review whenever you are ready for a new one! |
c1cf229
to
5ae5b5a
Compare
Ready for re-review 🙏 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tried it out and it looks glorious
One other minor note: The comment for |
I have to admit the |
With estimation it looks like this (I simply use
Or possibly default to
But I just realized that showing this info for |
I like it with the estimation!
Ohhhhh yeah good point. Personally I like the consistency of always seeing bytes, but I will defer to you if you want to remove it for get requests or show zero. 👌 |
For consistency I'll show 0 for now, I was just worried it'll cause confusion since people might assume that a |
723960d
to
f87f941
Compare
Fixes #532
This PR introduces several enhancements to improve logging and consistency:
Axios Logging Interceptor
Added a logging interceptor to the Axios instance during its creation. Each request is tagged with a unique UUID, allowing us to correlate it with its corresponding response and measure the total in-flight time. To avoid excessive noise, response bodies are deliberately excluded from the logs as they were too verbose and difficult to read.
Unified WebSocket Creation
Consolidated WebSocket creation logic by standardizing on a
OneWayWebSocket
. For VS Code, this uses thews
Node library. Previously, there were two separate places creating their own WebSocket connections and another two relying on SSE. These SSE implementations were converted to one-way WebSockets for improved consistency and performance. Additional logging was also added to track WebSocket creation, errors, and closure events.For now, the logging level is set to
trace
for non-error logs anderror
for errors. This can easily be adjusted later. I have also isolated the logging logic inlogging
so it's all in one place. Let me know if we want to add more details or possibly remove some.