Documentation
¶
Index ¶
- type QueryStatus
- type Registry
- func (r *Registry) ActiveCount() int
- func (r *Registry) Cancel(queryID string) bool
- func (r *Registry) Complete(queryID string, rowCount int)
- func (r *Registry) Fail(queryID string, errMsg string)
- func (r *Registry) GetActive() []*TrackedQuery
- func (r *Registry) GetHistory(limit int) []*TrackedQuery
- func (r *Registry) GetQuery(queryID string) *TrackedQuery
- func (r *Registry) HistoryLen() int
- func (r *Registry) Register(parentCtx context.Context, sql string, tokenID int64, tokenName string, ...) (string, context.Context)
- func (r *Registry) TimedOut(queryID string)
- type RegistryConfig
- type TrackedQuery
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type QueryStatus ¶
type QueryStatus string
QueryStatus represents the lifecycle state of a tracked query.
const ( StatusRunning QueryStatus = "running" StatusCompleted QueryStatus = "completed" StatusCancelled QueryStatus = "cancelled" StatusFailed QueryStatus = "failed" StatusTimedOut QueryStatus = "timed_out" )
type Registry ¶
type Registry struct {
// contains filtered or unexported fields
}
Registry tracks active and recently completed queries.
func NewRegistry ¶
func NewRegistry(cfg *RegistryConfig, logger zerolog.Logger) *Registry
NewRegistry creates a new query registry.
func (*Registry) ActiveCount ¶
ActiveCount returns the number of currently running queries.
func (*Registry) Cancel ¶
Cancel cancels a running query by ID. Returns true if the query was found and cancelled.
func (*Registry) GetActive ¶
func (r *Registry) GetActive() []*TrackedQuery
GetActive returns a snapshot of all active queries.
func (*Registry) GetHistory ¶
func (r *Registry) GetHistory(limit int) []*TrackedQuery
GetHistory returns a snapshot of the most recent completed queries (newest first).
func (*Registry) GetQuery ¶
func (r *Registry) GetQuery(queryID string) *TrackedQuery
GetQuery returns a specific query by ID (checks active then history).
func (*Registry) HistoryLen ¶
HistoryLen returns the number of queries in the history buffer.
func (*Registry) Register ¶
func (r *Registry) Register(parentCtx context.Context, sql string, tokenID int64, tokenName string, remoteAddr string, isParallel bool, partitionCount int) (string, context.Context)
Register registers a new active query. Returns the query ID and a context derived from parentCtx that can be cancelled via Cancel().
type RegistryConfig ¶
type RegistryConfig struct {
HistorySize int // Ring buffer size for completed queries (default: 100)
}
RegistryConfig holds configuration for the query registry.
type TrackedQuery ¶
type TrackedQuery struct {
ID string `json:"id"`
SQL string `json:"sql"`
TokenID int64 `json:"token_id,omitempty"`
TokenName string `json:"token_name,omitempty"`
RemoteAddr string `json:"remote_addr,omitempty"`
Status QueryStatus `json:"status"`
StartTime time.Time `json:"start_time"`
EndTime *time.Time `json:"end_time,omitempty"`
DurationMs float64 `json:"duration_ms,omitempty"`
RowCount int `json:"row_count,omitempty"`
Error string `json:"error,omitempty"`
IsParallel bool `json:"is_parallel"`
PartitionCount int `json:"partition_count,omitempty"`
}
TrackedQuery holds all metadata about a tracked query.