Documentation
¶
Index ¶
- type Closeable
- type Connection
- type ConnectionConfig
- type ConnectionHealthStatus
- type ConnectionManager
- func (cm *ConnectionManager) AddDriverCredentials(ctx context.Context, config *models.DriverCredentials)
- func (cm *ConnectionManager) CloseAll()
- func (cm *ConnectionManager) GetConnection(ctx context.Context, tenantID string) (*Connection, error)
- func (cm *ConnectionManager) GetDetailedStats() map[string]interface{}
- func (cm *ConnectionManager) GetMaxConnections() int
- func (cm *ConnectionManager) GetProjectDependedSettings() ProjectDependedSettings
- func (cm *ConnectionManager) GetStats() ConnectionStats
- func (cm *ConnectionManager) GetUsagePercent() float64
- func (cm *ConnectionManager) IsHealthy() bool
- func (cm *ConnectionManager) RemoveConnection(tenantID string)
- func (cm *ConnectionManager) SetProjectDefaultMediaPlugin(defaultStorageProviderId string)
- func (cm *ConnectionManager) SetProjectLogicExecutionProvider(activatedLogicExecutionProvidersID string)
- type ConnectionMonitor
- func (m *ConnectionMonitor) ForceHealthCheck() ConnectionHealthStatus
- func (m *ConnectionMonitor) GetHealthLevel() HealthLevel
- func (m *ConnectionMonitor) GetHealthStatus() ConnectionHealthStatus
- func (m *ConnectionMonitor) IsHealthy() bool
- func (m *ConnectionMonitor) StartMonitoring(ctx context.Context)
- func (m *ConnectionMonitor) StopMonitoring()
- type ConnectionStats
- type HealthLevel
- type ProjectDependedSettings
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Closeable ¶ added in v1.4.0
type Closeable interface {
Close() error
}
Closeable is an interface for connections that can be closed
type Connection ¶
type Connection struct {
TenantID string
DBConn interfaces.ProjectDBInterface
LastAccessed time.Time
IsActive bool
}
Connection represents a database connection with metadata
type ConnectionConfig ¶
type ConnectionConfig struct {
TenantID string
Driver string
ConnString string
MaxIdleConn int
MaxOpenConn int
MaxLifetime time.Duration
}
ConnectionConfig holds the database connection configuration for a tenant
type ConnectionHealthStatus ¶ added in v1.4.0
type ConnectionHealthStatus struct {
HealthLevel HealthLevel
ActiveConnections int
MaxConnections int
CacheItems int
UsagePercent float64
CacheHits int64
CacheMisses int64
Evictions int64
CloseErrors int64
LastCheck time.Time
Message string
}
ConnectionHealthStatus represents the health status of the connection pool
type ConnectionManager ¶
type ConnectionManager struct {
// contains filtered or unexported fields
}
ConnectionManager manages database connections for multiple tenants
func NewConnectionManager ¶
func NewConnectionManager(cfg *models.Config, maxConns int, systemDB interfaces.ApitoSystemDB) *ConnectionManager
NewConnectionManager creates a new connection manager
func (*ConnectionManager) AddDriverCredentials ¶
func (cm *ConnectionManager) AddDriverCredentials(ctx context.Context, config *models.DriverCredentials)
AddDriverCredentials adds a new connection configuration for a tenant
func (*ConnectionManager) CloseAll ¶ added in v1.4.0
func (cm *ConnectionManager) CloseAll()
CloseAll closes all active connections - call this on graceful shutdown
func (*ConnectionManager) GetConnection ¶
func (cm *ConnectionManager) GetConnection(ctx context.Context, tenantID string) (*Connection, error)
GetConnection returns a database connection for the given tenant
func (*ConnectionManager) GetDetailedStats ¶ added in v1.4.0
func (cm *ConnectionManager) GetDetailedStats() map[string]interface{}
GetDetailedStats returns detailed statistics including cache state
func (*ConnectionManager) GetMaxConnections ¶ added in v1.4.0
func (cm *ConnectionManager) GetMaxConnections() int
GetMaxConnections returns the maximum number of connections allowed
func (*ConnectionManager) GetProjectDependedSettings ¶
func (cm *ConnectionManager) GetProjectDependedSettings() ProjectDependedSettings
GetProjectDependedSettings returns project dependent settings
func (*ConnectionManager) GetStats ¶
func (cm *ConnectionManager) GetStats() ConnectionStats
GetStats returns current connection statistics
func (*ConnectionManager) GetUsagePercent ¶ added in v1.4.0
func (cm *ConnectionManager) GetUsagePercent() float64
GetUsagePercent returns the current connection pool usage percentage
func (*ConnectionManager) IsHealthy ¶ added in v1.4.0
func (cm *ConnectionManager) IsHealthy() bool
IsHealthy returns true if the connection pool is under 90% capacity
func (*ConnectionManager) RemoveConnection ¶ added in v1.4.0
func (cm *ConnectionManager) RemoveConnection(tenantID string)
RemoveConnection explicitly removes a connection for a tenant
func (*ConnectionManager) SetProjectDefaultMediaPlugin ¶
func (cm *ConnectionManager) SetProjectDefaultMediaPlugin(defaultStorageProviderId string)
SetProjectDefaultMediaPlugin sets project dependent settings
func (*ConnectionManager) SetProjectLogicExecutionProvider ¶
func (cm *ConnectionManager) SetProjectLogicExecutionProvider(activatedLogicExecutionProvidersID string)
SetProjectLogicExecutionProvider sets project dependent settings
type ConnectionMonitor ¶ added in v1.4.0
type ConnectionMonitor struct {
// contains filtered or unexported fields
}
ConnectionMonitor handles health monitoring for the connection manager
func NewConnectionMonitor ¶ added in v1.4.0
func NewConnectionMonitor(cm *ConnectionManager) *ConnectionMonitor
NewConnectionMonitor creates a new connection monitor
func (*ConnectionMonitor) ForceHealthCheck ¶ added in v1.4.0
func (m *ConnectionMonitor) ForceHealthCheck() ConnectionHealthStatus
ForceHealthCheck forces an immediate health check (useful for API endpoints)
func (*ConnectionMonitor) GetHealthLevel ¶ added in v1.4.0
func (m *ConnectionMonitor) GetHealthLevel() HealthLevel
GetHealthLevel returns the current health level
func (*ConnectionMonitor) GetHealthStatus ¶ added in v1.4.0
func (m *ConnectionMonitor) GetHealthStatus() ConnectionHealthStatus
GetHealthStatus returns the current health status
func (*ConnectionMonitor) IsHealthy ¶ added in v1.4.0
func (m *ConnectionMonitor) IsHealthy() bool
IsHealthy returns true if the connection pool is healthy (under 90% capacity)
func (*ConnectionMonitor) StartMonitoring ¶ added in v1.4.0
func (m *ConnectionMonitor) StartMonitoring(ctx context.Context)
StartMonitoring begins the connection health monitoring process
func (*ConnectionMonitor) StopMonitoring ¶ added in v1.4.0
func (m *ConnectionMonitor) StopMonitoring()
StopMonitoring stops the connection health monitoring
type ConnectionStats ¶
type HealthLevel ¶ added in v1.4.0
type HealthLevel string
HealthLevel represents the health level of the connection pool
const ( HealthLevelHealthy HealthLevel = "HEALTHY" HealthLevelWarning HealthLevel = "WARNING" HealthLevelCritical HealthLevel = "CRITICAL" )
type ProjectDependedSettings ¶
Directories
¶
| Path | Synopsis |
|---|---|
|
memory
Package memoryCache provides an in-memory cache driver with TTL support
|
Package memoryCache provides an in-memory cache driver with TTL support |
|
driver/bbolt
Package bbolt provides a BBolt database driver implementation for Apito project operations.
|
Package bbolt provides a BBolt database driver implementation for Apito project operations. |
|
driver/bbolt
Package bbolt provides a BBolt database driver implementation for the Apito system.
|
Package bbolt provides a BBolt database driver implementation for the Apito system. |