manager

package
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: May 31, 2025 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultCallOptions added in v0.1.4

func DefaultCallOptions() *types.CallOptions

DefaultCallOptions returns default call options

Types

type GRPCExtension added in v0.1.4

type GRPCExtension interface {
	RegisterGRPCServices(server *exgrpc.Server)
}

GRPCExtension defines interface for extensions that provide gRPC services

type Manager

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

Manager manages extensions and provides unified service access

func NewManager

func NewManager(conf *config.Config) (*Manager, error)

NewManager creates a new extension manager

func (*Manager) CallService added in v0.1.4

func (m *Manager) CallService(ctx context.Context, serviceName, methodName string, req any) (*types.CallResult, error)

CallService provides unified service calling interface

func (*Manager) CallServiceWithOptions added in v0.1.4

func (m *Manager) CallServiceWithOptions(ctx context.Context, serviceName, methodName string, req any, opts *types.CallOptions) (*types.CallResult, error)

CallServiceWithOptions calls service

func (*Manager) CheckServiceHealth

func (m *Manager) CheckServiceHealth(name string) string

CheckServiceHealth checks service health

func (*Manager) Cleanup

func (m *Manager) Cleanup()

Cleanup cleans up all loaded extensions

func (*Manager) DBConnections added in v0.1.4

func (m *Manager) DBConnections(count int)

func (*Manager) DBQuery added in v0.1.4

func (m *Manager) DBQuery(duration time.Duration, err error)

func (*Manager) DBTransaction added in v0.1.4

func (m *Manager) DBTransaction(err error)

func (*Manager) DeregisterConsulService

func (m *Manager) DeregisterConsulService(name string) error

DeregisterConsulService deregisters a service from Consul

func (*Manager) ExecuteWithCircuitBreaker

func (m *Manager) ExecuteWithCircuitBreaker(extensionName string, fn func() (any, error)) (any, error)

ExecuteWithCircuitBreaker executes a function

func (*Manager) GetConfig

func (m *Manager) GetConfig() *config.Config

GetConfig returns the manager's config

func (*Manager) GetConsulService

func (m *Manager) GetConsulService(name string) (*api.AgentService, error)

GetConsulService gets a service from Consul

func (*Manager) GetCrossService added in v0.1.4

func (m *Manager) GetCrossService(extensionName, servicePath string) (any, error)

GetCrossService gets service by extension name and service path

func (*Manager) GetData added in v0.1.4

func (m *Manager) GetData() *data.Data

GetData returns the data layer instance

func (*Manager) GetEventsMetrics added in v0.1.4

func (m *Manager) GetEventsMetrics() map[string]any

GetEventsMetrics returns event metrics from the metrics system

func (*Manager) GetExtension

func (m *Manager) GetExtension(name string) (types.Interface, error)

GetExtension is deprecated, use GetExtensionByName instead

func (*Manager) GetExtensionByName added in v0.1.4

func (m *Manager) GetExtensionByName(name string) (types.Interface, error)

GetExtensionByName returns a specific extension by name

func (*Manager) GetExtensionPublisher added in v0.1.4

func (m *Manager) GetExtensionPublisher(name string, publisherType reflect.Type) (any, error)

GetExtensionPublisher returns a specific extension publisher

func (*Manager) GetExtensionSubscriber added in v0.1.4

func (m *Manager) GetExtensionSubscriber(name string, subscriberType reflect.Type) (any, error)

GetExtensionSubscriber returns a specific extension subscriber

func (*Manager) GetExtensions

func (m *Manager) GetExtensions() map[string]*types.Wrapper

GetExtensions is deprecated, use ListExtensions instead

func (*Manager) GetHandler

func (m *Manager) GetHandler(name string) (types.Handler, error)

GetHandler is deprecated, use GetHandlerByName instead

func (*Manager) GetHandlerByName added in v0.1.4

func (m *Manager) GetHandlerByName(name string) (types.Handler, error)

GetHandlerByName returns a specific handler from an extension

func (*Manager) GetHandlers

func (m *Manager) GetHandlers() map[string]types.Handler

GetHandlers is deprecated, use ListHandlers instead

func (*Manager) GetHealthyServices

func (m *Manager) GetHealthyServices(name string) ([]*api.ServiceEntry, error)

GetHealthyServices gets healthy services

func (*Manager) GetLatestMetrics added in v0.1.4

func (m *Manager) GetLatestMetrics(collection string, limit int) ([]*extMetrics.MetricSnapshot, error)

GetLatestMetrics gets latest metrics for a collection

func (*Manager) GetMetadata

func (m *Manager) GetMetadata() map[string]types.Metadata

GetMetadata returns the metadata of all registered extensions

func (*Manager) GetMetrics added in v0.1.4

func (m *Manager) GetMetrics() map[string]any

GetMetrics returns comprehensive system metrics

func (*Manager) GetMetricsStats added in v0.1.4

func (m *Manager) GetMetricsStats() map[string]any

GetMetricsStats returns storage statistics

func (*Manager) GetService

func (m *Manager) GetService(extensionName string) (types.Service, error)

GetService is deprecated, use GetServiceByName instead

