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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy