Documentation
¶
Index ¶
- func DefaultCallOptions() *types.CallOptions
- type GRPCExtension
- type Manager
- func (m *Manager) CallService(ctx context.Context, serviceName, methodName string, req any) (*types.CallResult, error)
- func (m *Manager) CallServiceWithOptions(ctx context.Context, serviceName, methodName string, req any, ...) (*types.CallResult, error)
- func (m *Manager) CheckServiceHealth(name string) string
- func (m *Manager) Cleanup()
- func (m *Manager) DBConnections(count int)
- func (m *Manager) DBQuery(duration time.Duration, err error)
- func (m *Manager) DBTransaction(err error)
- func (m *Manager) DeregisterConsulService(name string) error
- func (m *Manager) ExecuteWithCircuitBreaker(extensionName string, fn func() (any, error)) (any, error)
- func (m *Manager) GetConfig() *config.Config
- func (m *Manager) GetConsulService(name string) (*api.AgentService, error)
- func (m *Manager) GetCrossService(extensionName, servicePath string) (any, error)
- func (m *Manager) GetData() *data.Data
- func (m *Manager) GetEventsMetrics() map[string]any
- func (m *Manager) GetExtension(name string) (types.Interface, error)
- func (m *Manager) GetExtensionByName(name string) (types.Interface, error)
- func (m *Manager) GetExtensionPublisher(name string, publisherType reflect.Type) (any, error)
- func (m *Manager) GetExtensionSubscriber(name string, subscriberType reflect.Type) (any, error)
- func (m *Manager) GetExtensions() map[string]*types.Wrapper
- func (m *Manager) GetHandler(name string) (types.Handler, error)
- func (m *Manager) GetHandlerByName(name string) (types.Handler, error)
- func (m *Manager) GetHandlers() map[string]types.Handler
- func (m *Manager) GetHealthyServices(name string) ([]*api.ServiceEntry, error)
- func (m *Manager) GetLatestMetrics(collection string, limit int) ([]*extMetrics.MetricSnapshot, error)
- func (m *Manager) GetMetadata() map[string]types.Metadata
- func (m *Manager) GetMetrics() map[string]any
- func (m *Manager) GetMetricsStats() map[string]any
- func (m *Manager) GetService(extensionName string) (types.Service, error)
- func (m *Manager) GetServiceByName(extensionName string) (types.Service, error)
- func (m *Manager) GetServiceCacheStats() map[string]any
- func (m *Manager) GetServices() map[string]types.Service
- func (m *Manager) GetSpecificMetrics(metricType string) map[string]any
- func (m *Manager) GetStatus() map[string]string
- func (m *Manager) HealthCheck(component string, healthy bool)
- func (m *Manager) InitExtensions() error
- func (m *Manager) ListExtensions() map[string]*types.Wrapper
- func (m *Manager) ListHandlers() map[string]types.Handler
- func (m *Manager) ListServices() map[string]types.Service
- func (m *Manager) LoadPlugin(path string) error
- func (m *Manager) LoadPlugins() error
- func (m *Manager) MQConsume(system string, err error)
- func (m *Manager) MQPublish(system string, err error)
- func (m *Manager) ManageRoutes(r *gin.RouterGroup)
- func (m *Manager) MongoOperation(operation string, err error)
- func (m *Manager) PublishEvent(eventName string, data any, target ...types.EventTarget)
- func (m *Manager) PublishEventWithRetry(eventName string, data any, maxRetries int, target ...types.EventTarget)
- func (m *Manager) PublishMessage(exchange, routingKey string, body []byte) error
- func (m *Manager) QueryMetrics(collection string, start, end time.Time) ([]*extMetrics.MetricSnapshot, error)
- func (m *Manager) RedisCommand(command string, err error)
- func (m *Manager) RedisConnections(count int)
- func (m *Manager) RefreshCrossServices()
- func (m *Manager) Register(ext types.Interface) error
- func (m *Manager) RegisterConsulService(name string, info *types.ServiceInfo) error
- func (m *Manager) RegisterCrossService(key string, service any)
- func (m *Manager) RegisterExtension(ext types.Interface) error
- func (m *Manager) RegisterRoutes(router *gin.Engine)
- func (m *Manager) ReloadPlugin(name string) error
- func (m *Manager) SearchIndex(engine, operation string)
- func (m *Manager) SearchQuery(engine string, err error)
- func (m *Manager) SubscribeEvent(eventName string, handler func(any), source ...types.EventTarget)
- func (m *Manager) SubscribeToMessages(queue string, handler func([]byte) error) error
- func (m *Manager) UnloadPlugin(name string) error
- type MetricsManager
- func (mm *MetricsManager) CircuitBreakerTripped(extensionName string)
- func (mm *MetricsManager) Cleanup()
- func (mm *MetricsManager) DBConnections(count int)
- func (mm *MetricsManager) DBQuery(duration time.Duration, err error)
- func (mm *MetricsManager) DBTransaction(err error)
- func (mm *MetricsManager) EventDelivered(eventName string, err error)
- func (mm *MetricsManager) EventPublished(eventName string, target string)
- func (mm *MetricsManager) ExtensionInitialized(name string, duration time.Duration, err error)
- func (mm *MetricsManager) ExtensionLoaded(name string, duration time.Duration)
- func (mm *MetricsManager) ExtensionPhase(name, phase string, duration time.Duration, err error)
- func (mm *MetricsManager) ExtensionUnloaded(name string)
- func (mm *MetricsManager) GetAllCollections() map[string]*extMetrics.MetricCollection
- func (mm *MetricsManager) GetStats() map[string]any
- func (mm *MetricsManager) HealthCheck(component string, healthy bool)
- func (mm *MetricsManager) IsEnabled() bool
- func (mm *MetricsManager) MQConsume(system string, err error)
- func (mm *MetricsManager) MQPublish(system string, err error)
- func (mm *MetricsManager) MongoOperation(operation string, err error)
- func (mm *MetricsManager) PluginLoadAttempt(name string, success bool)
- func (mm *MetricsManager) Query(collection string, start, end time.Time) ([]*extMetrics.MetricSnapshot, error)
- func (mm *MetricsManager) QueryLatest(collection string, limit int) ([]*extMetrics.MetricSnapshot, error)
- func (mm *MetricsManager) RedisCommand(command string, err error)
- func (mm *MetricsManager) RedisConnections(count int)
- func (mm *MetricsManager) SearchIndex(engine, operation string)
- func (mm *MetricsManager) SearchQuery(engine string, err error)
- func (mm *MetricsManager) ServiceCall(serviceName, methodName string, duration time.Duration, err error)
- func (mm *MetricsManager) Snapshot() map[string][]*extMetrics.MetricSnapshot
- func (mm *MetricsManager) SystemMetrics(memoryMB int64, goroutines int, gcCycles uint32)
- func (mm *MetricsManager) UpgradeToRedisStorage(redis *redis.Client, keyPrefix string)
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
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 ¶
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 ¶
CheckServiceHealth checks service health
func (*Manager) DBConnections ¶ added in v0.1.4
func (*Manager) DBTransaction ¶ added in v0.1.4
func (*Manager) DeregisterConsulService ¶
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) GetConsulService ¶
func (m *Manager) GetConsulService(name string) (*api.AgentService, error)
GetConsulService gets a service from Consul
func (*Manager) GetCrossService ¶ added in v0.1.4
GetCrossService gets service by extension name and service path
func (*Manager) GetEventsMetrics ¶ added in v0.1.4
GetEventsMetrics returns event metrics from the metrics system
func (*Manager) GetExtension ¶
GetExtension is deprecated, use GetExtensionByName instead
func (*Manager) GetExtensionByName ¶ added in v0.1.4
GetExtensionByName returns a specific extension by name
func (*Manager) GetExtensionPublisher ¶ added in v0.1.4
GetExtensionPublisher returns a specific extension publisher
func (*Manager) GetExtensionSubscriber ¶ added in v0.1.4
GetExtensionSubscriber returns a specific extension subscriber
func (*Manager) GetExtensions ¶
GetExtensions is deprecated, use ListExtensions instead
func (*Manager) GetHandler ¶
GetHandler is deprecated, use GetHandlerByName instead
func (*Manager) GetHandlerByName ¶ added in v0.1.4
GetHandlerByName returns a specific handler from an extension
func (*Manager) GetHandlers ¶
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 ¶
GetMetadata returns the metadata of all registered extensions
func (*Manager) GetMetrics ¶ added in v0.1.4
GetMetrics returns comprehensive system metrics
func (*Manager) GetMetricsStats ¶ added in v0.1.4
GetMetricsStats returns storage statistics
func (*Manager) GetService ¶
GetService is deprecated, use GetServiceByName instead
func (*Manager) GetServiceByName ¶ added in v0.1.4
GetServiceByName returns a specific service from an extension
func (*Manager) GetServiceCacheStats ¶
GetServiceCacheStats returns service cache statistics
func (*Manager) GetServices ¶
GetServices is deprecated, use ListServices instead
func (*Manager) GetSpecificMetrics ¶ added in v0.1.4
GetSpecificMetrics returns specific metric types
func (*Manager) HealthCheck ¶ added in v0.1.4
func (*Manager) InitExtensions ¶
InitExtensions initializes all registered extensions
func (*Manager) ListExtensions ¶ added in v0.1.4
ListExtensions returns all loaded extensions
func (*Manager) ListHandlers ¶ added in v0.1.4
ListHandlers returns all registered extension handlers
func (*Manager) ListServices ¶ added in v0.1.4
ListServices returns all registered extension services
func (*Manager) LoadPlugin ¶
LoadPlugin loads a single plugin from file with security checks and metrics
func (*Manager) LoadPlugins ¶
LoadPlugins loads all plugins based on configuration
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 (*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 ¶
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 (*Manager) RedisConnections ¶ added in v0.1.4
func (*Manager) RefreshCrossServices ¶ added in v0.1.4
func (m *Manager) RefreshCrossServices()
RefreshCrossServices is deprecated, automatic refresh
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
RegisterCrossService manually registers a cross service
func (*Manager) RegisterExtension ¶ added in v0.1.4
RegisterExtension registers an extension
func (*Manager) RegisterRoutes ¶
RegisterRoutes registers all extension routes
func (*Manager) ReloadPlugin ¶
ReloadPlugin reloads a single plugin
func (*Manager) SearchIndex ¶ added in v0.1.4
func (*Manager) SearchQuery ¶ added in v0.1.4
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 ¶
SubscribeToMessages subscribes to queue messages
func (*Manager) UnloadPlugin ¶
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
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