Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 15a90f0

Browse files
authored
chore: collect more template telemetry to gauge feature usage
We don't have visibility into some feature usage, so this adds a lot of fields missing from `database.Template` to `telemetry.Template`. Deprecation message is not collected, just whether it's set or not.
1 parent b7b9365 commit 15a90f0

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

coderd/telemetry/telemetry.go

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626
clitelemetry "github.com/coder/coder/v2/cli/telemetry"
2727
"github.com/coder/coder/v2/coderd/database"
2828
"github.com/coder/coder/v2/coderd/database/dbtime"
29+
"github.com/coder/coder/v2/codersdk"
2930
)
3031

3132
const (
@@ -663,6 +664,24 @@ func ConvertTemplate(dbTemplate database.Template) Template {
663664
ActiveVersionID: dbTemplate.ActiveVersionID,
664665
Name: dbTemplate.Name,
665666
Description: dbTemplate.Description != "",
667+
668+
// Some of these fields are meant to be accessed using a specialized
669+
// interface (for entitlement purposes), but for telemetry purposes
670+
// there's minimal harm accessing them directly.
671+
UseMaxTTL: dbTemplate.UseMaxTtl,
672+
MaxTTLMillis: time.Duration(dbTemplate.MaxTTL).Milliseconds(),
673+
DefaultTTLMillis: time.Duration(dbTemplate.DefaultTTL).Milliseconds(),
674+
AllowUserCancelWorkspaceJobs: dbTemplate.AllowUserCancelWorkspaceJobs,
675+
AllowUserAutostart: dbTemplate.AllowUserAutostart,
676+
AllowUserAutostop: dbTemplate.AllowUserAutostop,
677+
FailureTTLMillis: time.Duration(dbTemplate.FailureTTL).Milliseconds(),
678+
TimeTilDormantMillis: time.Duration(dbTemplate.TimeTilDormant).Milliseconds(),
679+
TimeTilDormantAutoDeleteMillis: time.Duration(dbTemplate.TimeTilDormantAutoDelete).Milliseconds(),
680+
AutostopRequirementDaysOfWeek: codersdk.BitmapToWeekdays(uint8(dbTemplate.AutostopRequirementDaysOfWeek)),
681+
AutostopRequirementWeeks: dbTemplate.AutostopRequirementWeeks,
682+
AutostartAllowedDays: codersdk.BitmapToWeekdays(dbTemplate.AutostartAllowedDays()),
683+
RequireActiveVersion: dbTemplate.RequireActiveVersion,
684+
Deprecated: dbTemplate.Deprecated != "",
666685
}
667686
}
668687

@@ -883,6 +902,21 @@ type Template struct {
883902
ActiveVersionID uuid.UUID `json:"active_version_id"`
884903
Name string `json:"name"`
885904
Description bool `json:"description"`
905+
906+
UseMaxTTL bool `json:"use_max_ttl"`
907+
MaxTTLMillis int64 `json:"max_ttl_ms"`
908+
DefaultTTLMillis int64 `json:"default_ttl_ms"`
909+
AllowUserCancelWorkspaceJobs bool `json:"allow_user_cancel_workspace_jobs"`
910+
AllowUserAutostart bool `json:"allow_user_autostart"`
911+
AllowUserAutostop bool `json:"allow_user_autostop"`
912+
FailureTTLMillis int64 `json:"failure_ttl_ms"`
913+
TimeTilDormantMillis int64 `json:"time_til_dormant_ms"`
914+
TimeTilDormantAutoDeleteMillis int64 `json:"time_til_dormant_auto_delete_ms"`
915+
AutostopRequirementDaysOfWeek []string `json:"autostop_requirement_days_of_week"`
916+
AutostopRequirementWeeks int64 `json:"autostop_requirement_weeks"`
917+
AutostartAllowedDays []string `json:"autostart_allowed_days"`
918+
RequireActiveVersion bool `json:"require_active_version"`
919+
Deprecated bool `json:"deprecated"`
886920
}
887921

888922
type TemplateVersion struct {

0 commit comments

Comments
 (0)