Skip to content

Commit e199dd3

Browse files
committed
fix: Fix lock issue during monitoring input insertion
1 parent 551542c commit e199dd3

File tree

2 files changed

+22
-11
lines changed

2 files changed

+22
-11
lines changed

agent/app/repo/monitor.go

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,28 @@ func (u *MonitorRepo) CreateMonitorBase(model model.MonitorBase) error {
7373
return global.MonitorDB.Create(&model).Error
7474
}
7575
func (s *MonitorRepo) BatchCreateMonitorGPU(list []model.MonitorGPU) error {
76-
return global.GPUMonitorDB.CreateInBatches(&list, len(list)).Error
76+
for _, item := range list {
77+
if err := global.GPUMonitorDB.Create(&item).Error; err != nil {
78+
global.LOG.Errorf("create Monitor GPU record failed, err: %v", err)
79+
}
80+
}
81+
return nil
7782
}
78-
func (u *MonitorRepo) BatchCreateMonitorIO(ioList []model.MonitorIO) error {
79-
return global.MonitorDB.CreateInBatches(ioList, len(ioList)).Error
83+
func (u *MonitorRepo) BatchCreateMonitorIO(list []model.MonitorIO) error {
84+
for _, item := range list {
85+
if err := global.MonitorDB.Create(&item).Error; err != nil {
86+
global.LOG.Errorf("create Monitor IO record failed, err: %v", err)
87+
}
88+
}
89+
return nil
8090
}
81-
func (u *MonitorRepo) BatchCreateMonitorNet(ioList []model.MonitorNetwork) error {
82-
return global.MonitorDB.CreateInBatches(ioList, len(ioList)).Error
91+
func (u *MonitorRepo) BatchCreateMonitorNet(list []model.MonitorNetwork) error {
92+
for _, item := range list {
93+
if err := global.MonitorDB.Create(&item).Error; err != nil {
94+
global.LOG.Errorf("create Monitor Network record failed, err: %v", err)
95+
}
96+
}
97+
return nil
8398
}
8499
func (u *MonitorRepo) DelMonitorBase(timeForDelete time.Time) error {
85100
return global.MonitorDB.Where("created_at < ?", timeForDelete).Delete(&model.MonitorBase{}).Error

agent/app/service/monitor.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -414,9 +414,7 @@ func (m *MonitorService) saveIODataToDB(ctx context.Context, interval float64) {
414414
}
415415
}
416416
}
417-
if err := monitorRepo.BatchCreateMonitorIO(ioList); err != nil {
418-
global.LOG.Errorf("Insert io monitoring data failed, err: %v", err)
419-
}
417+
_ = monitorRepo.BatchCreateMonitorIO(ioList)
420418
m.DiskIO <- ioStat2
421419
}
422420
}
@@ -453,9 +451,7 @@ func (m *MonitorService) saveNetDataToDB(ctx context.Context, interval float64)
453451
}
454452
}
455453

456-
if err := monitorRepo.BatchCreateMonitorNet(netList); err != nil {
457-
global.LOG.Errorf("Insert network monitoring data failed, err: %v", err)
458-
}
454+
_ = monitorRepo.BatchCreateMonitorNet(netList)
459455
m.NetIO <- netStat2
460456
}
461457
}

0 commit comments

Comments
 (0)