Documentation
¶
Index ¶
- func AddLogOptionalFields(ctx context.Context, logOptFields LogOptionalFields) context.Context
- func CustomCommandStatusChange(kv *api.KV, deploymentID, taskID, status string) (string, error)deprecated
- func DeploymentStatusChange(kv *api.KV, deploymentID, status string) (string, error)deprecated
- 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)deprecated
- 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 PublishAndLogCustomCommandStatusChange(ctx context.Context, kv *api.KV, deploymentID, taskID, status string) (string, error)
- func PublishAndLogDeploymentStatusChange(ctx context.Context, kv *api.KV, deploymentID, status string) (string, error)
- func PublishAndLogInstanceStatusChange(ctx context.Context, kv *api.KV, ...) (string, error)
- func PublishAndLogScalingStatusChange(ctx context.Context, kv *api.KV, deploymentID, taskID, status string) (string, error)
- func PublishAndLogWorkflowStatusChange(ctx context.Context, kv *api.KV, deploymentID, taskID, status string) (string, error)
- func ScalingStatusChange(kv *api.KV, deploymentID, taskID, status string) (string, error)deprecated
- func WorkflowStatusChange(kv *api.KV, deploymentID, taskID, status string) (string, error)deprecated
- 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 AddLogOptionalFields ¶
func AddLogOptionalFields(ctx context.Context, logOptFields LogOptionalFields) context.Context
AddLogOptionalFields adds given log optional fields to existing one in the given context if any
Existing fields are overwritten in case of collision
func CustomCommandStatusChange
deprecated
func DeploymentStatusChange
deprecated
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
deprecated
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 PublishAndLogCustomCommandStatusChange ¶
func PublishAndLogCustomCommandStatusChange(ctx context.Context, kv *api.KV, deploymentID, taskID, status string) (string, error)
PublishAndLogCustomCommandStatusChange publishes a status change for a custom command and log this change into the log API
PublishAndLogCustomCommandStatusChange returns the published event id
func PublishAndLogDeploymentStatusChange ¶
func PublishAndLogDeploymentStatusChange(ctx context.Context, kv *api.KV, deploymentID, status string) (string, error)
PublishAndLogDeploymentStatusChange publishes a status change for a given deployment and log this change into the log API
PublishAndLogDeploymentStatusChange returns the published event id
func PublishAndLogInstanceStatusChange ¶
func PublishAndLogInstanceStatusChange(ctx context.Context, kv *api.KV, deploymentID, nodeName, instance, status string) (string, error)
PublishAndLogInstanceStatusChange publishes a status change for a given instance of a given node and log this change into the log API
PublishAndLogInstanceStatusChange returns the published event id
func PublishAndLogScalingStatusChange ¶
func PublishAndLogScalingStatusChange(ctx context.Context, kv *api.KV, deploymentID, taskID, status string) (string, error)
PublishAndLogScalingStatusChange publishes a status change for a scaling task and log this change into the log API
PublishAndLogScalingStatusChange returns the published event id
func PublishAndLogWorkflowStatusChange ¶
func PublishAndLogWorkflowStatusChange(ctx context.Context, kv *api.KV, deploymentID, taskID, status string) (string, error)
PublishAndLogWorkflowStatusChange publishes a status change for a workflow task and log this change into the log API
PublishAndLogWorkflowStatusChange returns the published event id
func WorkflowStatusChange
deprecated
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 LogLevel ¶
type LogLevel int
LogLevel x ENUM( INFO, DEBUG, WARN, ERROR )
func ParseLogLevel ¶
ParseLogLevel attempts to convert a string to a LogLevel
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