package stats

import "github.com/ydb-platform/ydb-go-sdk/v3/internal/stats"

Index

Types

type CompilationStats

type CompilationStats struct {
	FromCache bool
	Duration  time.Duration
	CPUTime   time.Duration
}

CompilationStats holds query compilation statistics.

type OperationStats

type OperationStats struct {
	Rows  uint64
	Bytes uint64
}

type Phase

type Phase struct {
	Duration       time.Duration
	TableAccess    []TableAccess
	CPUTime        time.Duration
	AffectedShards uint64
	LiteralPhase   bool
}

type QueryPhase

type QueryPhase interface {
	// NextTableAccess returns next accessed table within query execution phase.
	// If ok flag is false, then there are no more accessed tables and t is invalid.
	NextTableAccess() (t *TableAccess, ok bool)
	// TableAccess is a range iterator over query execution phase's accessed tables.
	TableAccess() xiter.Seq[*TableAccess]
	Duration() time.Duration
	CPUTime() time.Duration
	AffectedShards() uint64
	IsLiteralPhase() bool
}

QueryPhase holds query execution phase statistics.

type QueryStats

type QueryStats interface {
	ProcessCPUTime() time.Duration
	Compilation() (c *CompilationStats)
	QueryPlan() string
	QueryAST() string
	TotalCPUTime() time.Duration
	TotalDuration() time.Duration

	// NextPhase returns next execution phase within query.
	// If ok flag is false, then there are no more phases and p is invalid.
	NextPhase() (p QueryPhase, ok bool)

	// QueryPhases is a range iterator over query phases.
	QueryPhases() xiter.Seq[QueryPhase]
}

QueryStats holds query execution statistics.

func FromQueryStats

func FromQueryStats(pb *Ydb_TableStats.QueryStats) QueryStats

type TableAccess

type TableAccess struct {
	Name            string
	Reads           OperationStats
	Updates         OperationStats
	Deletes         OperationStats
	PartitionsCount uint64
}

TableAccess contains query execution phase's table access statistics.

Source Files

query.go

Version
v3.104.1
Published
Mar 17, 2025
Platform
js/wasm
Imports
3 packages
Last checked
15 minutes ago

Tools for package owners.