mirror of
https://github.com/coder/coder.git
synced 2026-09-21 20:51:01 +08:00
fix: stop activity bump if no tracked sessions (#15237)
Part of https://github.com/coder/coder/issues/15176 I originally kept this the same because I wanted to be conservative about when we start dropping activity, but this is proving to be a problem when using `coder ssh` with `--usage-app=disabled`. Because the workspace agent still counts this as a connection (I think it still should so it's counted somewhere) but not as a SSH / IDE session. This leads to background ssh tasks that want to be untracked still continuing to bump activity when it shouldn't. This makes it so we have to have an explicit session to bump activity.
This commit is contained in:
@@ -117,6 +117,7 @@ func (r *Reporter) ReportAppStats(ctx context.Context, stats []workspaceapps.Sta
|
||||
return nil
|
||||
}
|
||||
|
||||
// nolint:revive // usage is a control flag while we have the experiment
|
||||
func (r *Reporter) ReportAgentStats(ctx context.Context, now time.Time, workspace database.Workspace, workspaceAgent database.WorkspaceAgent, templateName string, stats *agentproto.Stats, usage bool) error {
|
||||
// update agent stats
|
||||
r.opts.StatsBatcher.Add(now, workspaceAgent.ID, workspace.TemplateID, workspace.OwnerID, workspace.ID, stats, usage)
|
||||
@@ -136,8 +137,13 @@ func (r *Reporter) ReportAgentStats(ctx context.Context, now time.Time, workspac
|
||||
}, stats.Metrics)
|
||||
}
|
||||
|
||||
// if no active connections we do not bump activity
|
||||
if stats.ConnectionCount == 0 {
|
||||
// workspace activity: if no sessions we do not bump activity
|
||||
if usage && stats.SessionCountVscode == 0 && stats.SessionCountJetbrains == 0 && stats.SessionCountReconnectingPty == 0 && stats.SessionCountSsh == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
// legacy stats: if no active connections we do not bump activity
|
||||
if !usage && stats.ConnectionCount == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user