18class DiskAccessTracker {
42 TrackerStats& operator=(TrackerStats
const&);
43 TrackerStats(TrackerStats
const&);
47 struct WriteOperation {
58 WriteOperation& operator=(WriteOperation
const&);
59 WriteOperation(WriteOperation
const&);
84 DiskAccessTracker& operator=(DiskAccessTracker
const&);
85 DiskAccessTracker(DiskAccessTracker
const&);
91 MCNAPI
explicit DiskAccessTracker(::std::unique_ptr<::Core::DiskAccessDiagnostics> diagnostics);
96 MCNAPI
void _computeTrackerStats(
98 ::std::chrono::steady_clock::time_point byteWriteCalculationWindow,
99 ::std::chrono::steady_clock::time_point writeCountCalculationWindow
102 MCNAPI
void _setCurrentWriteThrottleTracker(
103 ::std::shared_ptr<::Core::WriteThrottledOS::OSWriteThrottleTracker> osWriteThrottleTracker
110 MCNAPI ::Core::DiskAccessTracker::TrackerStats computeMainTrackerStats(
111 ::std::chrono::nanoseconds byteWriteCalculationWindow,
112 ::std::chrono::nanoseconds writeCountCalculationWindow
115 MCNAPI
void computeTrackerStats(
117 ::std::chrono::nanoseconds byteWriteCalculationWindow,
118 ::std::chrono::nanoseconds writeCountCalculationWindow
121 MCNAPI
void setOSWriteThrottleTracker(
122 ::std::shared_ptr<::Core::WriteThrottledOS::OSWriteThrottleTracker> osWriteThrottleTracker
125 MCNAPI
void setOnBudgetAboveRecoverThreshold(
126 ::std::function<
void(::std::chrono::nanoseconds, uint64, ::std::optional<uint64>, ::std::string
const&)>
127 onBudgetAboveRecoverThreshold
130 MCNAPI
void setOnBudgetBelowLowThreshold(
131 ::std::function<
void(uint64,
double,
double, ::std::string
const&)> onBudgetBelowLowThreshold
134 MCNAPI
void setShouldRepeatLowTelemetryFunc(
136 shouldRepeatLowTelemetryFunc
139 MCNAPI
void showVerboseLogs(
bool showLogs);
141 MCNAPI
void update();
156 MCNAPI
void*
$ctor(::std::unique_ptr<::Core::DiskAccessDiagnostics> diagnostics);