|
@@ -306,6 +306,7 @@ func (c *Client) CreateAlertBulk(machineId string, alertList []*models.Alert) ([
|
|
c.Log.Debugf("writing %d items", len(alertList))
|
|
c.Log.Debugf("writing %d items", len(alertList))
|
|
bulk := make([]*ent.AlertCreate, 0, bulkSize)
|
|
bulk := make([]*ent.AlertCreate, 0, bulkSize)
|
|
alertDecisions := make([][]*ent.Decision, 0, bulkSize)
|
|
alertDecisions := make([][]*ent.Decision, 0, bulkSize)
|
|
|
|
+ alertLoopStart := time.Now()
|
|
for i, alertItem := range alertList {
|
|
for i, alertItem := range alertList {
|
|
var decisions []*ent.Decision
|
|
var decisions []*ent.Decision
|
|
var metas []*ent.Meta
|
|
var metas []*ent.Meta
|
|
@@ -524,12 +525,16 @@ func (c *Client) CreateAlertBulk(machineId string, alertList []*models.Alert) ([
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ c.Log.Tracef("alert loop took %s for %d elements", time.Since(alertLoopStart), len(alertList))
|
|
|
|
|
|
|
|
+ createBulkStart := time.Now()
|
|
alerts, err := c.Ent.Alert.CreateBulk(bulk...).Save(c.CTX)
|
|
alerts, err := c.Ent.Alert.CreateBulk(bulk...).Save(c.CTX)
|
|
if err != nil {
|
|
if err != nil {
|
|
return []string{}, errors.Wrapf(BulkError, "leftovers creating alert : %s", err)
|
|
return []string{}, errors.Wrapf(BulkError, "leftovers creating alert : %s", err)
|
|
}
|
|
}
|
|
|
|
+ c.Log.Infof("createBulk took %s for %d elements", time.Since(createBulkStart), len(bulk))
|
|
|
|
|
|
|
|
+ decisionsUpdateTime := time.Now()
|
|
for alertIndex, a := range alerts {
|
|
for alertIndex, a := range alerts {
|
|
ret = append(ret, strconv.Itoa(a.ID))
|
|
ret = append(ret, strconv.Itoa(a.ID))
|
|
d := alertDecisions[alertIndex]
|
|
d := alertDecisions[alertIndex]
|
|
@@ -542,6 +547,8 @@ func (c *Client) CreateAlertBulk(machineId string, alertList []*models.Alert) ([
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ c.Log.Infof("decisions update took %s for %d elements", time.Since(decisionsUpdateTime), len(alerts))
|
|
|
|
+
|
|
return ret, nil
|
|
return ret, nil
|
|
}
|
|
}
|
|
|
|
|
|
@@ -888,7 +895,12 @@ func (c *Client) DeleteAlertWithFilter(filter map[string][]string) (int, error)
|
|
return 0, errors.Wrap(DeleteFail, "alert query failed")
|
|
return 0, errors.Wrap(DeleteFail, "alert query failed")
|
|
}
|
|
}
|
|
|
|
|
|
- for _, alertItem := range alertsToDelete {
|
|
|
|
|
|
+ c.Log.Debugf("Deleting %d alerts", len(alertsToDelete))
|
|
|
|
+
|
|
|
|
+ for p, alertItem := range alertsToDelete {
|
|
|
|
+ if p%100 == 0 {
|
|
|
|
+ c.Log.Debugf("Deleting alert %d", p)
|
|
|
|
+ }
|
|
err = c.DeleteAlertGraph(alertItem)
|
|
err = c.DeleteAlertGraph(alertItem)
|
|
if err != nil {
|
|
if err != nil {
|
|
c.Log.Warningf("DeleteAlertWithFilter : %s", err)
|
|
c.Log.Warningf("DeleteAlertWithFilter : %s", err)
|