Documentation
¶
Index ¶
- Constants
- func GetOperationID(c echo.Context) string
- type Config
- type Manager
- func (m *Manager) CompleteOperation(id string, err error)
- func (m *Manager) GetOperation(id string) *OperationState
- func (m *Manager) GetStats() *OperationStats
- func (m *Manager) ListOperations() []*OperationState
- func (m *Manager) Middleware(operationType string) echo.MiddlewareFunc
- func (m *Manager) RegisterRoutes(g *echo.Group)
- func (m *Manager) StartOperation(id, operation string, metadata map[string]interface{}) *OperationState
- func (m *Manager) UpdateMetadata(id string, key string, value interface{})
- type OperationState
- type OperationStats
- type Status
Constants ¶
const OperationIDKey = "operation_id"
ContextKey for storing operation ID in echo context
Variables ¶
This section is empty.
Functions ¶
func GetOperationID ¶
GetOperationID retrieves the operation ID from the echo context Returns empty string if not found
Types ¶
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager handles state tracking for operations
func (*Manager) CompleteOperation ¶
CompleteOperation marks an operation as completed or failed
func (*Manager) GetOperation ¶
func (m *Manager) GetOperation(id string) *OperationState
GetOperation retrieves an operation by ID
func (*Manager) GetStats ¶
func (m *Manager) GetStats() *OperationStats
GetStats returns aggregated statistics
func (*Manager) ListOperations ¶
func (m *Manager) ListOperations() []*OperationState
ListOperations returns all tracked operations
func (*Manager) Middleware ¶
func (m *Manager) Middleware(operationType string) echo.MiddlewareFunc
Middleware creates Echo middleware for automatic operation tracking Usage: e.Use(stateManager.Middleware("operation-type"))
func (*Manager) RegisterRoutes ¶
RegisterRoutes adds state endpoints to an Echo group
func (*Manager) StartOperation ¶
func (m *Manager) StartOperation(id, operation string, metadata map[string]interface{}) *OperationState
StartOperation creates a new operation in running state
func (*Manager) UpdateMetadata ¶
UpdateMetadata adds/updates metadata for an operation
type OperationState ¶
type OperationState struct {
ID string `json:"id"`
ServiceName string `json:"service_name"`
Operation string `json:"operation"` // e.g., "xquery", "s3-upload", "template-render"
Status Status `json:"status"`
StartedAt time.Time `json:"started_at"`
CompletedAt *time.Time `json:"completed_at,omitempty"`
Duration string `json:"duration,omitempty"`
Error string `json:"error,omitempty"`
Metadata map[string]interface{} `json:"metadata,omitempty"` // Service-specific data
}
OperationState represents a tracked operation