metrics

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 metrics provides production performance monitoring for GoSQLX

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Disable

func Disable()

Disable deactivates metrics collection

func Enable

func Enable()

Enable activates metrics collection

func IsEnabled

func IsEnabled() bool

IsEnabled returns whether metrics collection is active

func RecordPoolGet

func RecordPoolGet(fromPool bool)

RecordPoolGet records a tokenizer pool retrieval

func RecordPoolPut

func RecordPoolPut()

RecordPoolPut records a tokenizer pool return

func RecordTokenization

func RecordTokenization(duration time.Duration, querySize int, err error)

RecordTokenization records a tokenization operation

func Reset

func Reset()

Reset clears all metrics (useful for testing)

Types

type Metrics

type Metrics struct {
	// contains filtered or unexported fields
}

Metrics collects runtime performance data for GoSQLX operations

type Stats

type Stats struct {
	// Basic counts
	TokenizeOperations int64   `json:"tokenize_operations"`
	TokenizeErrors     int64   `json:"tokenize_errors"`
	ErrorRate          float64 `json:"error_rate"`

	// Performance metrics
	AverageDuration     time.Duration `json:"average_duration"`
	OperationsPerSecond float64       `json:"operations_per_second"`

	// Memory/Pool metrics
	PoolGets     int64   `json:"pool_gets"`
	PoolPuts     int64   `json:"pool_puts"`
	PoolBalance  int64   `json:"pool_balance"`
	PoolMissRate float64 `json:"pool_miss_rate"`

	// Query size metrics
	MinQuerySize        int64   `json:"min_query_size"`
	MaxQuerySize        int64   `json:"max_query_size"`
	AverageQuerySize    float64 `json:"average_query_size"`
	TotalBytesProcessed int64   `json:"total_bytes_processed"`

	// Timing
	Uptime            time.Duration `json:"uptime"`
	LastOperationTime time.Time     `json:"last_operation_time"`

	// Error breakdown
	ErrorsByType map[string]int64 `json:"errors_by_type"`
}

Stats represents current performance statistics

func GetStats

func GetStats() Stats

GetStats returns current performance statistics

func LogStats

func LogStats() Stats

LogStats logs current statistics (useful for debugging)

Jump to

Keyboard shortcuts

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