Skip to content

Commit 188103c

Browse files
committed
remove workspace usage tracker
1 parent e7b1de8 commit 188103c

File tree

7 files changed

+23
-491
lines changed

7 files changed

+23
-491
lines changed

cli/server.go

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ import (
8686
stringutil "github.com/coder/coder/v2/coderd/util/strings"
8787
"github.com/coder/coder/v2/coderd/workspaceapps"
8888
"github.com/coder/coder/v2/coderd/workspaceapps/appurl"
89-
"github.com/coder/coder/v2/coderd/workspaceusage"
9089
"github.com/coder/coder/v2/codersdk"
9190
"github.com/coder/coder/v2/codersdk/drpc"
9291
"github.com/coder/coder/v2/cryptorand"
@@ -964,13 +963,6 @@ func (r *RootCmd) Server(newAPI func(context.Context, *coderd.Options) (*coderd.
964963
purger := dbpurge.New(ctx, logger.Named("dbpurge"), options.Database)
965964
defer purger.Close()
966965

967-
// Updates workspace usage
968-
tracker := workspaceusage.New(options.Database,
969-
workspaceusage.WithLogger(logger.Named("workspace_usage_tracker")),
970-
)
971-
options.WorkspaceUsageTracker = tracker
972-
defer tracker.Close()
973-
974966
// Wrap the server in middleware that redirects to the access URL if
975967
// the request is not to a local IP.
976968
var handler http.Handler = coderAPI.RootHandler

coderd/coderd.go

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ import (
6868
"github.com/coder/coder/v2/coderd/util/slice"
6969
"github.com/coder/coder/v2/coderd/workspaceapps"
7070
"github.com/coder/coder/v2/coderd/workspacestats"
71-
"github.com/coder/coder/v2/coderd/workspaceusage"
7271
"github.com/coder/coder/v2/codersdk"
7372
"github.com/coder/coder/v2/codersdk/drpc"
7473
"github.com/coder/coder/v2/codersdk/healthsdk"
@@ -203,8 +202,6 @@ type Options struct {
203202
// DatabaseRolluper rolls up template usage stats from raw agent and app
204203
// stats. This is used to provide insights in the WebUI.
205204
DatabaseRolluper *dbrollup.Rolluper
206-
// WorkspaceUsageTracker tracks workspace usage by the CLI.
207-
WorkspaceUsageTracker *workspaceusage.Tracker
208205
}
209206

210207
// @title Coder API
@@ -377,12 +374,6 @@ func New(options *Options) *API {
377374
options.DatabaseRolluper = dbrollup.New(options.Logger.Named("dbrollup"), options.Database)
378375
}
379376

380-
if options.WorkspaceUsageTracker == nil {
381-
options.WorkspaceUsageTracker = workspaceusage.New(options.Database,
382-
workspaceusage.WithLogger(options.Logger.Named("workspace_usage_tracker")),
383-
)
384-
}
385-
386377
ctx, cancel := context.WithCancel(context.Background())
387378
r := chi.NewRouter()
388379

@@ -428,8 +419,7 @@ func New(options *Options) *API {
428419
options.Database,
429420
options.Pubsub,
430421
),
431-
dbRolluper: options.DatabaseRolluper,
432-
workspaceUsageTracker: options.WorkspaceUsageTracker,
422+
dbRolluper: options.DatabaseRolluper,
433423
}
434424

435425
var customRoleHandler CustomRoleHandler = &agplCustomRoleHandler{}
@@ -1293,8 +1283,7 @@ type API struct {
12931283
Acquirer *provisionerdserver.Acquirer
12941284
// dbRolluper rolls up template usage stats from raw agent and app
12951285
// stats. This is used to provide insights in the WebUI.
1296-
dbRolluper *dbrollup.Rolluper
1297-
workspaceUsageTracker *workspaceusage.Tracker
1286+
dbRolluper *dbrollup.Rolluper
12981287
}
12991288

13001289
// Close waits for all WebSocket connections to drain before returning.
@@ -1333,7 +1322,6 @@ func (api *API) Close() error {
13331322
_ = (*coordinator).Close()
13341323
}
13351324
_ = api.agentProvider.Close()
1336-
api.workspaceUsageTracker.Close()
13371325
return nil
13381326
}
13391327

coderd/coderdtest/coderdtest.go

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ import (
6969
"github.com/coder/coder/v2/coderd/util/ptr"
7070
"github.com/coder/coder/v2/coderd/workspaceapps"
7171
"github.com/coder/coder/v2/coderd/workspaceapps/appurl"
72-
"github.com/coder/coder/v2/coderd/workspaceusage"
7372
"github.com/coder/coder/v2/codersdk"
7473
"github.com/coder/coder/v2/codersdk/agentsdk"
7574
"github.com/coder/coder/v2/codersdk/drpc"
@@ -320,12 +319,6 @@ func NewOptions(t testing.TB, options *Options) (func(http.Handler), context.Can
320319
if options.WorkspaceUsageTrackerTick == nil {
321320
options.WorkspaceUsageTrackerTick = make(chan time.Time, 1) // buffering just in case
322321
}
323-
// Close is called by API.Close()
324-
wuTracker := workspaceusage.New(
325-
options.Database,
326-
workspaceusage.WithLogger(options.Logger.Named("workspace_usage_tracker")),
327-
workspaceusage.WithTickFlush(options.WorkspaceUsageTrackerTick, options.WorkspaceUsageTrackerFlush),
328-
)
329322

330323
var mutex sync.RWMutex
331324
var handler http.Handler
@@ -479,7 +472,6 @@ func NewOptions(t testing.TB, options *Options) (func(http.Handler), context.Can
479472
AllowWorkspaceRenames: options.AllowWorkspaceRenames,
480473
NewTicker: options.NewTicker,
481474
DatabaseRolluper: options.DatabaseRolluper,
482-
WorkspaceUsageTracker: wuTracker,
483475
}
484476
}
485477

coderd/workspaces.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1115,7 +1115,15 @@ func (api *API) postWorkspaceUsage(rw http.ResponseWriter, r *http.Request) {
11151115
return
11161116
}
11171117

1118-
api.workspaceUsageTracker.Add(workspace.ID)
1118+
err := api.statsReporter.ReportWorksaceUsage(r.Context(), workspace.ID)
1119+
if err != nil {
1120+
httpapi.Write(r.Context(), rw, http.StatusInternalServerError, codersdk.Response{
1121+
Message: "Failed to report workspace usage",
1122+
Detail: err.Error(),
1123+
})
1124+
return
1125+
}
1126+
11191127
rw.WriteHeader(http.StatusNoContent)
11201128
}
11211129

coderd/workspacestats/reporter.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,3 +227,15 @@ func (r *Reporter) ReportAgentStats(ctx context.Context, now time.Time, workspac
227227

228228
return nil
229229
}
230+
231+
func (r *Reporter) ReportWorksaceUsage(ctx context.Context, workspaceID uuid.UUID) error {
232+
err := r.opts.Database.UpdateWorkspaceLastUsedAt(ctx, database.UpdateWorkspaceLastUsedAtParams{
233+
ID: workspaceID,
234+
LastUsedAt: dbtime.Now(),
235+
})
236+
if err != nil {
237+
return xerrors.Errorf("update workspace last_used_at: %w", err)
238+
}
239+
240+
return nil
241+
}

coderd/workspaceusage/tracker.go

Lines changed: 0 additions & 235 deletions
This file was deleted.

0 commit comments

Comments
 (0)