Skip to content

Conversation

henrybarreto
Copy link
Member

In previous refactoring, we have removed a bunch of operations from the server, letting both the parties communicate more freely. However, the session record kept doing the same blocking operations.

The SSH server acts as an intermediary between the Agent and Client, so reducing communication overhead can significantly improve session performance and overall user experience.

In a previous refactor, we reduced several blocking operations on the server, allowing for more efficient communication between the Agent and Client. However, the session record still relied on blocking operations, which limited performance.

The core idea of this improvement was removing more operations over the communication between Agent and Client communication, and turning session record frame asynchronous using channels.

@henrybarreto henrybarreto self-assigned this Nov 14, 2024
@henrybarreto henrybarreto requested a review from a team as a code owner November 14, 2024 04:28
@henrybarreto henrybarreto force-pushed the feat/ssh-simplify-and-record-performance branch from 335492e to bc57d43 Compare November 14, 2024 04:31
@henrybarreto henrybarreto changed the title feat(ssh): simplify session channel and improve performance of session record feat(ssh): simplify session, improve record, and record exec with PTY Nov 14, 2024
@henrybarreto
Copy link
Member Author

henrybarreto commented Nov 14, 2024

Beyond that, the record also works over exec operations with PTY.

In previous refactoring, we have removed a bunch of operations from
the server, letting both the parties communicate more freely. However,
the session record kept doing the same blocking operations.

The SSH server acts as an intermediary between the Agent and Client, so
reducing communication overhead can significantly improve session
performance and overall user experience.

In a previous refactor, we reduced several blocking operations on the
server, allowing for more efficient communication between the Agent and
Client. However, the session record still relied on blocking operations,
which limited performance.

The core idea of this improvement was removing more operations over the
communication between Agent and Client communication, and turning
session record frame asynchronous using channels.
@henrybarreto henrybarreto force-pushed the feat/ssh-simplify-and-record-performance branch from bc57d43 to 14c7180 Compare November 14, 2024 04:34
@henrybarreto henrybarreto changed the title feat(ssh): simplify session, improve record, and record exec with PTY feat(ssh): simplify session, improve record, and record any PTY Nov 14, 2024
@henrybarreto
Copy link
Member Author

@gustavosbarreto, do you think it is worth?

@gustavosbarreto gustavosbarreto merged commit 86e48a1 into master Nov 19, 2024
8 checks passed
@gustavosbarreto gustavosbarreto deleted the feat/ssh-simplify-and-record-performance branch November 19, 2024 12:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants