Skip to main content

QueryPlanStatistics

  • Namespace: PPDS.Dataverse.Query.Planning
  • Assembly: PPDS.Dataverse
  • Kind: Class

Summary

Mutable statistics collected during plan execution. Thread-safe for parallel node execution via Interlocked operations.

Members

Methods

AddExecutionTimeMs

void AddExecutionTimeMs(long ms)

Adds ms to PPDS.Dataverse.Query.Planning.QueryPlanStatistics.ExecutionTimeMs.

AddRowsOutput

void AddRowsOutput(long count)

Adds count to PPDS.Dataverse.Query.Planning.QueryPlanStatistics.RowsOutput.

AddRowsRead

void AddRowsRead(long count)

Adds count to PPDS.Dataverse.Query.Planning.QueryPlanStatistics.RowsRead.

IncrementPagesFetched

void IncrementPagesFetched()

Increments PPDS.Dataverse.Query.Planning.QueryPlanStatistics.PagesFetched by one.

IncrementRowsOutput

void IncrementRowsOutput()

Increments PPDS.Dataverse.Query.Planning.QueryPlanStatistics.RowsOutput by one.

IncrementRowsRead

void IncrementRowsRead()

Increments PPDS.Dataverse.Query.Planning.QueryPlanStatistics.RowsRead by one.

Properties

ExecutionTimeMs

long ExecutionTimeMs { get; }

Total execution time in milliseconds.

LastMoreRecords

bool LastMoreRecords { get; set; }

Whether more records are available after the last fetched page.

LastPageNumber

int LastPageNumber { get; set; }

Page number of the last fetched page.

LastPagingCookie

string LastPagingCookie { get; set; }

Paging cookie from the last fetched page (for caller-controlled paging).

LastTotalCount

Nullable<int> LastTotalCount { get; set; }

Total record count from the last fetched page, if requested.

NodeStats

ConcurrentDictionary<string, NodeStatistics> NodeStats { get; }

Per-node statistics keyed by node description.

PagesFetched

long PagesFetched { get; }

Total FetchXML pages fetched.

RowsOutput

long RowsOutput { get; }

Total rows output by the plan root.

RowsRead

long RowsRead { get; }

Total rows read from data sources.

SuppressPagingMetadata

bool SuppressPagingMetadata { get; set; }

When true, paging metadata writes are suppressed (parallel execution).