Skip to main content

ProgressSnapshot

  • Namespace: PPDS.Dataverse.Progress
  • Assembly: PPDS.Dataverse
  • Kind: Class

Summary

Immutable snapshot of progress state at a point in time.

Members

Properties

Elapsed

TimeSpan Elapsed { get; set; }

Gets the elapsed time since tracking started.

EstimatedCompletionUtc

DateTime EstimatedCompletionUtc { get; }

Gets the estimated completion time (UTC).

EstimatedRemaining

TimeSpan EstimatedRemaining { get; set; }

Gets the estimated time remaining based on overall rate. Returns System.TimeSpan.MaxValue if rate is zero.

Failed

long Failed { get; set; }

Gets the number of failed records.

InstantRatePerSecond

double InstantRatePerSecond { get; set; }

Gets the instantaneous processing rate (records per second) based on a rolling window. Warning: This value can fluctuate wildly in batch operations when multiple batches complete at once. For most display purposes, use instead.

OverallRatePerSecond

double OverallRatePerSecond { get; set; }

Gets the overall processing rate (records per second) since start. This is the stable rate used for ETA calculations. Same as PPDS.Dataverse.Progress.ProgressSnapshot.RatePerSecond.

PercentComplete

double PercentComplete { get; }

Gets the percentage complete (0-100).

Processed

long Processed { get; }

Gets the total number of processed records (succeeded + failed).

RatePerSecond

double RatePerSecond { get; }

Gets the processing rate (records per second) - total records divided by elapsed time. Use this rate for display and throughput reporting.

Remaining

long Remaining { get; }

Gets the remaining records to process.

Succeeded

long Succeeded { get; set; }

Gets the number of successfully processed records.

Total

long Total { get; set; }

Gets the total number of records to process.