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) 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 ¶
This section is empty.
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 (*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