-
Notifications
You must be signed in to change notification settings - Fork 2
files core monitor diskprocesssampler swift db42b85d
ventaphobia edited this page Apr 23, 2026
·
1 revision
- Area: Core app.
- This page records the file's current repository role, source metadata, and recent commit history.
- Review nearby tests and commit pages before changing this file.
| Field | Value |
|---|---|
| Source path | Core-Monitor/DiskProcessSampler.swift |
| Wiki area | Core app |
| Exists in current checkout | True |
| Size | 8283 bytes |
| Binary | False |
| Line count | 239 |
| Extension | .swift |
AppKit, Combine, Darwin, Foundation
| Kind | Name | Line |
|---|---|---|
| struct | DiskProcessActivity |
5 |
| struct | DiskProcessCounter |
29 |
| enum | DiskProcessSampling |
36 |
| class | DiskProcessSampler |
144 |
| func | start |
162 |
| func | stop |
190 |
| func | sample |
211 |
| Commit | Date | Subject |
|---|---|---|
3094642 |
2026-04-16 | Cache disk activity away from menu bar renders |
- Prefer focused changes that respect the ownership described above.
- If this file touches helper trust, SMC writes, startup, or permissions, update the relevant support docs and tests.
- If this file is generated or an asset manifest, verify the producing workflow instead of hand-editing generated payloads.
import AppKit
import Combine
import Darwin
import Foundation
struct DiskProcessActivity: Identifiable, Equatable {
let name: String
let readBytes: UInt64
let writtenBytes: UInt64
var id: String { name }
var totalBytes: UInt64 { readBytes + writtenBytes }
var readLabel: String { Self.formatBytes(readBytes) }
var writeLabel: String { Self.formatBytes(writtenBytes) }
static func formatBytes(_ bytes: UInt64) -> String {
switch bytes {
case 0..<1024:
return "\(bytes)B"
case 1024..<1_048_576:
return String(format: "%.0fK", Double(bytes) / 1024.0)
case 1_048_576..<1_073_741_824:
return String(format: "%.1fM", Double(bytes) / 1_048_576.0)
default:
return String(format: "%.1fG", Double(bytes) / 1_073_741_824.0)
}
}
}
struct DiskProcessCounter: Equatable {
let pid: pid_t
let name: String
let readBytes: UInt64
let writtenBytes: UInt64
}
enum DiskProcessSampling {
static func activities(
from counters: [DiskProcessCounter],
previousCounters: [pid_t: DiskProcessCounter],
- Home
- Start Here
- Product Overview
- Runtime Architecture
- Monitoring Pipeline
- Fan Control
- Privileged Helper
- Touch Bar
- Release Automation
- Security Model
- File Index (279)
- Every Commit (401)
- Chronological Change Log
- Removed Parts
- All Deleted Paths
- Branches And Tags
- Wiki Manifest
- Start Here
- Product Overview
- Source Map
- Runtime Architecture
- App Startup And Lifecycle
- Dashboard Architecture
- Menu Bar Architecture
- Monitoring Pipeline
- Snapshot Trends And Freshness
- CPU GPU Memory Disk Network
- Battery Power And Thermals
- SMC And Apple Silicon
- Fan Control
- Custom Fan Curves
- Privileged Helper
- XPC Trust Boundary
- Helper Diagnostics
- Touch Bar Architecture
- Touch Bar Customization
- Weather And Location
- Privacy And Permissions
- Onboarding And Help
- Legacy Alerts
- Kernel Panic Weird Mode