mirror of
https://github.com/SagerNet/sing-box.git
synced 2026-10-23 21:01:50 +00:00
Fix OOM report generated on clean shutdown
Some checks are pending
Build / Calculate version (push) Waiting to run
Build / Build binary (push) Blocked by required conditions
Build / Build binary-1 (push) Blocked by required conditions
Build / Build binary-2 (push) Blocked by required conditions
Build / Build binary-3 (push) Blocked by required conditions
Build / Build binary-4 (push) Blocked by required conditions
Build / Build binary-5 (push) Blocked by required conditions
Build / Build binary-6 (push) Blocked by required conditions
Build / Build binary-7 (push) Blocked by required conditions
Build / Build binary-8 (push) Blocked by required conditions
Build / Build binary-9 (push) Blocked by required conditions
Build / Build binary-10 (push) Blocked by required conditions
Build / Build binary-11 (push) Blocked by required conditions
Build / Build binary-12 (push) Blocked by required conditions
Build / Build binary-13 (push) Blocked by required conditions
Build / Build binary-14 (push) Blocked by required conditions
Build / Build binary-15 (push) Blocked by required conditions
Build / Build binary-16 (push) Blocked by required conditions
Build / Build binary-17 (push) Blocked by required conditions
Build / Build binary-18 (push) Blocked by required conditions
Build / Build binary-19 (push) Blocked by required conditions
Build / Build binary-20 (push) Blocked by required conditions
Build / Build binary-21 (push) Blocked by required conditions
Build / Build binary-22 (push) Blocked by required conditions
Build / Build binary-23 (push) Blocked by required conditions
Build / Build binary-24 (push) Blocked by required conditions
Build / Build binary-25 (push) Blocked by required conditions
Build / Build binary-26 (push) Blocked by required conditions
Build / Build binary-27 (push) Blocked by required conditions
Build / Build binary-28 (push) Blocked by required conditions
Build / Build binary-29 (push) Blocked by required conditions
Build / Build binary-30 (push) Blocked by required conditions
Build / Build binary-31 (push) Blocked by required conditions
Build / Build binary-32 (push) Blocked by required conditions
Build / Build binary-33 (push) Blocked by required conditions
Build / Build binary-34 (push) Blocked by required conditions
Build / Build binary-35 (push) Blocked by required conditions
Build / Build binary-36 (push) Blocked by required conditions
Build / Build binary-37 (push) Blocked by required conditions
Build / Build Darwin binaries (push) Blocked by required conditions
Build / Build Darwin binaries-1 (push) Blocked by required conditions
Build / Build Darwin binaries-2 (push) Blocked by required conditions
Build / Build Windows binaries (push) Blocked by required conditions
Build / Build Windows binaries-1 (push) Blocked by required conditions
Build / Build Windows binaries-2 (push) Blocked by required conditions
Build / Build Android library (386) (push) Blocked by required conditions
Build / Build Android library (amd64) (push) Blocked by required conditions
Build / Build Android library (arm) (push) Blocked by required conditions
Build / Build Android library (arm64) (push) Blocked by required conditions
Build / Build Android (other) (push) Blocked by required conditions
Build / Build Android (other-legacy) (push) Blocked by required conditions
Build / Publish Android (push) Blocked by required conditions
Build / Build Windows client (arm64) (push) Blocked by required conditions
Build / Build Windows client (x64) (push) Blocked by required conditions
Build / Build Windows client (x86) (push) Blocked by required conditions
Build / Build Linux client (arm64) (push) Blocked by required conditions
Build / Build Linux client (armv7l) (push) Blocked by required conditions
Build / Build Linux client (x64) (push) Blocked by required conditions
Build / Build Apple library (ios-arm64) (push) Blocked by required conditions
Build / Build Apple library (macos-amd64) (push) Blocked by required conditions
Build / Build Apple library (macos-arm64) (push) Blocked by required conditions
Build / Build Apple library (tvos-arm64) (push) Blocked by required conditions
Build / Build Apple release clients (push) Blocked by required conditions
Build / Build Apple release clients-1 (push) Blocked by required conditions
Build / Build Apple App Store clients (push) Blocked by required conditions
Build / Build Apple App Store clients-1 (push) Blocked by required conditions
Build / Build Apple App Store clients-2 (push) Blocked by required conditions
Build / Upload builds (push) Blocked by required conditions
Build / Cache GC (push) Blocked by required conditions
Some checks are pending
Build / Calculate version (push) Waiting to run
Build / Build binary (push) Blocked by required conditions
Build / Build binary-1 (push) Blocked by required conditions
Build / Build binary-2 (push) Blocked by required conditions
Build / Build binary-3 (push) Blocked by required conditions
Build / Build binary-4 (push) Blocked by required conditions
Build / Build binary-5 (push) Blocked by required conditions
Build / Build binary-6 (push) Blocked by required conditions
Build / Build binary-7 (push) Blocked by required conditions
Build / Build binary-8 (push) Blocked by required conditions
Build / Build binary-9 (push) Blocked by required conditions
Build / Build binary-10 (push) Blocked by required conditions
Build / Build binary-11 (push) Blocked by required conditions
Build / Build binary-12 (push) Blocked by required conditions
Build / Build binary-13 (push) Blocked by required conditions
Build / Build binary-14 (push) Blocked by required conditions
Build / Build binary-15 (push) Blocked by required conditions
Build / Build binary-16 (push) Blocked by required conditions
Build / Build binary-17 (push) Blocked by required conditions
Build / Build binary-18 (push) Blocked by required conditions
Build / Build binary-19 (push) Blocked by required conditions
Build / Build binary-20 (push) Blocked by required conditions
Build / Build binary-21 (push) Blocked by required conditions
Build / Build binary-22 (push) Blocked by required conditions
Build / Build binary-23 (push) Blocked by required conditions
Build / Build binary-24 (push) Blocked by required conditions
Build / Build binary-25 (push) Blocked by required conditions
Build / Build binary-26 (push) Blocked by required conditions
Build / Build binary-27 (push) Blocked by required conditions
Build / Build binary-28 (push) Blocked by required conditions
Build / Build binary-29 (push) Blocked by required conditions
Build / Build binary-30 (push) Blocked by required conditions
Build / Build binary-31 (push) Blocked by required conditions
Build / Build binary-32 (push) Blocked by required conditions
Build / Build binary-33 (push) Blocked by required conditions
Build / Build binary-34 (push) Blocked by required conditions
Build / Build binary-35 (push) Blocked by required conditions
Build / Build binary-36 (push) Blocked by required conditions
Build / Build binary-37 (push) Blocked by required conditions
Build / Build Darwin binaries (push) Blocked by required conditions
Build / Build Darwin binaries-1 (push) Blocked by required conditions
Build / Build Darwin binaries-2 (push) Blocked by required conditions
Build / Build Windows binaries (push) Blocked by required conditions
Build / Build Windows binaries-1 (push) Blocked by required conditions
Build / Build Windows binaries-2 (push) Blocked by required conditions
Build / Build Android library (386) (push) Blocked by required conditions
Build / Build Android library (amd64) (push) Blocked by required conditions
Build / Build Android library (arm) (push) Blocked by required conditions
Build / Build Android library (arm64) (push) Blocked by required conditions
Build / Build Android (other) (push) Blocked by required conditions
Build / Build Android (other-legacy) (push) Blocked by required conditions
Build / Publish Android (push) Blocked by required conditions
Build / Build Windows client (arm64) (push) Blocked by required conditions
Build / Build Windows client (x64) (push) Blocked by required conditions
Build / Build Windows client (x86) (push) Blocked by required conditions
Build / Build Linux client (arm64) (push) Blocked by required conditions
Build / Build Linux client (armv7l) (push) Blocked by required conditions
Build / Build Linux client (x64) (push) Blocked by required conditions
Build / Build Apple library (ios-arm64) (push) Blocked by required conditions
Build / Build Apple library (macos-amd64) (push) Blocked by required conditions
Build / Build Apple library (macos-arm64) (push) Blocked by required conditions
Build / Build Apple library (tvos-arm64) (push) Blocked by required conditions
Build / Build Apple release clients (push) Blocked by required conditions
Build / Build Apple release clients-1 (push) Blocked by required conditions
Build / Build Apple App Store clients (push) Blocked by required conditions
Build / Build Apple App Store clients-1 (push) Blocked by required conditions
Build / Build Apple App Store clients-2 (push) Blocked by required conditions
Build / Upload builds (push) Blocked by required conditions
Build / Cache GC (push) Blocked by required conditions
This commit is contained in:
parent
78afbb2e62
commit
1ea3bb4563
2 changed files with 1 additions and 18 deletions
|
|
@ -31,7 +31,6 @@ var oomReportProfiles = []string{
|
|||
type oomReportMetadata struct {
|
||||
reportMetadata
|
||||
RecordedAt string `json:"recordedAt"`
|
||||
EndedAt string `json:"endedAt,omitempty"`
|
||||
MemoryLimit string `json:"memoryLimit,omitempty"`
|
||||
MemoryUsage string `json:"memoryUsage"`
|
||||
AvailableMemory string `json:"availableMemory,omitempty"`
|
||||
|
|
@ -51,9 +50,6 @@ func OOMRecorderOptions(startedService *daemon.StartedService) oomkiller.Recorde
|
|||
Snapshots: status.Snapshots,
|
||||
}
|
||||
metadata.StartedAt = status.StartedAt.UTC().Format(time.RFC3339)
|
||||
if !status.EndedAt.IsZero() {
|
||||
metadata.EndedAt = status.EndedAt.UTC().Format(time.RFC3339)
|
||||
}
|
||||
if status.MemoryLimit > 0 {
|
||||
metadata.MemoryLimit = byteformats.FormatMemoryBytes(status.MemoryLimit)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue