-
Notifications
You must be signed in to change notification settings - Fork 48
feat: buffer connection logs and flush them on failure #1100
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
Merged
Merged
Changes from all commits
Commits
Show all changes
61 commits
Select commit
Hold shift + click to select a range
a800f6e
feat(logging): add BufferingLogger for below-level connection logs
aqandrew 69efd2f
feat(logging): wire the connection log buffer into the service container
aqandrew bbb9d5b
feat(logging): flush the connection log buffer on connection failures
aqandrew 9c3d21b
docs: document the connection log buffer
aqandrew 00b2c58
refactor: make LEVEL_LABEL readonly
aqandrew 65e0f5c
style: move constants before class
aqandrew e7108f7
refactor: rename BufferedEntry to LogEntry
aqandrew b647c8b
refactor: rename CONNECTION_FAILURE_REASONS to TERMINAL_CONNECTION_FA…
aqandrew 71ec1b1
docs: shorten BufferingLogger description comment
aqandrew bd7df61
chore: add coder.connectionLogBuffer.size to COLLECTED_SETTINGS
aqandrew f309f0f
refactor: return single BufferingLogger field from both getLogger and…
aqandrew 6002706
refactor(logging): remove the flush suppression window
aqandrew 4cba97b
refactor(logging): use Date.now directly instead of an injected clock
aqandrew 6ce51a5
refactor(logging): take a single getLogLevel callback instead of LogL…
aqandrew a16495e
refactor(container): dispose the log buffer config subscription via a…
aqandrew 2c389f4
refactor(workspace): stop flushing the log buffer from the monitor's …
aqandrew d6e49dd
feat(remote): flush the log buffer on the workspace client's terminal…
aqandrew 50cb935
test(workspace): assert malformed messages do not flush the log buffer
aqandrew ce55a5b
feat(logging): cap the connection log buffer size and describe it as …
aqandrew 5ae77bc
docs: sync connection log buffer notes with the flush and suppression…
aqandrew b8bf5ba
docs: trim/correct buffering logger descriptions
aqandrew 3308ec0
fix(websocket): register non-message events via addEventListener for …
aqandrew 30d9b08
test(workspace): drop the un-failable monitor buffer test and its plu…
aqandrew 8fd7878
feat(logging): refocus buffer flush triggers on genuine connection fa…
aqandrew 1e01b30
refactor(settings): move logger setting readers into src/settings/log…
aqandrew 88195a7
refactor(logging): trim buffer replay and redact registration_access_…
aqandrew da4fa14
test: consolidate buffer, reconnect, and websocket-mock tests
aqandrew e1afe04
docs: tighten the connection log buffer notes
aqandrew c9ee3ae
Merge remote-tracking branch 'origin/main' into aqandrew/devex-669-vs…
aqandrew c39b8f2
test: narrow LogMethod type, and factor out LevelCase/CapacityCase in…
aqandrew d365e41
docs: compress buffer triggers + use active over passive voice
aqandrew df48a90
docs: shorten logger function comments
aqandrew 32eb53f
docs: rm reference to call sites from ConnectionLogBuffer comment
aqandrew 0ac564a
docs: describe getConnectionLogBuffer per se, not its caller
aqandrew 544d143
docs: remove overpromise about turning logging back on from flush com…
aqandrew 5e53988
fix: flush on every closeRemote
aqandrew 3507a67
fix(websocket): reconnect after server-initiated normal closes
aqandrew f5eb418
fix(websocket): match ws and eventsource handshake status codes
aqandrew 4e43f5b
refactor(websocket): gate the buffer flush on an explicit failure flag
aqandrew 76d23e2
fix(websocket): seed the socket route so first-connect failures log it
aqandrew 456a9dc
fix(logging): bound the buffer by characters and replay in chunks
aqandrew 6017d6b
feat(logging): flush the connection log buffer into support bundles
aqandrew 91a4464
fix(settings): guard the HTTP log-level reader against non-string values
aqandrew d8c2176
refactor(core): funnel connection-failure flushes through ServiceCont…
aqandrew b4077b3
docs(websocket): clarify why a handshake 401 never flushes
aqandrew cfda03d
test(logging): assert the buffer replay on the joined text
aqandrew 11eff87
refactor(core): read the buffer size through one helper
aqandrew 8fb9373
test(settings): fold the buffer-size cases into one table
aqandrew 6bfbb89
test(websocket): fix the mock listener model and cover OneWayWebSocket
aqandrew 06bfb69
test(commands): stub getConnectionLogBuffer in Commands mocks
aqandrew 6a574cb
test(commands): type the telemetry mock's getConnectionLogBuffer
aqandrew ff0f953
fix(commands): keep the buffer on a bundle flush and flush before the…
aqandrew a3482a5
docs(logging): correct buffer wording, reason label, and changelog
aqandrew e53aad9
refactor(instrumentation): drop the now-unreachable normal_close reason
aqandrew 1de6ab2
refactor(websocket): collapse the OneWayWebSocket event switches
aqandrew 270ff3b
test(websocket): pin handshakeStatus against real ws and EventSource
aqandrew 5b22f63
refactor(logging): move the connection-failure funnel onto the buffer
aqandrew a108b82
refactor(api): hoist apiRoute per caller and tidy log-level and route
aqandrew 37d76b0
docs: explain callback EventHandler cast wrt TS' lack of support for …
aqandrew 23e8555
docs: remove mention of socket parking from changelog
aqandrew a8ca24a
docs: expand `closeRemote` description to include canceled workspace …
aqandrew File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.