Skip to content

Commit c2831be

Browse files
committed
error handling
1 parent 0db6568 commit c2831be

File tree

4 files changed

+18
-12
lines changed

4 files changed

+18
-12
lines changed

client/telemetry/TelemetryEventClientExtended.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,11 @@ func (impl *TelemetryEventClientImplExtended) getCiBuildTypeData() (int, int, in
407407
func (impl *TelemetryEventClientImplExtended) getCiBuildTypeVsStatusVsCount() (successCount map[bean.CiBuildType]int, failureCount map[bean.CiBuildType]int) {
408408
successCount = make(map[bean.CiBuildType]int)
409409
failureCount = make(map[bean.CiBuildType]int)
410-
buildTypeAndStatusVsCount := impl.ciWorkflowRepository.FindBuildTypeAndStatusDataOfLast1Day()
410+
buildTypeAndStatusVsCount, err := impl.ciWorkflowRepository.FindBuildTypeAndStatusDataOfLast1Day()
411+
if err != nil {
412+
impl.logger.Errorw("error getting build type vs status vs count data", "err", err)
413+
return successCount, failureCount
414+
}
411415
for _, buildTypeCount := range buildTypeAndStatusVsCount {
412416
if buildTypeCount == nil {
413417
continue

client/telemetry/telemetryQueriesExtended.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ func (impl *TelemetryEventClientImplExtended) getJobCount() int {
2727

2828
func (impl *TelemetryEventClientImplExtended) getJobPipelineTriggeredLast24h() int {
2929
// Get build type and status data for the last 24 hours
30-
buildTypeStatusData := impl.ciWorkflowRepository.FindBuildTypeAndStatusDataOfLast1Day()
31-
if buildTypeStatusData == nil {
30+
buildTypeStatusData, err := impl.ciWorkflowRepository.FindBuildTypeAndStatusDataOfLast1Day()
31+
if err != nil {
3232
impl.logger.Warnw("no build type status data available for last 24 hours")
33-
return 0
33+
return -1
3434
}
3535

3636
// Count job pipeline triggers
@@ -47,10 +47,10 @@ func (impl *TelemetryEventClientImplExtended) getJobPipelineTriggeredLast24h() i
4747

4848
func (impl *TelemetryEventClientImplExtended) getJobPipelineSucceededLast24h() int {
4949
// Get build type and status data for the last 24 hours
50-
buildTypeStatusData := impl.ciWorkflowRepository.FindBuildTypeAndStatusDataOfLast1Day()
51-
if buildTypeStatusData == nil {
50+
buildTypeStatusData, err := impl.ciWorkflowRepository.FindBuildTypeAndStatusDataOfLast1Day()
51+
if err != nil {
5252
impl.logger.Warnw("no build type status data available for last 24 hours")
53-
return 0
53+
return -1
5454
}
5555

5656
// Count successful job pipeline runs
@@ -71,7 +71,7 @@ func (impl *TelemetryEventClientImplExtended) getUserCreatedPluginCount() int {
7171
plugins, err := impl.pluginRepository.GetAllPluginMinDataByType(string(pluginRepository.PLUGIN_TYPE_SHARED))
7272
if err != nil {
7373
impl.logger.Errorw("error getting user created plugin count", "err", err)
74-
return 0
74+
return -1
7575
}
7676

7777
return len(plugins)

internal/sql/repository/pipelineConfig/CiWorkflowRepository.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ type CiWorkflowRepository interface {
4545
FindLastTriggeredWorkflowGitTriggersByArtifactId(ciArtifactId int) (ciWorkflow *CiWorkflow, err error)
4646
FindLastTriggeredWorkflowGitTriggersByArtifactIds(ciArtifactIds []int) ([]*WorkflowWithArtifact, error)
4747
ExistsByStatus(status string) (bool, error)
48-
FindBuildTypeAndStatusDataOfLast1Day() []*BuildTypeCount
48+
FindBuildTypeAndStatusDataOfLast1Day() ([]*BuildTypeCount, error)
4949
FIndCiWorkflowStatusesByAppId(appId int) ([]*CiWorkflowStatus, error)
5050

5151
MigrateIsArtifactUploaded(wfId int, isArtifactUploaded bool)
@@ -347,14 +347,15 @@ func (impl *CiWorkflowRepositoryImpl) ExistsByStatus(status string) (bool, error
347347
return exists, err
348348
}
349349

350-
func (impl *CiWorkflowRepositoryImpl) FindBuildTypeAndStatusDataOfLast1Day() []*BuildTypeCount {
350+
func (impl *CiWorkflowRepositoryImpl) FindBuildTypeAndStatusDataOfLast1Day() ([]*BuildTypeCount, error) {
351351
var buildTypeCounts []*BuildTypeCount
352352
query := "select status,ci_build_type as type, count(*) from ci_workflow where status in ('Succeeded','Failed') and started_on > ? group by (ci_build_type, status)"
353353
_, err := impl.dbConnection.Query(&buildTypeCounts, query, time.Now().AddDate(0, 0, -1))
354354
if err != nil {
355355
impl.logger.Errorw("error occurred while fetching build type vs status vs count data", "err", err)
356+
return nil, err
356357
}
357-
return buildTypeCounts
358+
return buildTypeCounts, nil
358359
}
359360

360361
func (impl *CiWorkflowRepositoryImpl) FIndCiWorkflowStatusesByAppId(appId int) ([]*CiWorkflowStatus, error) {
@@ -372,6 +373,7 @@ func (impl *CiWorkflowRepositoryImpl) FIndCiWorkflowStatusesByAppId(appId int) (
372373
_, err := impl.dbConnection.Query(&ciworkflowStatuses, query, appId) //, pg.In(ciPipelineIds))
373374
if err != nil {
374375
impl.logger.Errorw("error occurred while fetching build type vs status vs count data", "err", err)
376+
return ciworkflowStatuses, err
375377
}
376378
return ciworkflowStatuses, err
377379
}

internal/sql/repository/pipelineConfig/CiWorkflowRepository_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func TestCiWorkflowRepository(t *testing.T) {
3232
con, _ := sql.NewDbConnection(cfg, logger)
3333
assert.Nil(t, err)
3434
workflowRepositoryImpl := NewCiWorkflowRepositoryImpl(con, logger)
35-
statusData := workflowRepositoryImpl.FindBuildTypeAndStatusDataOfLast1Day()
35+
statusData, _ := workflowRepositoryImpl.FindBuildTypeAndStatusDataOfLast1Day()
3636
for _, statusDatum := range statusData {
3737
fmt.Println(statusDatum.Count)
3838
}

0 commit comments

Comments
 (0)