Documentation ¶
Index ¶
- func CustomCommandStatusChange(kv *api.KV, deploymentID, taskID, status string) (string, error)
- func DeploymentStatusChange(kv *api.KV, deploymentID, status string) (string, error)
- func FormatLog(flat map[string]interface{}) string
- func GetLogsEventsIndex(kv *api.KV, deploymentID string) (uint64, error)
- func GetStatusEventsIndex(kv *api.KV, deploymentID string) (uint64, error)
- func InstanceStatusChange(kv *api.KV, deploymentID, nodeName, instance, status string) (string, error)
- func LogsEvents(kv *api.KV, deploymentID string, waitIndex uint64, timeout time.Duration) ([]json.RawMessage, uint64, error)
- func NewContext(ctx context.Context, logOptFields LogOptionalFields) context.Context
- func ScalingStatusChange(kv *api.KV, deploymentID, taskID, status string) (string, error)
- func WorkflowStatusChange(kv *api.KV, deploymentID, taskID, status string) (string, error)
- type BufferedLogEntryWriter
- type FieldType
- type LogEntry
- type LogEntryDraft
- type LogLevel
- type LogOptionalFields
- type StatusUpdate
- type StatusUpdateType
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CustomCommandStatusChange ¶
CustomCommandStatusChange publishes a status change for a custom command
CustomCommandStatusChange returns the published event id
func DeploymentStatusChange ¶
DeploymentStatusChange publishes a status change for a given deployment
DeploymentStatusChange returns the published event id
func FormatLog ¶
FormatLog allows to format the flat map log representation in the following format :[Timestamp][Level][DeploymentID][WorkflowID]ExecutionIDNodeIDInstanceIDInterfaceNameOperationName[TypeID]Content
func GetLogsEventsIndex ¶
GetLogsEventsIndex returns the latest index of LogEntry events for a given deployment
func GetStatusEventsIndex ¶
GetStatusEventsIndex returns the latest index of InstanceStatus events for a given deployment
func InstanceStatusChange ¶
func InstanceStatusChange(kv *api.KV, deploymentID, nodeName, instance, status string) (string, error)
InstanceStatusChange publishes a status change for a given instance of a given node
InstanceStatusChange returns the published event id
func LogsEvents ¶
func LogsEvents(kv *api.KV, deploymentID string, waitIndex uint64, timeout time.Duration) ([]json.RawMessage, uint64, error)
LogsEvents allows to return logs from Consul KV storage for all, or a given deployment
func NewContext ¶
func NewContext(ctx context.Context, logOptFields LogOptionalFields) context.Context
NewContext returns a new Context that carries value logOptFields.
func ScalingStatusChange ¶
ScalingStatusChange publishes a status change for a scaling task
ScalingStatusChange returns the published event id
Types ¶
type BufferedLogEntryWriter ¶
A BufferedLogEntryWriter is a Writer that buffers writes and flushes its buffer as an event log on a regular basis (every 5s)
func NewBufferedLogEntryWriter ¶
func NewBufferedLogEntryWriter() BufferedLogEntryWriter
NewBufferedLogEntryWriter returns a BufferedLogEntryWriter used to register log entry
type FieldType ¶
type FieldType int
FieldType is allowed/expected additional info types
const ( // WorkFlowID is the field type representing the workflow ID in log entry WorkFlowID FieldType = iota // ExecutionID is the field type representing the execution ID in log entry ExecutionID // NodeID is the field type representing the node ID in log entry NodeID // InstanceID is the field type representing the instance ID in log entry InstanceID // InterfaceName is the field type representing the interface ID in log entry InterfaceName // OperationName is the field type representing the operation ID in log entry OperationName // TypeID is the field type representing the type ID in log entry TypeID )
type LogEntry ¶
type LogEntry struct {
// contains filtered or unexported fields
}
LogEntry is the log entry representation
func SimpleLogEntry ¶
SimpleLogEntry allows to return a LogEntry instance with log level and deploymentID
func (LogEntry) RegisterAsString ¶
RegisterAsString allows to register a log entry with string content
func (LogEntry) Registerf ¶
Registerf allows to register a log entry with formats according to a format specifier.
This is basically a convenient function around RegisterAsString(fmt.Sprintf()).
func (LogEntry) RunBufferedRegistration ¶
func (e LogEntry) RunBufferedRegistration(buf BufferedLogEntryWriter, quit chan bool)
RunBufferedRegistration allows to run a registration with a buffered writer
type LogEntryDraft ¶
type LogEntryDraft struct {
// contains filtered or unexported fields
}
LogEntryDraft is a partial LogEntry with only optional fields. It has to be completed with level and deploymentID
func WithContextOptionalFields ¶
func WithContextOptionalFields(ctx context.Context) *LogEntryDraft
WithContextOptionalFields allows to return a LogEntry instance with additional fields comming from the context
func WithOptionalFields
deprecated
func WithOptionalFields(fields LogOptionalFields) *LogEntryDraft
WithOptionalFields allows to return a LogEntry instance with additional fields
Deprecated: Use events.WithContextOptionalFields() instead
func (LogEntryDraft) NewLogEntry ¶
func (e LogEntryDraft) NewLogEntry(level LogLevel, deploymentID string) *LogEntry
NewLogEntry allows to build a log entry from a draft
type LogOptionalFields ¶
type LogOptionalFields map[FieldType]interface{}
LogOptionalFields are log's additional info
func FromContext ¶
func FromContext(ctx context.Context) (LogOptionalFields, bool)
FromContext returns a copy of the LogOptionalFields value stored in ctx, if any.
type StatusUpdate ¶
type StatusUpdate struct { Timestamp string `json:"timestamp"` Type string `json:"type"` Node string `json:"node,omitempty"` Instance string `json:"instance,omitempty"` TaskID string `json:"task_id,omitempty"` DeploymentID string `json:"deployment_id"` Status string `json:"status"` }
StatusUpdate represents status change event
type StatusUpdateType ¶
type StatusUpdateType uint64
StatusUpdateType is the status update type
const ( // InstanceStatusChangeType is the StatusUpdate type for an instance state change event InstanceStatusChangeType StatusUpdateType = iota // DeploymentStatusChangeType is the StatusUpdate type for an deployment status change event DeploymentStatusChangeType // CustomCommandStatusChangeType is the StatusUpdate type for an custom command status change event CustomCommandStatusChangeType // ScalingStatusChangeType is the StatusUpdate type for an scaling status change event ScalingStatusChangeType // WorkflowStatusChangeType is the StatusUpdate type for an workflow status change event WorkflowStatusChangeType )
func StatusUpdateTypeString ¶
func StatusUpdateTypeString(s string) (StatusUpdateType, error)
StatusUpdateTypeString returns a StatusUpdateType given its string representation
func (StatusUpdateType) String ¶
func (i StatusUpdateType) String() string