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.