Add logs for method DataCollection.Save.

This commit is contained in:
Владислав Весельский 2024-03-13 15:24:09 +03:00
parent b61bdcf676
commit a4e2984934
1 changed files with 18 additions and 3 deletions

View File

@ -8,6 +8,7 @@ import (
"git.bit5.ru/backend/meta" "git.bit5.ru/backend/meta"
"go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/attribute"
"go.opentelemetry.io/otel/codes"
) )
type DataCollection struct { type DataCollection struct {
@ -41,7 +42,10 @@ func (coll *DataCollection) Save(ctx context.Context) error {
fields := coll.GetDbFields() fields := coll.GetDbFields()
countFields := len(fields) countFields := len(fields)
if countFields == 0 { if countFields == 0 {
return errors.New("Fields list is empty") err := errors.New("Fields list is empty")
span.RecordError(err)
span.SetStatus(codes.Error, err.Error())
return err
} }
countRows := len(coll.Items) countRows := len(coll.Items)
@ -60,10 +64,21 @@ func (coll *DataCollection) Save(ctx context.Context) error {
// NOTE: performance fix: if none of rows have mask we can save all data by one sql query // NOTE: performance fix: if none of rows have mask we can save all data by one sql query
if allDataWithoutMask { if allDataWithoutMask {
return coll.saveWithoutMask(ctx) if err := coll.saveWithoutMask(ctx); err != nil {
span.RecordError(err)
span.SetStatus(codes.Error, err.Error())
return err
}
return nil
} }
return coll.saveByMask(ctx) if err := coll.saveByMask(ctx); err != nil {
span.RecordError(err)
span.SetStatus(codes.Error, err.Error())
return err
}
return nil
} }
func (coll *DataCollection) saveByMask(ctx context.Context) error { func (coll *DataCollection) saveByMask(ctx context.Context) error {