step 4
This commit is contained in:
@@ -169,6 +169,44 @@ bool HealthTelemetry::TryRecordRuntimeEventDispatchStats(std::size_t dispatchedE
|
||||
return true;
|
||||
}
|
||||
|
||||
void HealthTelemetry::RecordPersistenceWriteResult(bool succeeded, const std::string& targetKind, const std::string& targetPath,
|
||||
const std::string& reason, const std::string& errorMessage, bool newerRequestPending)
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(mMutex);
|
||||
if (succeeded)
|
||||
++mPersistence.writeSuccessCount;
|
||||
else
|
||||
++mPersistence.writeFailureCount;
|
||||
mPersistence.lastWriteSucceeded = succeeded;
|
||||
mPersistence.unsavedChanges = !succeeded || newerRequestPending;
|
||||
mPersistence.newerRequestPending = newerRequestPending;
|
||||
mPersistence.lastTargetKind = targetKind;
|
||||
mPersistence.lastTargetPath = targetPath;
|
||||
mPersistence.lastReason = reason;
|
||||
mPersistence.lastErrorMessage = errorMessage;
|
||||
}
|
||||
|
||||
bool HealthTelemetry::TryRecordPersistenceWriteResult(bool succeeded, const std::string& targetKind, const std::string& targetPath,
|
||||
const std::string& reason, const std::string& errorMessage, bool newerRequestPending)
|
||||
{
|
||||
std::unique_lock<std::mutex> lock(mMutex, std::try_to_lock);
|
||||
if (!lock.owns_lock())
|
||||
return false;
|
||||
|
||||
if (succeeded)
|
||||
++mPersistence.writeSuccessCount;
|
||||
else
|
||||
++mPersistence.writeFailureCount;
|
||||
mPersistence.lastWriteSucceeded = succeeded;
|
||||
mPersistence.unsavedChanges = !succeeded || newerRequestPending;
|
||||
mPersistence.newerRequestPending = newerRequestPending;
|
||||
mPersistence.lastTargetKind = targetKind;
|
||||
mPersistence.lastTargetPath = targetPath;
|
||||
mPersistence.lastReason = reason;
|
||||
mPersistence.lastErrorMessage = errorMessage;
|
||||
return true;
|
||||
}
|
||||
|
||||
HealthTelemetry::SignalStatusSnapshot HealthTelemetry::GetSignalStatusSnapshot() const
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(mMutex);
|
||||
@@ -193,6 +231,12 @@ HealthTelemetry::RuntimeEventMetricsSnapshot HealthTelemetry::GetRuntimeEventMet
|
||||
return mRuntimeEvents;
|
||||
}
|
||||
|
||||
HealthTelemetry::PersistenceSnapshot HealthTelemetry::GetPersistenceSnapshot() const
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(mMutex);
|
||||
return mPersistence;
|
||||
}
|
||||
|
||||
HealthTelemetry::Snapshot HealthTelemetry::GetSnapshot() const
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(mMutex);
|
||||
@@ -202,5 +246,6 @@ HealthTelemetry::Snapshot HealthTelemetry::GetSnapshot() const
|
||||
snapshot.videoIO = mVideoIOStatus;
|
||||
snapshot.performance = mPerformance;
|
||||
snapshot.runtimeEvents = mRuntimeEvents;
|
||||
snapshot.persistence = mPersistence;
|
||||
return snapshot;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user