monitor

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 4, 2025 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package monitor provides performance monitoring and metrics collection for GoSQLX

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Disable

func Disable()

Disable turns off metrics collection

func Enable

func Enable()

Enable turns on metrics collection

func IsEnabled

func IsEnabled() bool

IsEnabled returns whether metrics collection is enabled

func RecordParserCall

func RecordParserCall(duration time.Duration, err error)

RecordParserCall records a parser operation

func RecordPoolHit

func RecordPoolHit()

RecordPoolHit records a successful pool retrieval

func RecordPoolMiss

func RecordPoolMiss()

RecordPoolMiss records a pool miss (new allocation)

func RecordTokenizerCall

func RecordTokenizerCall(duration time.Duration, tokens int, err error)

RecordTokenizerCall records a tokenizer operation

func Reset

func Reset()

Reset clears all metrics

func Uptime

func Uptime() time.Duration

Uptime returns the duration since metrics were started or reset

Types

type Metrics

type Metrics struct {

	// Tokenizer metrics
	TokenizerCalls    int64
	TokenizerDuration time.Duration
	TokensProcessed   int64
	TokenizerErrors   int64

	// Parser metrics
	ParserCalls         int64
	ParserDuration      time.Duration
	StatementsProcessed int64
	ParserErrors        int64

	// Pool metrics
	PoolHits   int64
	PoolMisses int64
	PoolReuse  float64

	// Memory metrics
	AllocBytes  uint64
	TotalAllocs uint64
	LastGCPause time.Duration
	// contains filtered or unexported fields
}

Metrics holds performance metrics for the tokenizer and parser

type MetricsSnapshot

type MetricsSnapshot struct {
	// Tokenizer metrics
	TokenizerCalls    int64
	TokenizerDuration time.Duration
	TokensProcessed   int64
	TokenizerErrors   int64

	// Parser metrics
	ParserCalls         int64
	ParserDuration      time.Duration
	StatementsProcessed int64
	ParserErrors        int64

	// Pool metrics
	PoolHits   int64
	PoolMisses int64
	PoolReuse  float64

	// Memory metrics
	AllocBytes  uint64
	TotalAllocs uint64
	LastGCPause time.Duration

	StartTime time.Time
}

MetricsSnapshot represents a snapshot of metrics without internal locks

func GetMetrics

func GetMetrics() MetricsSnapshot

GetMetrics returns a copy of current metrics

type Summary

type Summary struct {
	Uptime              time.Duration
	TotalOperations     int64
	OperationsPerSecond float64
	TokensPerSecond     float64
	AvgTokenizerLatency time.Duration
	AvgParserLatency    time.Duration
	ErrorRate           float64
	PoolEfficiency      float64
}

Summary returns a performance summary

func GetSummary

func GetSummary() Summary

GetSummary returns a performance summary

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL