Compare commits

...

7 Commits

Author SHA1 Message Date
neha-Gupta1
492c02e758 handle error conditions 2023-10-11 15:09:11 +05:30
neha-Gupta1
78347af93e Merge branch 'addErrorEvent' of https://github.com/alcionai/corso into addErrorEvent 2023-10-11 12:27:05 +05:30
neha-Gupta1
50d8e1af6b merge commit 2023-10-11 12:25:10 +05:30
neha_gupta
ec9c72be10
Merge branch 'main' into addErrorEvent 2023-10-10 18:50:00 +05:30
neha_gupta
7bca07e8a5
Merge branch 'main' into addErrorEvent 2023-10-06 14:02:43 +05:30
neha_gupta
3c30f56dfe
Merge branch 'main' into addErrorEvent 2023-10-06 10:52:51 +05:30
neha-Gupta1
46a4cc0d53 add corso error event 2023-10-05 20:56:10 +05:30
6 changed files with 70 additions and 44 deletions

View File

@ -45,11 +45,14 @@ const (
ItemsRead = "items_read"
ItemsWritten = "items_written"
Resources = "resources"
ResourcesName = "resources_name"
RestoreID = "restore_id"
ExportID = "export_id"
Service = "service"
StartTime = "start_time"
Status = "status"
Command = "command"
ErrorMessage = "error"
// default values for keys
RepoIDNotFound = "not_found"

View File

@ -248,19 +248,25 @@ func (op *BackupOperation) Run(ctx context.Context) (err error) {
"disable_assist_backup", op.disableAssistBackup)
defer func() {
data := map[string]any{
events.BackupID: op.Results.BackupID,
events.DataStored: op.Results.BytesUploaded,
events.Duration: op.Results.CompletedAt.Sub(op.Results.StartedAt),
events.EndTime: dttm.Format(op.Results.CompletedAt),
events.Resources: op.Results.ResourceOwners,
events.Service: op.Selectors.PathService().String(),
events.StartTime: dttm.Format(op.Results.StartedAt),
events.Status: op.Status.String(),
}
if op.Errors.Failure() != nil {
data[events.ErrorMessage] = op.Errors.Errors().Failure.Msg
}
op.bus.Event(
ctx,
events.BackupEnd,
map[string]any{
events.BackupID: op.Results.BackupID,
events.DataStored: op.Results.BytesUploaded,
events.Duration: op.Results.CompletedAt.Sub(op.Results.StartedAt),
events.EndTime: dttm.Format(op.Results.CompletedAt),
events.Resources: op.Results.ResourceOwners,
events.Service: op.Selectors.PathService().String(),
events.StartTime: dttm.Format(op.Results.StartedAt),
events.Status: op.Status.String(),
})
data)
}()
// -----

View File

@ -144,22 +144,28 @@ func (op *ExportOperation) Run(ctx context.Context) (
"service", op.Selectors.Service)
defer func() {
data := map[string]any{
events.BackupID: op.BackupID,
events.DataRetrieved: op.Results.BytesRead,
events.Duration: op.Results.CompletedAt.Sub(op.Results.StartedAt),
events.EndTime: dttm.Format(op.Results.CompletedAt),
events.ItemsRead: op.Results.ItemsRead,
events.ItemsWritten: op.Results.ItemsWritten,
events.Resources: op.Results.ResourceOwners,
events.ExportID: opStats.exportID,
events.Service: op.Selectors.Service.String(),
events.StartTime: dttm.Format(op.Results.StartedAt),
events.Status: op.Status.String(),
}
if op.Errors.Failure() != nil {
data[events.ErrorMessage] = op.Errors.Errors()
}
op.bus.Event(
ctx,
events.ExportEnd,
map[string]any{
events.BackupID: op.BackupID,
events.DataRetrieved: op.Results.BytesRead,
events.Duration: op.Results.CompletedAt.Sub(op.Results.StartedAt),
events.EndTime: dttm.Format(op.Results.CompletedAt),
events.ItemsRead: op.Results.ItemsRead,
events.ItemsWritten: op.Results.ItemsWritten,
events.Resources: op.Results.ResourceOwners,
events.ExportID: opStats.exportID,
events.Service: op.Selectors.Service.String(),
events.StartTime: dttm.Format(op.Results.StartedAt),
events.Status: op.Status.String(),
})
data)
}()
// -----

View File

@ -58,16 +58,22 @@ func (op *MaintenanceOperation) Run(ctx context.Context) (err error) {
op.Results.StartedAt = time.Now()
defer func() {
data := map[string]any{
events.StartTime: op.Results.StartedAt,
events.Duration: op.Results.CompletedAt.Sub(op.Results.StartedAt),
events.EndTime: dttm.Format(op.Results.CompletedAt),
events.Status: op.Status.String(),
events.Resources: op.mOpts.Type.String(),
}
if op.Errors.Failure() != nil {
data[events.ErrorMessage] = op.Errors.Errors()
}
op.bus.Event(
ctx,
events.MaintenanceEnd,
map[string]any{
events.StartTime: op.Results.StartedAt,
events.Duration: op.Results.CompletedAt.Sub(op.Results.StartedAt),
events.EndTime: dttm.Format(op.Results.CompletedAt),
events.Status: op.Status.String(),
events.Resources: op.mOpts.Type.String(),
})
data)
}()
return op.do(ctx)

View File

@ -146,22 +146,28 @@ func (op *RestoreOperation) Run(ctx context.Context) (restoreDetails *details.De
"destination_container", clues.Hide(op.RestoreCfg.Location))
defer func() {
data := map[string]any{
events.BackupID: op.BackupID,
events.DataRetrieved: op.Results.BytesRead,
events.Duration: op.Results.CompletedAt.Sub(op.Results.StartedAt),
events.EndTime: dttm.Format(op.Results.CompletedAt),
events.ItemsRead: op.Results.ItemsRead,
events.ItemsWritten: op.Results.ItemsWritten,
events.Resources: op.Results.ResourceOwners,
events.RestoreID: opStats.restoreID,
events.Service: op.Selectors.Service.String(),
events.StartTime: dttm.Format(op.Results.StartedAt),
events.Status: op.Status.String(),
}
if op.Errors.Failure() != nil {
data[events.ErrorMessage] = op.Errors.Errors()
}
op.bus.Event(
ctx,
events.RestoreEnd,
map[string]any{
events.BackupID: op.BackupID,
events.DataRetrieved: op.Results.BytesRead,
events.Duration: op.Results.CompletedAt.Sub(op.Results.StartedAt),
events.EndTime: dttm.Format(op.Results.CompletedAt),
events.ItemsRead: op.Results.ItemsRead,
events.ItemsWritten: op.Results.ItemsWritten,
events.Resources: op.Results.ResourceOwners,
events.RestoreID: opStats.restoreID,
events.Service: op.Selectors.Service.String(),
events.StartTime: dttm.Format(op.Results.StartedAt),
events.Status: op.Status.String(),
})
data)
}()
// -----

View File

@ -366,6 +366,5 @@ func (suite *RestoreOpIntegrationSuite) TestRestore_Run_errorNoBackup() {
require.Nil(t, ds, "restoreOp.Run() should not produce details")
assert.Zero(t, ro.Results.ResourceOwners, "resource owners")
assert.Zero(t, ro.Results.BytesRead, "bytes read")
// no restore start, because we'd need to find the backup first.
assert.Equal(t, 1, mb.TimesCalled[events.RestoreEnd], "restore-end events")
}