Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 11 additions & 12 deletions router/core/router.go
Original file line number Diff line number Diff line change
Expand Up @@ -1156,9 +1156,7 @@ func (r *Router) Start(ctx context.Context) error {
return fmt.Errorf("failed to bootstrap router: %w", err)
}

if err := r.configureUsageTracking(ctx); err != nil {
return err
}
r.configureUsageTracking(ctx)

r.trackRouterConfigUsage()

Expand Down Expand Up @@ -1357,15 +1355,15 @@ func (u *UsageTrackerNoOp) Close() {}

func (u *UsageTrackerNoOp) TrackUptime(_ context.Context) {}

func (r *Router) configureUsageTracking(ctx context.Context) (err error) {
func (r *Router) configureUsageTracking(ctx context.Context) {
r.usage = &UsageTrackerNoOp{}
if r.disableUsageTracking {
r.usage = &UsageTrackerNoOp{}
return nil
r.logger.Debug("Usage tracking is disabled by the configuration")
return
}
if os.Getenv("COSMO_TELEMETRY_DISABLED") == "true" || os.Getenv("DO_NOT_TRACK") == "1" {
r.usage = &UsageTrackerNoOp{}
r.logger.Info("Usage tracking is disabled.")
return nil
r.logger.Debug("Usage tracking is disabled by the environment variable")
return
}
cfg := track.UsageTrackerConfig{
GraphApiToken: r.graphApiToken,
Expand All @@ -1375,12 +1373,13 @@ func (r *Router) configureUsageTracking(ctx context.Context) (err error) {
InstanceID: r.instanceID,
ClusterName: r.clusterName,
}
r.usage, err = track.NewUsageTracker(r.logger, cfg)
usageTracker, err := track.NewUsageTracker(r.logger, cfg)
if err != nil {
return fmt.Errorf("failed to create usage tracker: %w", err)
r.logger.Info("Failed to start usage tracking", zap.Error(err))
return
}
r.usage = usageTracker
go r.usage.TrackUptime(ctx)
return nil
}

func (r *Router) trackRouterConfigUsage() {
Expand Down
19 changes: 8 additions & 11 deletions router/internal/track/track.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@ type UsageTrackerConfig struct {
func NewUsageTracker(log *zap.Logger, config UsageTrackerConfig) (*UsageTracker, error) {
uid, err := uuid.NewUUID()
if err != nil {
log.Error("failed to create uuid", zap.Error(err))
return nil, err
return nil, fmt.Errorf("failed to create uuid: %w", err)
}
tracker := &UsageTracker{
log: log,
Expand All @@ -49,8 +48,7 @@ func NewUsageTracker(log *zap.Logger, config UsageTrackerConfig) (*UsageTracker,
if config.GraphApiToken != "" {
claims, err := jwt.ExtractFederatedGraphTokenClaims(config.GraphApiToken)
if err != nil {
log.Error("failed to extract claims from graph api token", zap.Error(err))
return nil, err
return nil, fmt.Errorf("failed to extract claims from graph api token: %w", err)
}
tracker.organizationID = claims.OrganizationID
tracker.federatedGraphID = claims.FederatedGraphID
Expand All @@ -61,8 +59,7 @@ func NewUsageTracker(log *zap.Logger, config UsageTrackerConfig) (*UsageTracker,
}
tracker.client, err = posthog.NewWithConfig("phc_h2Efq192t8Jz2eW14BDRt3I8Vrs2WMd3oQ4KOpMu3xT", cfg)
if err != nil {
log.Error("failed to create posthog client", zap.Error(err))
return nil, err
return nil, fmt.Errorf("failed to create posthog client: %w", err)
}
return tracker, nil
}
Expand Down Expand Up @@ -153,7 +150,7 @@ func (u *UsageTracker) TrackExecutionConfigUsage(usage map[string]any) {
DistinctId: u.distinctID,
})
if err != nil {
u.log.Error("failed to track event", zap.Error(err))
u.log.Debug("failed to track event", zap.Error(err))
}
}

Expand All @@ -169,7 +166,7 @@ func (u *UsageTracker) TrackRouterConfigUsage(usage map[string]any) {
Properties: props,
})
if err != nil {
u.log.Error("failed to track event", zap.Error(err))
u.log.Debug("failed to track event", zap.Error(err))
}
}

Expand All @@ -182,7 +179,7 @@ func (p *hogLog) Logf(format string, args ...interface{}) {
}

func (p *hogLog) Errorf(format string, args ...interface{}) {
p.log.Error(fmt.Sprintf(format, args...))
p.log.Debug(fmt.Sprintf(format, args...))
}

func (u *UsageTracker) posthogLogger() posthog.Logger {
Expand All @@ -206,7 +203,7 @@ func (u *UsageTracker) TrackUptime(ctx context.Context) {

err = u.trackRouterUptime(uptimeOptions{})
if err != nil {
u.log.Error("failed to track event", zap.Error(err))
u.log.Debug("failed to track event", zap.Error(err))
}

for {
Expand All @@ -216,7 +213,7 @@ func (u *UsageTracker) TrackUptime(ctx context.Context) {
case <-tick.C:
err = u.trackRouterUptime(uptimeOptions{})
if err != nil {
u.log.Error("failed to track event", zap.Error(err))
u.log.Debug("failed to track event", zap.Error(err))
}
}
}
Expand Down
Loading