Skip to content
Closed
Prev Previous commit
Next Next commit
Rename TelemetryLevel to Telemetry
  • Loading branch information
code-asher committed May 18, 2022
commit 117b94921d95573b3b02d79fef364e8577ca349d
10 changes: 5 additions & 5 deletions cli/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ func server() *cobra.Command {
oauth2GithubClientSecret string
oauth2GithubAllowedOrganizations []string
oauth2GithubAllowSignups bool
telemetryLevelRaw string
telemetryRaw string
tlsCertFile string
tlsClientCAFile string
tlsClientAuth string
Expand Down Expand Up @@ -194,9 +194,9 @@ func server() *cobra.Command {
return xerrors.Errorf("parse ssh keygen algorithm %s: %w", sshKeygenAlgorithmRaw, err)
}

telemetryLevel, err := monitoring.ParseTelemetryLevel(telemetryLevelRaw)
telemetry, err := monitoring.ParseTelemetry(telemetryRaw)
if err != nil {
return xerrors.Errorf("parse telemetry level %s: %w", telemetryLevelRaw, err)
return xerrors.Errorf("parse telemetry %s: %w", telemetryRaw, err)
}

turnServer, err := turnconn.New(&turn.RelayAddressGeneratorStatic{
Expand Down Expand Up @@ -260,7 +260,7 @@ func server() *cobra.Command {
Database: options.Database,
Logger: options.Logger,
RefreshInterval: time.Hour,
TelemetryLevel: telemetryLevel,
Telemetry: telemetry,
})

handler, closeCoderd := coderd.New(options)
Expand Down Expand Up @@ -475,7 +475,7 @@ func server() *cobra.Command {
"Specifies organizations the user must be a member of to authenticate with GitHub.")
cliflag.BoolVarP(root.Flags(), &oauth2GithubAllowSignups, "oauth2-github-allow-signups", "", "CODER_OAUTH2_GITHUB_ALLOW_SIGNUPS", false,
"Specifies whether new users can sign up with GitHub.")
cliflag.StringVarP(root.Flags(), &telemetryLevelRaw, "telemetry", "", "CODER_TELEMETRY", "all", "The level of telemetry to send. "+
cliflag.StringVarP(root.Flags(), &telemetryRaw, "telemetry", "", "CODER_TELEMETRY", "all", "The level of telemetry to send. "+
`Accepted values are "all", "core", or "none"`)
cliflag.BoolVarP(root.Flags(), &tlsEnable, "tls-enable", "", "CODER_TLS_ENABLE", false, "Specifies if TLS will be enabled")
cliflag.StringVarP(root.Flags(), &tlsCertFile, "tls-cert-file", "", "CODER_TLS_CERT_FILE", "",
Expand Down
2 changes: 1 addition & 1 deletion coderd/coderdtest/coderdtest.go
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ func NewMemoryCoderd(t *testing.T, options *Options) (*httptest.Server, *codersd
Database: db,
Logger: slogtest.Make(t, nil),
RefreshInterval: time.Minute,
TelemetryLevel: monitoring.TelemetryLevelNone,
Telemetry: monitoring.TelemetryNone,
}),
SSHKeygenAlgorithm: options.SSHKeygenAlgorithm,
TURNServer: turnServer,
Expand Down
2 changes: 1 addition & 1 deletion coderd/httpmw/prometheus.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ func durationToFloatMs(d time.Duration) float64 {

func Prometheus(monitor *monitoring.Monitor) func(http.Handler) http.Handler {
monitor.MustRegister(
monitoring.TelemetryLevelNone,
monitoring.TelemetryNone,
requestsProcessed,
requestsConcurrent,
websocketsConcurrent,
Expand Down
40 changes: 20 additions & 20 deletions coderd/monitoring/monitoring.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,25 +16,25 @@ import (
"github.com/coder/coder/coderd/database"
)

type TelemetryLevel string
type Telemetry string

const (
TelemetryLevelAll TelemetryLevel = "all"
TelemetryLevelCore TelemetryLevel = "core"
TelemetryLevelNone TelemetryLevel = "none"
TelemetryAll Telemetry = "all"
TelemetryCore Telemetry = "core"
TelemetryNone Telemetry = "none"
)

// ParseTelemetryLevel returns a valid TelemetryLevel or error if input is not a valid.
func ParseTelemetryLevel(t string) (TelemetryLevel, error) {
// ParseTelemetry returns a valid Telemetry or error if input is not a valid.
func ParseTelemetry(t string) (Telemetry, error) {
ok := []string{
string(TelemetryLevelAll),
string(TelemetryLevelCore),
string(TelemetryLevelNone),
string(TelemetryAll),
string(TelemetryCore),
string(TelemetryNone),
}

for _, a := range ok {
if strings.EqualFold(a, t) {
return TelemetryLevel(a), nil
return Telemetry(a), nil
}
}

Expand All @@ -45,7 +45,7 @@ type Options struct {
Database database.Store
Logger slog.Logger
RefreshInterval time.Duration
TelemetryLevel TelemetryLevel
Telemetry Telemetry
}

type Monitor struct {
Expand All @@ -58,14 +58,14 @@ type Monitor struct {
// coreRegistry registers metrics that will be sent when the telemetry level
// is `core` or `all`.
coreRegistry *prometheus.Registry
// internalRegisry registers metrics that will never be sent.
// internalRegistry registers metrics that will never be sent.
internalRegistry *prometheus.Registry
// refreshMutex is used to prevent multiple refreshes at a time.
refreshMutex *sync.Mutex
// stats are internally registered metrics that update via Refresh.
stats Stats
// TelemetryLevel determines which metrics are sent to Coder.
TelemetryLevel TelemetryLevel
// Telemetry determines which metrics are sent to Coder.
Telemetry Telemetry
}

type Stats struct {
Expand Down Expand Up @@ -109,11 +109,11 @@ func New(ctx context.Context, options *Options) *Monitor {
"workspace_resource_type",
}),
},
TelemetryLevel: options.TelemetryLevel,
Telemetry: options.Telemetry,
}

monitor.MustRegister(
TelemetryLevelAll,
TelemetryAll,
monitor.stats.Users,
monitor.stats.Workspaces,
monitor.stats.WorkspaceResources,
Expand All @@ -137,13 +137,13 @@ func New(ctx context.Context, options *Options) *Monitor {
}

// MustRegister registers collectors at the specified level.
func (t Monitor) MustRegister(level TelemetryLevel, cs ...prometheus.Collector) {
func (t Monitor) MustRegister(level Telemetry, cs ...prometheus.Collector) {
switch level {
case TelemetryLevelAll:
case TelemetryAll:
t.allRegistry.MustRegister(cs...)
case TelemetryLevelCore:
case TelemetryCore:
t.coreRegistry.MustRegister(cs...)
case TelemetryLevelNone:
case TelemetryNone:
t.internalRegistry.MustRegister(cs...)
}
}
Expand Down
2 changes: 1 addition & 1 deletion coderd/monitoring/monitoring_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ func TestMonitoring(t *testing.T) {
Database: db,
Logger: slogtest.Make(t, nil),
RefreshInterval: time.Minute,
TelemetryLevel: monitoring.TelemetryLevelNone,
Telemetry: monitoring.TelemetryNone,
})

user, _ := db.InsertUser(ctx, database.InsertUserParams{
Expand Down