Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit4ed1f55

Browse files
authored
chore(coderd): add logging to agent rpc yamux conn (#11965)
1 parentcc0dc10 commit4ed1f55

File tree

2 files changed

+17
-11
lines changed

2 files changed

+17
-11
lines changed

‎coderd/files.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ import (
1212
"io"
1313
"net/http"
1414

15-
"cdr.dev/slog"
1615
"github.com/go-chi/chi/v5"
1716
"github.com/google/uuid"
1817

18+
"cdr.dev/slog"
1919
"github.com/coder/coder/v2/coderd/database"
2020
"github.com/coder/coder/v2/coderd/database/dbtime"
2121
"github.com/coder/coder/v2/coderd/httpapi"

‎coderd/workspaceagentsrpc.go‎

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import (
3737
// @x-apidocgen {"skip": true}
3838
func (api*API)workspaceAgentRPC(rw http.ResponseWriter,r*http.Request) {
3939
ctx:=r.Context()
40+
logger:=api.Logger.Named("agentrpc")
4041

4142
version:=r.URL.Query().Get("version")
4243
ifversion=="" {
@@ -61,7 +62,7 @@ func (api *API) workspaceAgentRPC(rw http.ResponseWriter, r *http.Request) {
6162
deferapi.WebsocketWaitGroup.Done()
6263
workspaceAgent:=httpmw.WorkspaceAgent(r)
6364

64-
build,ok:=ensureLatestBuild(ctx,api.Database,api.Logger,rw,workspaceAgent)
65+
build,ok:=ensureLatestBuild(ctx,api.Database,logger,rw,workspaceAgent)
6566
if!ok {
6667
return
6768
}
@@ -84,6 +85,12 @@ func (api *API) workspaceAgentRPC(rw http.ResponseWriter, r *http.Request) {
8485
return
8586
}
8687

88+
logger=logger.With(
89+
slog.F("owner",owner.Username),
90+
slog.F("workspace_name",workspace.Name),
91+
slog.F("agent_name",workspaceAgent.Name),
92+
)
93+
8794
conn,err:=websocket.Accept(rw,r,nil)
8895
iferr!=nil {
8996
httpapi.Write(ctx,rw,http.StatusBadRequest, codersdk.Response{
@@ -96,7 +103,11 @@ func (api *API) workspaceAgentRPC(rw http.ResponseWriter, r *http.Request) {
96103
ctx,wsNetConn:=websocketNetConn(ctx,conn,websocket.MessageBinary)
97104
deferwsNetConn.Close()
98105

99-
mux,err:=yamux.Server(wsNetConn,nil)
106+
ycfg:=yamux.DefaultConfig()
107+
ycfg.LogOutput=nil
108+
ycfg.Logger=slog.Stdlib(ctx,logger.Named("yamux"),slog.LevelInfo)
109+
110+
mux,err:=yamux.Server(wsNetConn,ycfg)
100111
iferr!=nil {
101112
httpapi.Write(ctx,rw,http.StatusBadRequest, codersdk.Response{
102113
Message:"Failed to start yamux over websocket.",
@@ -106,12 +117,7 @@ func (api *API) workspaceAgentRPC(rw http.ResponseWriter, r *http.Request) {
106117
}
107118
defermux.Close()
108119

109-
api.Logger.Debug(ctx,"accepting agent RPC connection",
110-
slog.F("owner",owner.Username),
111-
slog.F("workspace",workspace.Name),
112-
slog.F("name",workspaceAgent.Name),
113-
)
114-
api.Logger.Debug(ctx,"accepting agent details",slog.F("agent",workspaceAgent))
120+
logger.Debug(ctx,"accepting agent RPC connection",slog.F("agent",workspaceAgent))
115121

116122
closeCtx,closeCtxCancel:=context.WithCancel(ctx)
117123
defercloseCtxCancel()
@@ -122,7 +128,7 @@ func (api *API) workspaceAgentRPC(rw http.ResponseWriter, r *http.Request) {
122128
AgentID:workspaceAgent.ID,
123129

124130
Ctx:api.ctx,
125-
Log:api.Logger,
131+
Log:logger,
126132
Database:api.Database,
127133
Pubsub:api.Pubsub,
128134
DerpMapFn:api.DERPMap,
@@ -155,7 +161,7 @@ func (api *API) workspaceAgentRPC(rw http.ResponseWriter, r *http.Request) {
155161
ctx=agentapi.WithAPIVersion(ctx,version)
156162
err=agentAPI.Serve(ctx,mux)
157163
iferr!=nil {
158-
api.Logger.Warn(ctx,"workspace agent RPC listen error",slog.Error(err))
164+
logger.Warn(ctx,"workspace agent RPC listen error",slog.Error(err))
159165
_=conn.Close(websocket.StatusInternalError,err.Error())
160166
return
161167
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp