database

package
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2025 License: MIT Imports: 19 Imported by: 0

Documentation

Overview

Package database - Connection Management System Migrated from ClubPulse to gopherkit with significant improvements

Package database - Fallback Management System Migrado de ClubPulse a gopherkit con mejoras significativas

Package database - Health Checking System Migrado de ClubPulse a gopherkit con mejoras significativas

Package database - Tenant Context Management System Migrado de ClubPulse a gopherkit con mejoras significativas

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CheckDetail added in v1.0.2

type CheckDetail struct {
	Name        string        `json:"name"`
	Status      HealthStatus  `json:"status"`
	Duration    time.Duration `json:"duration"`
	Description string        `json:"description"`
	Error       string        `json:"error,omitempty"`
}

CheckDetail detalle de una verificación específica

type Config added in v1.0.2

type Config struct {
	// Common fields
	DatabaseMode DatabaseMode `json:"database_mode"`
	DatabaseURL  string       `json:"database_url"`

	// Single mode specific
	DatabaseSchema string `json:"database_schema"`

	// Connection pool settings
	MaxOpenConns        int           `json:"max_open_conns"`
	MaxIdleConns        int           `json:"max_idle_conns"`
	ConnMaxLifetime     time.Duration `json:"conn_max_lifetime"`
	ConnMaxIdleTime     time.Duration `json:"conn_max_idle_time"`
	EnableFallback      bool          `json:"enable_fallback"`
	FallbackDatabaseURL string        `json:"fallback_database_url"`

	// Monitoring and observability
	EnableMetrics        bool          `json:"enable_metrics"`
	ServiceName          string        `json:"service_name"`
	EnableHealthChecks   bool          `json:"enable_health_checks"`
	HealthCheckInterval  time.Duration `json:"health_check_interval"`
	EnableRetryLogic     bool          `json:"enable_retry_logic"`
	MaxRetryAttempts     int           `json:"max_retry_attempts"`
	RetryBackoffDuration time.Duration `json:"retry_backoff_duration"`
	ConnectionTimeout    time.Duration `json:"connection_timeout"`
	EnableSlowQueryLog   bool          `json:"enable_slow_query_log"`
	SlowQueryThreshold   time.Duration `json:"slow_query_threshold"`
}

Config holds database configuration with enhanced options

func DefaultConfig added in v1.0.2

func DefaultConfig() *Config

DefaultConfig retorna configuración por defecto mejorada

type ConnectionManager added in v1.0.2

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

ConnectionManager manages database connections with enhanced features

func GetInstance added in v1.0.2

func GetInstance(config *Config) (*ConnectionManager, error)

GetInstance returns singleton instance of ConnectionManager

func NewConnectionManager added in v1.0.2

func NewConnectionManager(config *Config) (*ConnectionManager, error)

NewConnectionManager creates a new enhanced connection manager

func (*ConnectionManager) Close added in v1.0.2

func (cm *ConnectionManager) Close() error

Close closes all database connections with graceful shutdown

func (*ConnectionManager) ExecuteInSchema added in v1.0.2

func (cm *ConnectionManager) ExecuteInSchema(schema string, query string, args ...interface{}) (*sql.Rows, error)

ExecuteInSchema executes a query in a specific schema (single mode only) with improvements

func (*ConnectionManager) ExecuteWithMetrics added in v1.0.2

func (cm *ConnectionManager) ExecuteWithMetrics(query string, args ...interface{}) (*sql.Rows, error)

ExecuteWithMetrics executes a query with performance metrics

func (*ConnectionManager) GetDB added in v1.0.2

func (cm *ConnectionManager) GetDB() *sql.DB

GetDB returns the active database connection with intelligent fallback

func (*ConnectionManager) GetHealthStatus added in v1.0.2

func (cm *ConnectionManager) GetHealthStatus() map[string]interface{}

GetHealthStatus returns current enhanced health status

func (*ConnectionManager) GetQueryHistory added in v1.0.2

func (cm *ConnectionManager) GetQueryHistory() []QueryMetric

GetQueryHistory returns recent query history

func (*ConnectionManager) ResetMetrics added in v1.0.2

func (cm *ConnectionManager) ResetMetrics()

ResetMetrics resets all connection metrics

func (*ConnectionManager) Transaction added in v1.0.2

func (cm *ConnectionManager) Transaction(fn func(*sql.Tx) error) error

Transaction executes a function within a database transaction with enhanced error handling

type ConnectionMetrics added in v1.0.2

type ConnectionMetrics struct {
	TotalConnections    int64            `json:"total_connections"`
	ActiveConnections   int64            `json:"active_connections"`
	FailedConnections   int64            `json:"failed_connections"`
	FallbackUsed        int64            `json:"fallback_used"`
	QueryTime           time.Duration    `json:"query_time"`
	SchemaQueries       map[string]int64 `json:"schema_queries"`
	SlowQueries         int64            `json:"slow_queries"`
	ConnectionErrors    map[string]int64 `json:"connection_errors"`
	QueryHistory        []QueryMetric    `json:"query_history"`
	HealthCheckFailures int64            `json:"health_check_failures"`
	RecoveryAttempts    int64            `json:"recovery_attempts"`
	LastError           string           `json:"last_error"`
	LastErrorTime       time.Time        `json:"last_error_time"`
	// contains filtered or unexported fields
}

ConnectionMetrics tracks enhanced connection statistics

type DatabaseMode added in v1.0.2

type DatabaseMode string

DatabaseMode represents the database operation mode

const (
	ModeSingle DatabaseMode = "single"
	ModeMulti  DatabaseMode = "multi"
)

type DefaultLogger added in v1.0.2

type DefaultLogger struct{}

DefaultLogger implementación simple de logger

func (*DefaultLogger) Debugf added in v1.0.2

func (dl *DefaultLogger) Debugf(format string, args ...interface{})

func (*DefaultLogger) Error added in v1.0.2

func (dl *DefaultLogger) Error(msg string)

func (*DefaultLogger) Info added in v1.0.2

func (dl *DefaultLogger) Info(msg string)

func (*DefaultLogger) Warn added in v1.0.2

func (dl *DefaultLogger) Warn(msg string)

func (*DefaultLogger) WithField added in v1.0.2

func (dl *DefaultLogger) WithField(key string, value interface{}) Logger

type FallbackConfig added in v1.0.2

type FallbackConfig struct {
	EnableAutoFallback     bool          `json:"enable_auto_fallback"`
	HealthCheckInterval    time.Duration `json:"health_check_interval"`
	FailureThreshold       int           `json:"failure_threshold"`
	RecoveryCheckInterval  time.Duration `json:"recovery_check_interval"`
	FallbackTimeout        time.Duration `json:"fallback_timeout"`
	AlertWebhookURL        string        `json:"alert_webhook_url"`
	MaxRetryAttempts       int           `json:"max_retry_attempts"`
	RetryBackoffMultiplier float64       `json:"retry_backoff_multiplier"`
	EnableNotifications    bool          `json:"enable_notifications"`
	NotificationChannels   []string      `json:"notification_channels"`
	AutoRecoveryEnabled    bool          `json:"auto_recovery_enabled"`
	RecoveryConfidence     float64       `json:"recovery_confidence"`
}

FallbackConfig configuración mejorada para el sistema de fallback

func DefaultFallbackConfig added in v1.0.2

func DefaultFallbackConfig() *FallbackConfig

DefaultFallbackConfig retorna configuración por defecto mejorada

type FallbackManager added in v1.0.2

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

FallbackManager gestiona el fallback automático entre modos de database mejorado

func NewFallbackManager added in v1.0.2

func NewFallbackManager(config *Config, logger Logger) (*FallbackManager, error)

NewFallbackManager crea un nuevo gestor de fallback mejorado

func (*FallbackManager) ForceRecovery added in v1.0.2

func (fm *FallbackManager) ForceRecovery() error

ForceRecovery fuerza un intento de recuperación manual

func (*FallbackManager) GetCurrentMode added in v1.0.2

func (fm *FallbackManager) GetCurrentMode() DatabaseMode

GetCurrentMode obtiene el modo actual de la database

func (*FallbackManager) GetMetrics added in v1.0.2

func (fm *FallbackManager) GetMetrics() *FallbackMetrics

GetMetrics retorna las métricas del fallback manager

func (*FallbackManager) IsInFallbackMode added in v1.0.2

func (fm *FallbackManager) IsInFallbackMode() bool

IsInFallbackMode verifica si está en modo fallback

func (*FallbackManager) SetAlertCallback added in v1.0.2

func (fm *FallbackManager) SetAlertCallback(callback func(string, error))

SetAlertCallback permite configurar un callback personalizado para alertas

func (*FallbackManager) SetPrimaryDB added in v1.0.2

func (fm *FallbackManager) SetPrimaryDB(db *sql.DB)

SetPrimaryDB establece la conexión primaria

func (*FallbackManager) Stop added in v1.0.2

func (fm *FallbackManager) Stop()

Stop detiene el monitoreo de fallback con limpieza mejorada

type FallbackMetrics added in v1.0.2

type FallbackMetrics struct {
	FallbackActivations  int64                    `json:"fallback_activations"`
	RecoveryAttempts     int64                    `json:"recovery_attempts"`
	SuccessfulRecoveries int64                    `json:"successful_recoveries"`
	FailedRecoveries     int64                    `json:"failed_recoveries"`
	TimeInFallbackMode   time.Duration            `json:"time_in_fallback_mode"`
	LastFallbackTime     time.Time                `json:"last_fallback_time"`
	LastRecoveryTime     time.Time                `json:"last_recovery_time"`
	HealthCheckFailures  map[string]int64         `json:"health_check_failures"`
	FallbackDuration     map[string]time.Duration `json:"fallback_duration"`
	AlertsSent           int64                    `json:"alerts_sent"`
	// contains filtered or unexported fields
}

FallbackMetrics métricas del sistema de fallback

type GormLogger

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

Custom GORM logger that integrates with our logger

func NewGormLogger

func NewGormLogger(logger logger.Logger) *GormLogger

NewGormLogger creates a new GORM logger

func (*GormLogger) Error

func (gl *GormLogger) Error(ctx context.Context, msg string, data ...interface{})

Error logs error messages

func (*GormLogger) Info

func (gl *GormLogger) Info(ctx context.Context, msg string, data ...interface{})

Info logs info messages

func (*GormLogger) LogMode

func (gl *GormLogger) LogMode(level gormlogger.LogLevel) gormlogger.Interface

LogMode sets the log level

func (*GormLogger) Trace

func (gl *GormLogger) Trace(ctx context.Context, begin time.Time, fc func() (string, int64), err error)

Trace logs SQL queries

func (*GormLogger) Warn

func (gl *GormLogger) Warn(ctx context.Context, msg string, data ...interface{})

Warn logs warning messages

type HealthCheckResult added in v1.0.2

type HealthCheckResult struct {
	Service      string        `json:"service"`
	Status       HealthStatus  `json:"status"`
	ResponseTime time.Duration `json:"response_time"`
	Error        string        `json:"error,omitempty"`
	Details      interface{}   `json:"details,omitempty"`
	Timestamp    time.Time     `json:"timestamp"`
	Checks       []CheckDetail `json:"checks,omitempty"`
	Severity     Severity      `json:"severity"`
	Suggestions  []string      `json:"suggestions,omitempty"`
}

HealthCheckResult resultado mejorado de una verificación de salud

type HealthChecker added in v1.0.2

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

HealthChecker realiza verificaciones de salud de databases mejorado

func NewHealthChecker added in v1.0.2

func NewHealthChecker(config *Config) *HealthChecker

NewHealthChecker crea un nuevo verificador de salud mejorado

func (*HealthChecker) CheckAllServices added in v1.0.2

func (hc *HealthChecker) CheckAllServices(ctx context.Context) ([]*HealthCheckResult, error)

CheckAllServices verifica la salud de todos los servicios con mejoras

func (*HealthChecker) CheckDatabase added in v1.0.2

func (hc *HealthChecker) CheckDatabase(ctx context.Context, db *sql.DB, serviceName string) *HealthCheckResult

CheckDatabase verifica la salud de una database específica con mejoras

func (*HealthChecker) CheckWithRetry added in v1.0.2

func (hc *HealthChecker) CheckWithRetry(ctx context.Context, db *sql.DB, serviceName string, maxRetries int) *HealthCheckResult

CheckWithRetry verifica con reintentos mejorado

func (*HealthChecker) GenerateHealthReport added in v1.0.2

func (hc *HealthChecker) GenerateHealthReport(ctx context.Context) (HealthReport, error)

GenerateHealthReport genera un reporte completo de salud mejorado

func (*HealthChecker) GetMetrics added in v1.0.2

func (hc *HealthChecker) GetMetrics() *HealthMetrics

GetMetrics retorna las métricas del health checker

func (*HealthChecker) GetOverallHealth added in v1.0.2

func (hc *HealthChecker) GetOverallHealth(results []*HealthCheckResult) (HealthStatus, Severity)

GetOverallHealth calcula el estado general de salud mejorado

type HealthMetrics added in v1.0.2

type HealthMetrics struct {
	TotalChecks      int64                    `json:"total_checks"`
	SuccessfulChecks int64                    `json:"successful_checks"`
	FailedChecks     int64                    `json:"failed_checks"`
	CheckDurations   []time.Duration          `json:"check_durations"`
	ServiceFailures  map[string]int64         `json:"service_failures"`
	LastCheckTime    time.Time                `json:"last_check_time"`
	AverageCheckTime time.Duration            `json:"average_check_time"`
	HealthTrends     map[string][]HealthPoint `json:"health_trends"`
	// contains filtered or unexported fields
}

HealthMetrics métricas del health checker

type HealthPoint added in v1.0.2

type HealthPoint struct {
	Timestamp time.Time     `json:"timestamp"`
	Status    HealthStatus  `json:"status"`
	Duration  time.Duration `json:"duration"`
}

HealthPoint representa un punto en el tiempo para tendencias de salud

type HealthReport added in v1.0.2

type HealthReport struct {
	Timestamp       time.Time            `json:"timestamp"`
	DatabaseMode    string               `json:"database_mode"`
	OverallHealth   HealthStatus         `json:"overall_health"`
	OverallSeverity Severity             `json:"overall_severity"`
	Services        []*HealthCheckResult `json:"services"`
	Summary         HealthSummary        `json:"summary"`
	Recommendations []string             `json:"recommendations"`
	Metrics         *HealthMetrics       `json:"metrics"`
}

HealthReport estructura mejorada del reporte de salud

type HealthStatus added in v1.0.2

type HealthStatus string

HealthStatus estado de salud mejorado

const (
	HealthStatusHealthy   HealthStatus = "healthy"
	HealthStatusUnhealthy HealthStatus = "unhealthy"
	HealthStatusDegraded  HealthStatus = "degraded"
	HealthStatusUnknown   HealthStatus = "unknown"
	HealthStatusWarning   HealthStatus = "warning"
)

type HealthSummary added in v1.0.2

type HealthSummary struct {
	TotalServices     int `json:"total_services"`
	HealthyServices   int `json:"healthy_services"`
	WarningServices   int `json:"warning_services"`
	DegradedServices  int `json:"degraded_services"`
	UnhealthyServices int `json:"unhealthy_services"`
}

HealthSummary resumen mejorado del estado de salud

type Logger added in v1.0.2

type Logger interface {
	Info(msg string)
	Warn(msg string)
	Error(msg string)
	Debugf(format string, args ...interface{})
	WithField(key string, value interface{}) Logger
}

Logger interface para logging

type PostgresClient

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

PostgresClient provides PostgreSQL database operations

func NewPostgresClient

func NewPostgresClient(opts PostgresOptions) (*PostgresClient, error)

NewPostgresClient creates a new PostgreSQL client

func (*PostgresClient) Close

func (pc *PostgresClient) Close() error

Close closes the database connection

func (*PostgresClient) GetDB

func (pc *PostgresClient) GetDB() *gorm.DB

GetDB returns the GORM database instance

func (*PostgresClient) GetSQLDB

func (pc *PostgresClient) GetSQLDB() *sql.DB

GetSQLDB returns the underlying sql.DB instance

func (*PostgresClient) HealthCheck

func (pc *PostgresClient) HealthCheck() observability.HealthCheck

HealthCheck returns a health check for the database

func (*PostgresClient) Stats

func (pc *PostgresClient) Stats() sql.DBStats

Stats returns database connection statistics

func (*PostgresClient) Transaction

func (pc *PostgresClient) Transaction(ctx context.Context, fn func(*gorm.DB) error) error

Transaction executes a function within a database transaction

func (*PostgresClient) WithContext

func (pc *PostgresClient) WithContext(ctx context.Context) *gorm.DB

WithContext returns a new GORM DB instance with context

type PostgresOptions

type PostgresOptions struct {
	Config config.DatabaseConfig
	Logger logger.Logger
	Models []interface{} // Models to auto-migrate
}

PostgresOptions holds options for PostgreSQL client

type QueryMetric added in v1.0.2

type QueryMetric struct {
	Query     string        `json:"query"`
	Duration  time.Duration `json:"duration"`
	Success   bool          `json:"success"`
	Error     string        `json:"error,omitempty"`
	Timestamp time.Time     `json:"timestamp"`
}