func (*Manager) GetServiceByName added in v0.1.4

func (m *Manager) GetServiceByName(extensionName string) (types.Service, error)

GetServiceByName returns a specific service from an extension

func (*Manager) GetServiceCacheStats

func (m *Manager) GetServiceCacheStats() map[string]any

GetServiceCacheStats returns service cache statistics

func (*Manager) GetServices

func (m *Manager) GetServices() map[string]types.Service

GetServices is deprecated, use ListServices instead

func (*Manager) GetSpecificMetrics added in v0.1.4

func (m *Manager) GetSpecificMetrics(metricType string) map[string]any

GetSpecificMetrics returns specific metric types

func (*Manager) GetStatus

func (m *Manager) GetStatus() map[string]string

GetStatus returns the status of all registered extensions

func (*Manager) HealthCheck added in v0.1.4

func (m *Manager) HealthCheck(component string, healthy bool)

func (*Manager) InitExtensions

func (m *Manager) InitExtensions() error

InitExtensions initializes all registered extensions

func (*Manager) ListExtensions added in v0.1.4

func (m *Manager) ListExtensions() map[string]*types.Wrapper

ListExtensions returns all loaded extensions

func (*Manager) ListHandlers added in v0.1.4

func (m *Manager) ListHandlers() map[string]types.Handler

ListHandlers returns all registered extension handlers

func (*Manager) ListServices added in v0.1.4

func (m *Manager) ListServices() map[string]types.Service

ListServices returns all registered extension services

func (*Manager) LoadPlugin

func (m *Manager) LoadPlugin(path string) error

LoadPlugin loads a single plugin from file with security checks and metrics

func (*Manager) LoadPlugins

func (m *Manager) LoadPlugins() error

LoadPlugins loads all plugins based on configuration

func (*Manager) MQConsume added in v0.1.4

func (m *Manager) MQConsume(system string, err error)

func (*Manager) MQPublish added in v0.1.4

func (m *Manager) MQPublish(system string, err error)

func (*Manager) ManageRoutes

func (m *Manager) ManageRoutes(r *gin.RouterGroup)

ManageRoutes manages routes for all extensions

func (*Manager) MongoOperation added in v0.1.4

func (m *Manager) MongoOperation(operation string, err error)

func (*Manager) PublishEvent

func (m *Manager) PublishEvent(eventName string, data any, target ...types.EventTarget)

PublishEvent publishes event

func (*Manager) PublishEventWithRetry added in v0.1.2

func (m *Manager) PublishEventWithRetry(eventName string, data any, maxRetries int, target ...types.EventTarget)

PublishEventWithRetry publishes event with retry

func (*Manager) PublishMessage

func (m *Manager) PublishMessage(exchange, routingKey string, body []byte) error

PublishMessage publishes message to queue

func (*Manager) QueryMetrics added in v0.1.4

func (m *Manager) QueryMetrics(collection string, start, end time.Time) ([]*extMetrics.MetricSnapshot, error)

QueryMetrics queries historical metrics

func (*Manager) RedisCommand added in v0.1.4

func (m *Manager) RedisCommand(command string, err error)

func (*Manager) RedisConnections added in v0.1.4

func (m *Manager) RedisConnections(count int)

func (*Manager) RefreshCrossServices added in v0.1.4

func (m *Manager) RefreshCrossServices()

RefreshCrossServices is deprecated, automatic refresh

func (*Manager) Register

func (m *Manager) Register(ext types.Interface) error

Register is deprecated, use RegisterExtension instead

func (*Manager) RegisterConsulService

func (m *Manager) RegisterConsulService(name string, info *types.ServiceInfo) error

RegisterConsulService registers a service

func (*Manager) RegisterCrossService added in v0.1.4

func (m *Manager) RegisterCrossService(key string, service any)

RegisterCrossService manually registers a cross service

func (*Manager) RegisterExtension added in v0.1.4

func (m *Manager) RegisterExtension(ext types.Interface) error

RegisterExtension registers an extension

func (*Manager) RegisterRoutes

func (m *Manager) RegisterRoutes(router *gin.Engine)

RegisterRoutes registers all extension routes

func (*Manager) ReloadPlugin

func (m *Manager) ReloadPlugin(name string) error

ReloadPlugin reloads a single plugin

func (*Manager) SearchIndex added in v0.1.4

func (m *Manager) SearchIndex(engine, operation string)

func (*Manager) SearchQuery added in v0.1.4

func (m *Manager) SearchQuery(engine string, err error)

func (*Manager) SubscribeEvent

func (m *Manager) SubscribeEvent(eventName string, handler func(any), source ...types.EventTarget)

SubscribeEvent subscribes to events from specified sources

func (*Manager) SubscribeToMessages

func (m *Manager) SubscribeToMessages(queue string, handler func([]byte) error) error

SubscribeToMessages subscribes to queue messages

func (*Manager) UnloadPlugin

func (m *Manager) UnloadPlugin(name string) error

UnloadPlugin unloads a single plugin

type MetricsManager added in v0.1.4

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

MetricsManager handles all metrics-related functionality for the extension manager

