@@ -115,7 +115,11 @@ func (j Job) Do(integrationClient client.IntegrationServiceClient, authClient au
115
115
errMsg = firstErr .Error ()
116
116
}
117
117
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
+ }
119
123
120
124
return JobResult {
121
125
JobID : j .JobID ,
@@ -125,7 +129,7 @@ func (j Job) Do(integrationClient client.IntegrationServiceClient, authClient au
125
129
}
126
130
127
131
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 {
129
133
now := time .Now ()
130
134
131
135
httpCtx := httpclient.Context {Ctx : ctx , UserRole : authAPI .AdminRole }
@@ -135,7 +139,7 @@ func (j *Job) SendTelemetry(ctx context.Context, logger *zap.Logger, workerConfi
135
139
pluginsResponse , err := integrationClient .ListPlugins (& httpCtx )
136
140
if err != nil {
137
141
logger .Error ("failed to list sources" , zap .Error (err ))
138
- return
142
+ return err
139
143
}
140
144
for _ , p := range pluginsResponse .Items {
141
145
plugins = append (plugins , shared_entities.UsageTrackerPluginInfo {
@@ -148,18 +152,18 @@ func (j *Job) SendTelemetry(ctx context.Context, logger *zap.Logger, workerConfi
148
152
users , err := authClient .ListUsers (& httpCtx )
149
153
if err != nil {
150
154
logger .Error ("failed to list users" , zap .Error (err ))
151
- return
155
+ return err
152
156
}
153
157
keys , err := authClient .ListApiKeys (& httpCtx )
154
158
if err != nil {
155
159
logger .Error ("failed to list api keys" , zap .Error (err ))
156
- return
160
+ return err
157
161
}
158
162
159
163
about , err := coreClient .GetAbout (& httpCtx )
160
164
if err != nil {
161
165
logger .Error ("failed to get about" , zap .Error (err ))
162
- return
166
+ return err
163
167
}
164
168
165
169
req := shared_entities.UsageTrackerRequest {
@@ -175,13 +179,14 @@ func (j *Job) SendTelemetry(ctx context.Context, logger *zap.Logger, workerConfi
175
179
reqBytes , err := json .Marshal (req )
176
180
if err != nil {
177
181
logger .Error ("failed to marshal telemetry request" , zap .Error (err ))
178
- return
182
+ return err
179
183
}
180
184
var resp any
181
185
if statusCode , err := httpclient .DoRequest (httpCtx .Ctx , http .MethodPost , UsageTrackerEndpoint , httpCtx .ToHeaders (), reqBytes , & resp ); err != nil {
182
186
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
184
188
}
185
189
186
190
logger .Info ("sent telemetry" , zap .String ("url" , UsageTrackerEndpoint ))
191
+ return nil
187
192
}
0 commit comments