QueryMetric representa métricas de una query individual

type RLSStatus added in v1.0.2

type RLSStatus struct {
	DatabaseName string `db:"database_name" json:"database_name"`
	TableName    string `db:"table_name" json:"table_name"`
	RLSEnabled   bool   `db:"rls_enabled" json:"rls_enabled"`
	PolicyCount  int    `db:"policy_count" json:"policy_count"`
}

RLSStatus representa el estado de Row Level Security para una tabla

type Repository

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

Repository provides common repository patterns

func NewRepository

func NewRepository(db *gorm.DB, logger logger.Logger) *Repository

NewRepository creates a new repository instance

func (*Repository) Create

func (r *Repository) Create(ctx context.Context, model interface{}) error

Create creates a new record

func (*Repository) Delete

func (r *Repository) Delete(ctx context.Context, model interface{}, id interface{}) error

Delete deletes a record

func (*Repository) GetByID

func (r *Repository) GetByID(ctx context.Context, model interface{}, id interface{}) error

GetByID retrieves a record by ID

func (*Repository) Update

func (r *Repository) Update(ctx context.Context, model interface{}) error

Update updates a record

type Severity added in v1.0.2

type Severity string

Severity nivel de severidad

const (
	SeverityCritical Severity = "critical"
	SeverityHigh     Severity = "high"
	SeverityMedium   Severity = "medium"
	SeverityLow      Severity = "low"
	SeverityInfo     Severity = "info"
)

type TenantCache added in v1.0.2

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

TenantCache cache simple para contextos de tenant

func NewTenantCache added in v1.0.2

func NewTenantCache(ttl time.Duration, maxSize int) *TenantCache

NewTenantCache crea un nuevo cache de tenants

func (*TenantCache) Get added in v1.0.2

func (tc *TenantCache) Get(key string) (string, bool)

Get obtiene un tenant del cache

func (*TenantCache) Set added in v1.0.2

func (tc *TenantCache) Set(key, tenantID string)

Set almacena un tenant en el cache

type TenantCacheEntry added in v1.0.2

type TenantCacheEntry struct {
	TenantID string    `json:"tenant_id"`
	SetTime  time.Time `json:"set_time"`
	LastUsed time.Time `json:"last_used"`
	UseCount int64     `json:"use_count"`
}

TenantCacheEntry entrada del cache de tenant

type TenantConfig added in v1.0.2

type TenantConfig struct {
	EnableCaching        bool          `json:"enable_caching"`
	CacheTTL             time.Duration `json:"cache_ttl"`
	EnableValidation     bool          `json:"enable_validation"`
	EnableAuditLog       bool          `json:"enable_audit_log"`
	MaxConcurrentTenants int           `json:"max_concurrent_tenants"`
	TenantTimeout        time.Duration `json:"tenant_timeout"`
	EnableMetrics        bool          `json:"enable_metrics"`
	EnableSecurityChecks bool          `json:"enable_security_checks"`
	DefaultTenantID      string        `json:"default_tenant_id"`
}

TenantConfig configuración del sistema de multi-tenancy

func DefaultTenantConfig added in v1.0.2

func DefaultTenantConfig() *TenantConfig

DefaultTenantConfig retorna configuración por defecto

type TenantContextManager added in v1.0.2

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

TenantContextManager maneja el contexto de tenant en la base de datos mejorado para implementar Row Level Security (RLS) con funcionalidades avanzadas

func NewTenantContextManager added in v1.0.2

func NewTenantContextManager(db *sqlx.DB, logger Logger, config *TenantConfig) *TenantContextManager

NewTenantContextManager crea una nueva instancia mejorada del manejador de contexto de tenant

func (*TenantContextManager) ClearTenantContext added in v1.0.2

func (tcm *TenantContextManager) ClearTenantContext(ctx context.Context) error

ClearTenantContext limpia el contexto de tenant de la sesión con mejoras

func (*TenantContextManager) GetCacheStats added in v1.0.2

func (tcm *TenantContextManager) GetCacheStats() map[string]interface{}

GetCacheStats retorna estadísticas del cache

func (*TenantContextManager) GetConfig added in v1.0.2

func (tcm *TenantContextManager) GetConfig() *TenantConfig

GetConfig retorna la configuración actual

func (*TenantContextManager) GetCurrentTenant added in v1.0.2

func (tcm *TenantContextManager) GetCurrentTenant(ctx context.Context) (string, error)

