teleport/api/observability/tracing
rosstimothy 65106a1279
Reduce time spent setting ssh session envs (#23731)
* Reduce time spent setting ssh session envs

`tsh` sets a number of environment variables when setting up the
users session. Each key value pair is transmitted one at a time
in a "env" ssh request, which adds a num envs * RTT of additional
latency per session.

This introduces a new `envs@goteleport.com` request which sets
multiple environment variables in a single ssh request, which
reduces the amount of time spent setting envs down to the RTT of
a single ssh request. In order to ensure backward compat and
interoperability with OpenSSH, if the server does not recognize
the `envs@goteleport.com` request the ssh client will resort to
sending individual "env" requests.

* address feedback

* fix: use a single timer for fallback requests in tests

Co-authored-by: Alan Parra <alan.parra@goteleport.com>

* fix: remove extra whitespace

Co-authored-by: Alan Parra <alan.parra@goteleport.com>

* fix: gci

---------

Co-authored-by: Alan Parra <alan.parra@goteleport.com>
2023-03-30 12:58:49 +00:00
..
http Headless Login: auth server changes (#22726) 2023-03-17 01:02:37 +00:00
ssh Reduce time spent setting ssh session envs (#23731) 2023-03-30 12:58:49 +00:00
client.go Prevent forwarding traces to servers which don't support tracing (#14281) 2022-07-11 21:09:32 +00:00
client_test.go Prevent forwarding traces to servers which don't support tracing (#14281) 2022-07-11 21:09:32 +00:00
option.go SSH request tracing (#14124) 2022-07-27 14:56:06 +00:00
tracing.go Ensure that the webclient closes connections (#22832) 2023-03-10 15:21:16 +00:00