Documentation
¶
Index ¶
- Variables
- 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) CleanupOldMetrics(maxAge time.Duration) error
- func (m *Manager) DeregisterConsulService(name string) error
- func (m *Manager) ExecuteWithCircuitBreaker(extensionName string, fn func() (any, error)) (any, error)
- func (m *Manager) GetComprehensiveMetrics() map[string]any
- 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) GetDataMetrics() map[string]any
- 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) GetExtensionMetrics(name string) *metrics.ExtensionMetrics
- 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(extensionName string, limit int) ([]*metrics.Snapshot, error)
- func (m *Manager) GetMetadata() map[string]types.Metadata
- func (m *Manager) GetMetrics() map[string]any
- func (m *Manager) GetMetricsStorageStats() 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) GetStatus() map[string]string
- func (m *Manager) GetSystemMetrics() map[string]any
- func (m *Manager) InitExtensions() error
- func (m *Manager) IsFullyInitialized() bool
- func (m *Manager) IsMetricsEnabled() bool
- 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) ManageRoutes(r *gin.RouterGroup)
- 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) QueryHistoricalMetrics(opts *metrics.QueryOptions) ([]*metrics.AggregatedMetrics, error)
- 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) 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
Constants ¶
This section is empty.
Variables ¶
var ProviderSet = wire.NewSet(ProvideManager)
ProviderSet is the wire provider set for the extension manager package. It provides *Manager with a cleanup function that properly shuts down all extensions, services, and subsystems.
Usage:
wire.Build(
config.ProviderSet,
manager.ProviderSet,
// ... other providers
)
Functions ¶
func DefaultCallOptions ¶
func DefaultCallOptions() *types.CallOptions
DefaultCallOptions returns default call options
Types ¶
type GRPCExtension ¶
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 ProvideManager ¶ added in v0.2.0
ProvideManager initializes and returns the extension manager with cleanup function. The cleanup function should be called when the application shuts down to properly cleanup all extensions and release resources.
func (*Manager) CallService ¶
func (m *Manager) CallService(ctx context.Context, serviceName, methodName string, req any) (*types.CallResult, error)
CallService provides unified service calling interface
func (*Manager) CallServiceWithOptions ¶
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) Cleanup ¶
func (m *Manager) Cleanup()
Cleanup cleans up all loaded extensions and subsystems
func (*Manager) CleanupOldMetrics ¶
CleanupOldMetrics removes old metrics
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) GetComprehensiveMetrics ¶
GetComprehensiveMetrics returns all metrics in a structured format
func (*Manager) GetConsulService ¶
func (m *Manager) GetConsulService(name string) (*api.AgentService, error)
GetConsulService gets a service from Consul
func (*Manager) GetCrossService ¶
GetCrossService gets service by extension name and service path
func (*Manager) GetDataMetrics ¶
GetDataMetrics returns data layer metrics
func (*Manager) GetEventsMetrics ¶
GetEventsMetrics returns event metrics
func (*Manager) GetExtension ¶
GetExtension is deprecated, use GetExtensionByName instead
func (*Manager) GetExtensionByName ¶
GetExtensionByName returns a specific extension by name
func (*Manager) GetExtensionMetrics ¶
func (m *Manager) GetExtensionMetrics(name string) *metrics.ExtensionMetrics
GetExtensionMetrics returns metrics for specific extension
func (*Manager) GetExtensionPublisher ¶
GetExtensionPublisher returns a specific extension publisher
func (*Manager) GetExtensionSubscriber ¶
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 ¶
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 ¶
GetLatestMetrics gets latest metrics for an extension
func (*Manager) GetMetadata ¶
GetMetadata returns the metadata of all registered extensions
func (*Manager) GetMetrics ¶
GetMetrics returns comprehensive metrics
func (*Manager) GetMetricsStorageStats ¶
GetMetricsStorageStats returns storage statistics
func (*Manager) GetService ¶
GetService is deprecated, use GetServiceByName instead
func (*Manager) GetServiceByName ¶
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) GetSystemMetrics ¶
GetSystemMetrics returns system metrics from all layers
func (*Manager) InitExtensions ¶
InitExtensions initializes all registered extensions
func (*Manager) IsFullyInitialized ¶
IsFullyInitialized checks if all extensions are ready
func (*Manager) IsMetricsEnabled ¶
IsMetricsEnabled returns whether metrics collection is enabled
func (*Manager) ListExtensions ¶
ListExtensions returns all loaded extensions
func (*Manager) ListHandlers ¶
ListHandlers returns all registered extension handlers
func (*Manager) ListServices ¶
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) PublishEvent ¶
func (m *Manager) PublishEvent(eventName string, data any, target ...types.EventTarget)
PublishEvent publishes event
func (*Manager) PublishEventWithRetry ¶
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 available queue system
func (*Manager) QueryHistoricalMetrics ¶
func (m *Manager) QueryHistoricalMetrics(opts *metrics.QueryOptions) ([]*metrics.AggregatedMetrics, error)
QueryHistoricalMetrics queries historical metrics
func (*Manager) RefreshCrossServices ¶
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 ¶
RegisterCrossService manually registers a cross service
func (*Manager) RegisterExtension ¶
RegisterExtension registers an extension
func (*Manager) RegisterRoutes ¶
RegisterRoutes registers all extension routes
func (*Manager) ReloadPlugin ¶
ReloadPlugin reloads a single plugin
func (*Manager) SubscribeEvent ¶
func (m *Manager) SubscribeEvent(eventName string, handler func(any), source ...types.EventTarget)
SubscribeEvent subscribes to events
func (*Manager) SubscribeToMessages ¶
SubscribeToMessages subscribes to messages from available queue system
func (*Manager) UnloadPlugin ¶
UnloadPlugin unloads a single plugin