Skip to content

Commit 763619e

Browse files
Arta AsadiArta Asadi
Arta Asadi
authored and
Arta Asadi
committed
fix: record error on send telemetry failure
1 parent 138f396 commit 763619e

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

jobs/checkup-job/job.go

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,11 @@ func (j Job) Do(integrationClient client.IntegrationServiceClient, authClient au
115115
errMsg = firstErr.Error()
116116
}
117117

118-
j.SendTelemetry(context.Background(), logger, config, integrationClient, authClient, coreClient)
118+
err = j.SendTelemetry(context.Background(), logger, config, integrationClient, authClient, coreClient)
119+
if err != nil {
120+
status = api.CheckupJobFailed
121+
errMsg = fmt.Sprintf("%s \n failed to check integration healthcheck: %s", errMsg, err.Error())
122+
}
119123

120124
return JobResult{
121125
JobID: j.JobID,
@@ -125,7 +129,7 @@ func (j Job) Do(integrationClient client.IntegrationServiceClient, authClient au
125129
}
126130

127131
func (j *Job) SendTelemetry(ctx context.Context, logger *zap.Logger, workerConfig config.WorkerConfig,
128-
integrationClient client.IntegrationServiceClient, authClient authClient.AuthServiceClient, coreClient coreClient.CoreServiceClient) {
132+
integrationClient client.IntegrationServiceClient, authClient authClient.AuthServiceClient, coreClient coreClient.CoreServiceClient) error {
129133
now := time.Now()
130134

131135
httpCtx := httpclient.Context{Ctx: ctx, UserRole: authAPI.AdminRole}
@@ -135,7 +139,7 @@ func (j *Job) SendTelemetry(ctx context.Context, logger *zap.Logger, workerConfi
135139
pluginsResponse, err := integrationClient.ListPlugins(&httpCtx)
136140
if err != nil {
137141
logger.Error("failed to list sources", zap.Error(err))
138-
return
142+
return err
139143
}
140144
for _, p := range pluginsResponse.Items {
141145
plugins = append(plugins, shared_entities.UsageTrackerPluginInfo{
@@ -148,18 +152,18 @@ func (j *Job) SendTelemetry(ctx context.Context, logger *zap.Logger, workerConfi
148152
users, err := authClient.ListUsers(&httpCtx)
149153
if err != nil {
150154
logger.Error("failed to list users", zap.Error(err))
151-
return
155+
return err
152156
}
153157
keys, err := authClient.ListApiKeys(&httpCtx)
154158
if err != nil {
155159
logger.Error("failed to list api keys", zap.Error(err))
156-
return
160+
return err
157161
}
158162

159163
about, err := coreClient.GetAbout(&httpCtx)
160164
if err != nil {
161165
logger.Error("failed to get about", zap.Error(err))
162-
return
166+
return err
163167
}
164168

165169
req := shared_entities.UsageTrackerRequest{
@@ -175,13 +179,14 @@ func (j *Job) SendTelemetry(ctx context.Context, logger *zap.Logger, workerConfi
175179
reqBytes, err := json.Marshal(req)
176180
if err != nil {
177181
logger.Error("failed to marshal telemetry request", zap.Error(err))
178-
return
182+
return err
179183
}
180184
var resp any
181185
if statusCode, err := httpclient.DoRequest(httpCtx.Ctx, http.MethodPost, UsageTrackerEndpoint, httpCtx.ToHeaders(), reqBytes, &resp); err != nil {
182186
logger.Error("failed to send telemetry", zap.Error(err), zap.Int("status_code", statusCode), zap.String("url", UsageTrackerEndpoint), zap.Any("req", req), zap.Any("resp", resp))
183-
return
187+
return err
184188
}
185189

186190
logger.Info("sent telemetry", zap.String("url", UsageTrackerEndpoint))
191+
return nil
187192
}

0 commit comments

Comments
 (0)