GetCurrentTenant obtiene el tenant_id actual de la sesión de base de datos con mejoras

func (*TenantContextManager) GetMetrics added in v1.0.2

func (tcm *TenantContextManager) GetMetrics() *TenantMetrics

GetMetrics retorna las métricas del tenant context manager

func (*TenantContextManager) GetTenantStats added in v1.0.2

func (tcm *TenantContextManager) GetTenantStats(ctx context.Context, tenantID string, tables []string) ([]TenantStats, error)

GetTenantStats obtiene estadísticas de datos para un tenant específico mejorado

func (*TenantContextManager) HealthCheck added in v1.0.2

func (tcm *TenantContextManager) HealthCheck(ctx context.Context) error

HealthCheck verifica que el sistema de multi-tenancy esté funcionando correctamente mejorado

func (*TenantContextManager) ResetMetrics added in v1.0.2

func (tcm *TenantContextManager) ResetMetrics()

ResetMetrics reinicia todas las métricas

func (*TenantContextManager) SetTenantContext added in v1.0.2

func (tcm *TenantContextManager) SetTenantContext(ctx context.Context, tenantID string) error

SetTenantContext establece el contexto de tenant en la sesión de base de datos con mejoras

func (*TenantContextManager) TenantAwareExec added in v1.0.2

func (tcm *TenantContextManager) TenantAwareExec(ctx context.Context, tenantID, query string, args ...interface{}) (sql.Result, error)

TenantAwareExec ejecuta una declaración SQL con contexto de tenant mejorado

func (*TenantContextManager) TenantAwareQuery added in v1.0.2

func (tcm *TenantContextManager) TenantAwareQuery(ctx context.Context, tenantID, query string, args ...interface{}) (*sql.Rows, error)

TenantAwareQuery ejecuta una consulta con contexto de tenant mejorado

func (*TenantContextManager) ValidateTenantAccess added in v1.0.2

func (tcm *TenantContextManager) ValidateTenantAccess(ctx context.Context, tenantID, resourceTable, resourceID string) (bool, error)

ValidateTenantAccess verifica que el tenant tiene acceso a un recurso específico mejorado

func (*TenantContextManager) VerifyRLSStatus added in v1.0.2

func (tcm *TenantContextManager) VerifyRLSStatus(ctx context.Context) ([]RLSStatus, error)

VerifyRLSStatus verifica que Row Level Security está habilitado con mejoras

func (*TenantContextManager) WithTenantContext added in v1.0.2

func (tcm *TenantContextManager) WithTenantContext(ctx context.Context, tenantID string, fn func(context.Context) error) error

WithTenantContext ejecuta una función con contexto de tenant establecido mejorado

type TenantMetrics added in v1.0.2

type TenantMetrics struct {
	TenantSets         int64                `json:"tenant_sets"`
	TenantGets         int64                `json:"tenant_gets"`
	TenantClears       int64                `json:"tenant_clears"`
	ValidationFailures int64                `json:"validation_failures"`
	SecurityViolations int64                `json:"security_violations"`
	CacheHits          int64                `json:"cache_hits"`
	CacheMisses        int64                `json:"cache_misses"`
	ActiveTenants      map[string]time.Time `json:"active_tenants"`
	TenantOperations   map[string]int64     `json:"tenant_operations"`
	AverageSetTime     time.Duration        `json:"average_set_time"`
	AverageGetTime     time.Duration        `json:"average_get_time"`
	LastOperation      time.Time            `json:"last_operation"`
	OperationHistory   []TenantOperation    `json:"operation_history"`
	// contains filtered or unexported fields
}

TenantMetrics métricas del sistema de tenancy

type TenantOperation added in v1.0.2

type TenantOperation struct {
	Type      string        `json:"type"`
	TenantID  string        `json:"tenant_id"`
	Success   bool          `json:"success"`
	Duration  time.Duration `json:"duration"`
	Error     string        `json:"error,omitempty"`
	Timestamp time.Time     `json:"timestamp"`
}

TenantOperation representa una operación de tenant

type TenantStats added in v1.0.2

type TenantStats struct {
	TenantID    string    `json:"tenant_id"`
	Table       string    `json:"table"`
	Count       int       `json:"count"`
	LastUpdated time.Time `json:"last_updated"`
	Size        int64     `json:"size_bytes"`
}

TenantStats proporciona estadísticas sobre los datos del tenant mejorado

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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