@@ -43,7 +43,6 @@ import (
4343 "github.com/coder/coder/v2/coderd/appearance"
4444 "github.com/coder/coder/v2/coderd/audit"
4545 "github.com/coder/coder/v2/coderd/awsidentity"
46- "github.com/coder/coder/v2/coderd/batchstats"
4746 "github.com/coder/coder/v2/coderd/database"
4847 "github.com/coder/coder/v2/coderd/database/dbauthz"
4948 "github.com/coder/coder/v2/coderd/database/dbrollup"
@@ -69,7 +68,6 @@ import (
6968 "github.com/coder/coder/v2/coderd/util/slice"
7069 "github.com/coder/coder/v2/coderd/workspaceapps"
7170 "github.com/coder/coder/v2/coderd/workspacestats"
72- "github.com/coder/coder/v2/coderd/workspaceusage"
7371 "github.com/coder/coder/v2/codersdk"
7472 "github.com/coder/coder/v2/codersdk/drpc"
7573 "github.com/coder/coder/v2/codersdk/healthsdk"
@@ -189,7 +187,7 @@ type Options struct {
189187 HTTPClient * http.Client
190188
191189 UpdateAgentMetrics func (ctx context.Context , labels prometheusmetrics.AgentMetricLabels , metrics []* agentproto.Stats_Metric )
192- StatsBatcher * batchstats. Batcher
190+ StatsBatcher * workspacestats. DBBatcher
193191
194192 WorkspaceAppsStatsCollectorOptions workspaceapps.StatsCollectorOptions
195193
@@ -206,7 +204,7 @@ type Options struct {
206204 // stats. This is used to provide insights in the WebUI.
207205 DatabaseRolluper * dbrollup.Rolluper
208206 // WorkspaceUsageTracker tracks workspace usage by the CLI.
209- WorkspaceUsageTracker * workspaceusage. Tracker
207+ WorkspaceUsageTracker * workspacestats. UsageTracker
210208}
211209
212210// @title Coder API
@@ -384,8 +382,8 @@ func New(options *Options) *API {
384382 }
385383
386384 if options .WorkspaceUsageTracker == nil {
387- options .WorkspaceUsageTracker = workspaceusage . New (options .Database ,
388- workspaceusage . WithLogger (options .Logger .Named ("workspace_usage_tracker" )),
385+ options .WorkspaceUsageTracker = workspacestats . NewTracker (options .Database ,
386+ workspacestats . TrackerWithLogger (options .Logger .Named ("workspace_usage_tracker" )),
389387 )
390388 }
391389
@@ -434,8 +432,7 @@ func New(options *Options) *API {
434432 options .Database ,
435433 options .Pubsub ,
436434 ),
437- dbRolluper : options .DatabaseRolluper ,
438- workspaceUsageTracker : options .WorkspaceUsageTracker ,
435+ dbRolluper : options .DatabaseRolluper ,
439436 }
440437
441438 var customRoleHandler CustomRoleHandler = & agplCustomRoleHandler {}
@@ -557,6 +554,7 @@ func New(options *Options) *API {
557554 Pubsub : options .Pubsub ,
558555 TemplateScheduleStore : options .TemplateScheduleStore ,
559556 StatsBatcher : options .StatsBatcher ,
557+ UsageTracker : options .WorkspaceUsageTracker ,
560558 UpdateAgentMetricsFn : options .UpdateAgentMetrics ,
561559 AppStatBatchSize : workspaceapps .DefaultStatsDBReporterBatchSize ,
562560 })
@@ -1301,8 +1299,7 @@ type API struct {
13011299 Acquirer * provisionerdserver.Acquirer
13021300 // dbRolluper rolls up template usage stats from raw agent and app
13031301 // stats. This is used to provide insights in the WebUI.
1304- dbRolluper * dbrollup.Rolluper
1305- workspaceUsageTracker * workspaceusage.Tracker
1302+ dbRolluper * dbrollup.Rolluper
13061303}
13071304
13081305// Close waits for all WebSocket connections to drain before returning.
@@ -1341,7 +1338,7 @@ func (api *API) Close() error {
13411338 _ = (* coordinator ).Close ()
13421339 }
13431340 _ = api .agentProvider .Close ()
1344- api .workspaceUsageTracker .Close ()
1341+ _ = api .statsReporter .Close ()
13451342 return nil
13461343}
13471344
0 commit comments