mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-08-12 13:39:00 +08:00
parent
f2f2069835
commit
fe0a4ab0cb
@ -139,6 +139,8 @@ func (lm *Manager) UsageExporter(ctx context.Context) {
|
|||||||
lm.CollectAndStoreUsage(ctx)
|
lm.CollectAndStoreUsage(ctx)
|
||||||
case <-uploadTicker.C:
|
case <-uploadTicker.C:
|
||||||
lm.UploadUsage(ctx)
|
lm.UploadUsage(ctx)
|
||||||
|
// remove the old snapshots
|
||||||
|
lm.repository.DropOldSnapshots(ctx)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@ import (
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
MaxFailedSyncCount = 9 // a snapshot will be ignored if the max failed count is greater than or equal to 9
|
MaxFailedSyncCount = 9 // a snapshot will be ignored if the max failed count is greater than or equal to 9
|
||||||
|
SnapShotLife = 3 * 24 * time.Hour
|
||||||
)
|
)
|
||||||
|
|
||||||
// Repository is usage Repository which stores usage snapshot in a secured DB
|
// Repository is usage Repository which stores usage snapshot in a secured DB
|
||||||
@ -111,6 +112,18 @@ func (r *Repository) GetSnapshotsNotSynced(ctx context.Context) ([]*model.Usage,
|
|||||||
return snapshots, nil
|
return snapshots, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r *Repository) DropOldSnapshots(ctx context.Context) error {
|
||||||
|
query := `delete from usage where created_at <= $1`
|
||||||
|
|
||||||
|
_, err := r.db.ExecContext(ctx, query, time.Now().Add(-(SnapShotLife)))
|
||||||
|
if err != nil {
|
||||||
|
zap.S().Errorf("failed to remove old snapshots from db: %v", zap.Error(err))
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// CheckSnapshotGtCreatedAt checks if there is any snapshot greater than the provided timestamp
|
// CheckSnapshotGtCreatedAt checks if there is any snapshot greater than the provided timestamp
|
||||||
func (r *Repository) CheckSnapshotGtCreatedAt(ctx context.Context, ts time.Time) (bool, error) {
|
func (r *Repository) CheckSnapshotGtCreatedAt(ctx context.Context, ts time.Time) (bool, error) {
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user