Fix OOM report generated on clean shutdown

This commit is contained in:
世界
2026-09-21 12:30:41 +08:00
parent 78afbb2e62
commit 1ea3bb4563
2 changed files with 1 additions and 18 deletions
+1 -14
View File
@@ -64,7 +64,6 @@ type RecorderOptions struct {
type ReportStatus struct {
StartedAt time.Time
RecordedAt time.Time
EndedAt time.Time
MemoryLimit uint64
PeakMemory uint64
MinAvailable uint64
@@ -87,7 +86,6 @@ type Recorder struct {
closed bool
draftCreated bool
draftLock *os.File
notable bool
status ReportStatus
lastRowAt time.Time
lastRowState pressureState
@@ -200,16 +198,8 @@ func (r *Recorder) Close() error {
if !r.draftCreated {
return nil
}
if !r.notable {
r.releaseDraftLocked()
return os.RemoveAll(r.draftPath)
}
r.status.EndedAt = time.Now()
r.writeLogLocked()
r.writeMetadataLocked()
r.releaseDraftLocked()
promoteDirectory(r.draftPath, filepath.Join(r.basePath, ReportsDirectoryName))
return nil
return os.RemoveAll(r.draftPath)
}
func (r *Recorder) releaseDraftLocked() {
@@ -328,7 +318,6 @@ func (r *Recorder) sample(sample memorySample, state pressureState, connections
func (r *Recorder) recordPressure(sample memorySample) {
r.access.Lock()
defer r.access.Unlock()
r.notable = true
r.observeLocked(sample)
r.denseUntil = time.Now().Add(denseSampleWindow)
r.appendEventLocked(eventRecord{Type: eventTypePressure, MemoryBytes: sample.usage, AvailableBytes: sample.available})
@@ -345,7 +334,6 @@ func (r *Recorder) recordStateChange(state pressureState, sample memorySample) {
func (r *Recorder) recordReset(reason string, before memorySample, after memorySample, connections int, reportOnly bool) {
r.access.Lock()
defer r.access.Unlock()
r.notable = true
r.observeLocked(before)
r.denseUntil = time.Now().Add(denseSampleWindow)
r.appendEventLocked(eventRecord{
@@ -421,7 +409,6 @@ func (r *Recorder) snapshot(reason string, sample memorySample, force bool) erro
}
r.access.Lock()
defer r.access.Unlock()
r.notable = true
r.status.Snapshots = sequence
r.observeLocked(sample)
r.writeLogLocked()