func NewMetricsManager added in v0.1.4

func NewMetricsManager(ctx context.Context, enabled bool, retention time.Duration) *MetricsManager

NewMetricsManager creates a new metrics manager

func (*MetricsManager) CircuitBreakerTripped added in v0.1.4

func (mm *MetricsManager) CircuitBreakerTripped(extensionName string)

CircuitBreakerTripped tracks circuit breaker events

func (*MetricsManager) Cleanup added in v0.1.4

func (mm *MetricsManager) Cleanup()

Cleanup stops the metrics manager

func (*MetricsManager) DBConnections added in v0.1.4

func (mm *MetricsManager) DBConnections(count int)

func (*MetricsManager) DBQuery added in v0.1.4

func (mm *MetricsManager) DBQuery(duration time.Duration, err error)

func (*MetricsManager) DBTransaction added in v0.1.4

func (mm *MetricsManager) DBTransaction(err error)

func (*MetricsManager) EventDelivered added in v0.1.4

func (mm *MetricsManager) EventDelivered(eventName string, err error)

EventDelivered tracks event delivery

func (*MetricsManager) EventPublished added in v0.1.4

func (mm *MetricsManager) EventPublished(eventName string, target string)

EventPublished tracks event publication

func (*MetricsManager) ExtensionInitialized added in v0.1.4

func (mm *MetricsManager) ExtensionInitialized(name string, duration time.Duration, err error)

ExtensionInitialized tracks extension initialization

func (*MetricsManager) ExtensionLoaded added in v0.1.4

func (mm *MetricsManager) ExtensionLoaded(name string, duration time.Duration)

ExtensionLoaded tracks when an extension is loaded

func (*MetricsManager) ExtensionPhase added in v0.1.4

func (mm *MetricsManager) ExtensionPhase(name, phase string, duration time.Duration, err error)

ExtensionPhase tracks initialization phases

func (*MetricsManager) ExtensionUnloaded added in v0.1.4

func (mm *MetricsManager) ExtensionUnloaded(name string)

ExtensionUnloaded tracks when an extension is unloaded

func (*MetricsManager) GetAllCollections added in v0.1.4

func (mm *MetricsManager) GetAllCollections() map[string]*extMetrics.MetricCollection

GetAllCollections returns all metric collections

func (*MetricsManager) GetStats added in v0.1.4

func (mm *MetricsManager) GetStats() map[string]any

GetStats returns storage statistics

func (*MetricsManager) HealthCheck added in v0.1.4

func (mm *MetricsManager) HealthCheck(component string, healthy bool)

func (*MetricsManager) IsEnabled added in v0.1.4

func (mm *MetricsManager) IsEnabled() bool

IsEnabled returns whether metrics are enabled

func (*MetricsManager) MQConsume added in v0.1.4

func (mm *MetricsManager) MQConsume(system string, err error)

func (*MetricsManager) MQPublish added in v0.1.4

func (mm *MetricsManager) MQPublish(system string, err error)

func (*MetricsManager) MongoOperation added in v0.1.4

func (mm *MetricsManager) MongoOperation(operation string, err error)

func (*MetricsManager) PluginLoadAttempt added in v0.1.4

func (mm *MetricsManager) PluginLoadAttempt(name string, success bool)

PluginLoadAttempt tracks plugin load attempts

func (*MetricsManager) Query added in v0.1.4

func (mm *MetricsManager) Query(collection string, start, end time.Time) ([]*extMetrics.MetricSnapshot, error)

Query retrieves historical metrics

func (*MetricsManager) QueryLatest added in v0.1.4

func (mm *MetricsManager) QueryLatest(collection string, limit int) ([]*extMetrics.MetricSnapshot, error)

QueryLatest retrieves latest metrics

func (*MetricsManager) RedisCommand added in v0.1.4

func (mm *MetricsManager) RedisCommand(command string, err error)

func (*MetricsManager) RedisConnections added in v0.1.4

func (mm *MetricsManager) RedisConnections(count int)

func (*MetricsManager) SearchIndex added in v0.1.4

func (mm *MetricsManager) SearchIndex(engine, operation string)

func (*MetricsManager) SearchQuery added in v0.1.4

func (mm *MetricsManager) SearchQuery(engine string, err error)

func (*MetricsManager) ServiceCall added in v0.1.4

func (mm *MetricsManager) ServiceCall(serviceName, methodName string, duration time.Duration, err error)

ServiceCall tracks service call metrics

func (*MetricsManager) Snapshot added in v0.1.4

func (mm *MetricsManager) Snapshot() map[string][]*extMetrics.MetricSnapshot

Snapshot creates snapshots of all metrics

func (*MetricsManager) SystemMetrics added in v0.1.4

func (mm *MetricsManager) SystemMetrics(memoryMB int64, goroutines int, gcCycles uint32)

SystemMetrics tracks system-level metrics

func (*MetricsManager) UpgradeToRedisStorage added in v0.1.4

func (mm *MetricsManager) UpgradeToRedisStorage(redis *redis.Client, keyPrefix string)

UpgradeToRedisStorage upgrades from memory to Redis storage

Jump to

Keyboard shortcuts

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