Documentation
¶
Index ¶
- Variables
- type AgentFailedEvent
- type AnnounceTaskPIDEvent
- func (e *AnnounceTaskPIDEvent) GetLabels() map[string]string
- func (e *AnnounceTaskPIDEvent) GetName() string
- func (e *AnnounceTaskPIDEvent) GetTaskId() string
- func (e *AnnounceTaskPIDEvent) GetTaskPID() int
- func (e *AnnounceTaskPIDEvent) GetTimestamp() string
- func (e *AnnounceTaskPIDEvent) SetLabels(labels map[string]string)
- type BasicTaskTerminated
- type DeviceEvent
- type DeviceEventBase
- type DeviceEventOrigin
- type DummyWriter
- type EndOfStream
- type EnvironmentEvent
- func (e *EnvironmentEvent) GetError() string
- func (e *EnvironmentEvent) GetLabels() map[string]string
- func (e *EnvironmentEvent) GetMessage() string
- func (e *EnvironmentEvent) GetName() string
- func (e *EnvironmentEvent) GetRun() uint32
- func (e *EnvironmentEvent) GetState() string
- func (e *EnvironmentEvent) GetTimestamp() string
- func (e *EnvironmentEvent) SetLabels(labels map[string]string)
- type Event
- type ExecutorFailedEvent
- type FifoBuffer
- type HasEnvID
- type IntegratedServiceEvent
- type IntegratedServiceEventBase
- type KafkaWriter
- type RoleEvent
- func (e *RoleEvent) GetLabels() map[string]string
- func (r *RoleEvent) GetName() string
- func (r *RoleEvent) GetRolePath() string
- func (r *RoleEvent) GetState() string
- func (r *RoleEvent) GetStatus() string
- func (e *RoleEvent) GetTimestamp() string
- func (e *RoleEvent) SetLabels(labels map[string]string)
- type TaskEvent
- func (r *TaskEvent) GetClassName() string
- func (r *TaskEvent) GetHostname() string
- func (e *TaskEvent) GetLabels() map[string]string
- func (r *TaskEvent) GetName() string
- func (r *TaskEvent) GetState() string
- func (r *TaskEvent) GetStatus() string
- func (r *TaskEvent) GetTaskID() string
- func (e *TaskEvent) GetTimestamp() string
- func (e *TaskEvent) SetLabels(labels map[string]string)
- type TaskInternalError
- type TasksReleasedEvent
- func (tr *TasksReleasedEvent) GetEnvironmentId() uid.ID
- func (e *TasksReleasedEvent) GetLabels() map[string]string
- func (tr *TasksReleasedEvent) GetName() string
- func (tr *TasksReleasedEvent) GetTaskIds() []string
- func (tr *TasksReleasedEvent) GetTaskReleaseErrors() map[string]error
- func (e *TasksReleasedEvent) GetTimestamp() string
- func (e *TasksReleasedEvent) SetLabels(labels map[string]string)
- type TasksStateChangedEvent
- func (tr *TasksStateChangedEvent) GetEnvironmentId() uid.ID
- func (e *TasksStateChangedEvent) GetLabels() map[string]string
- func (tr *TasksStateChangedEvent) GetName() string
- func (tr *TasksStateChangedEvent) GetTaskIds() []string
- func (tr *TasksStateChangedEvent) GetTasksStateChangedError() error
- func (e *TasksStateChangedEvent) GetTimestamp() string
- func (e *TasksStateChangedEvent) SetLabels(labels map[string]string)
- type Writer
Constants ¶
This section is empty.
Variables ¶
View Source
var ( KAFKAWRITER = "kafka_writer" KAFKAPREPARE = "kafka_prepare" )
Functions ¶
This section is empty.
Types ¶
type AgentFailedEvent ¶ added in v0.68.0
type AgentFailedEvent struct { AgentId mesos.AgentID `json:"agentId"` // contains filtered or unexported fields }
func NewAgentFailedEvent ¶ added in v0.68.0
func NewAgentFailedEvent(agentId *mesos.AgentID) *AgentFailedEvent
func (*AgentFailedEvent) GetId ¶ added in v0.68.0
func (e *AgentFailedEvent) GetId() mesos.AgentID
func (*AgentFailedEvent) GetName ¶ added in v0.68.0
func (e *AgentFailedEvent) GetName() string
func (*AgentFailedEvent) GetTimestamp ¶ added in v0.68.0
func (e *AgentFailedEvent) GetTimestamp() string
type AnnounceTaskPIDEvent ¶ added in v0.17.80
type AnnounceTaskPIDEvent struct { TaskId string `json:"taskId"` PID int32 `json:"pid"` // contains filtered or unexported fields }
func NewAnnounceTaskPIDEvent ¶ added in v0.17.80
func NewAnnounceTaskPIDEvent(id string, pid int32) (e *AnnounceTaskPIDEvent)
func (*AnnounceTaskPIDEvent) GetName ¶ added in v0.17.80
func (e *AnnounceTaskPIDEvent) GetName() string
func (*AnnounceTaskPIDEvent) GetTaskId ¶ added in v0.17.80
func (e *AnnounceTaskPIDEvent) GetTaskId() string
func (*AnnounceTaskPIDEvent) GetTaskPID ¶ added in v0.17.80
func (e *AnnounceTaskPIDEvent) GetTaskPID() int
func (*AnnounceTaskPIDEvent) GetTimestamp ¶ added in v0.17.80
func (e *AnnounceTaskPIDEvent) GetTimestamp() string
type BasicTaskTerminated ¶ added in v0.12.0
type BasicTaskTerminated struct { DeviceEventBase ExitCode int `json:"exitCode"` Stdout string `json:"stdout"` Stderr string `json:"stderr"` VoluntaryTermination bool `json:"voluntaryTermination"` FinalMesosState mesos.TaskState `json:"finalMesosState"` }
func (*BasicTaskTerminated) GetName ¶ added in v0.12.0
func (e *BasicTaskTerminated) GetName() string
func (*BasicTaskTerminated) GetTimestamp ¶ added in v0.17.80
func (e *BasicTaskTerminated) GetTimestamp() string
type DeviceEvent ¶
type DeviceEvent interface { Event GetOrigin() DeviceEventOrigin GetType() pb.DeviceEventType }
func NewDeviceEvent ¶
func NewDeviceEvent(origin DeviceEventOrigin, t pb.DeviceEventType) (de DeviceEvent)
type DeviceEventBase ¶
type DeviceEventBase struct { Type pb.DeviceEventType `json:"type"` Origin DeviceEventOrigin `json:"origin"` // contains filtered or unexported fields }
func (*DeviceEventBase) GetOrigin ¶
func (b *DeviceEventBase) GetOrigin() DeviceEventOrigin
func (*DeviceEventBase) GetTimestamp ¶ added in v0.17.80
func (e *DeviceEventBase) GetTimestamp() string
func (*DeviceEventBase) GetType ¶
func (b *DeviceEventBase) GetType() pb.DeviceEventType
type DeviceEventOrigin ¶
type DeviceEventOrigin struct { // FIXME: replace these Mesos-tainted string wrappers with plain strings AgentId mesos.AgentID `json:"agentId"` ExecutorId mesos.ExecutorID `json:"executorId"` TaskId mesos.TaskID `json:"taskId"` }
type DummyWriter ¶ added in v1.9.1
type DummyWriter struct{}
func (*DummyWriter) Close ¶ added in v1.9.1
func (*DummyWriter) Close()
func (*DummyWriter) WriteEvent ¶ added in v1.9.1
func (*DummyWriter) WriteEvent(interface{})
func (*DummyWriter) WriteEventWithTimestamp ¶ added in v1.9.1
func (*DummyWriter) WriteEventWithTimestamp(interface{}, time.Time)
type EndOfStream ¶ added in v0.12.0
type EndOfStream struct {
DeviceEventBase
}
func (*EndOfStream) GetName ¶ added in v0.12.0
func (e *EndOfStream) GetName() string
func (*EndOfStream) GetTimestamp ¶ added in v0.17.80
func (e *EndOfStream) GetTimestamp() string
type EnvironmentEvent ¶ added in v0.19.80
type EnvironmentEvent struct { EnvironmentID string Run uint32 State string Error error Message string // contains filtered or unexported fields }
func (*EnvironmentEvent) GetError ¶ added in v0.19.80
func (e *EnvironmentEvent) GetError() string
func (*EnvironmentEvent) GetMessage ¶ added in v0.19.80
func (e *EnvironmentEvent) GetMessage() string
func (*EnvironmentEvent) GetName ¶ added in v0.19.80
func (e *EnvironmentEvent) GetName() string
func (*EnvironmentEvent) GetRun ¶ added in v0.19.80
func (e *EnvironmentEvent) GetRun() uint32
func (*EnvironmentEvent) GetState ¶ added in v0.19.80
func (e *EnvironmentEvent) GetState() string
func (*EnvironmentEvent) GetTimestamp ¶ added in v0.19.80
func (e *EnvironmentEvent) GetTimestamp() string
type ExecutorFailedEvent ¶ added in v0.68.0
type ExecutorFailedEvent struct { ExecutorId mesos.ExecutorID `json:"executorId"` // contains filtered or unexported fields }
func NewExecutorFailedEvent ¶ added in v0.68.0
func NewExecutorFailedEvent(executorId *mesos.ExecutorID) *ExecutorFailedEvent
func (*ExecutorFailedEvent) GetId ¶ added in v0.68.0
func (e *ExecutorFailedEvent) GetId() mesos.ExecutorID
func (*ExecutorFailedEvent) GetName ¶ added in v0.68.0
func (e *ExecutorFailedEvent) GetName() string
func (*ExecutorFailedEvent) GetTimestamp ¶ added in v0.68.0
func (e *ExecutorFailedEvent) GetTimestamp() string
type FifoBuffer ¶ added in v1.32.0
type FifoBuffer[T any] struct { // contains filtered or unexported fields }
This structure is meant to be used as a threadsafe FIFO with builtin waiting for new data in its Pop and PopMultiple functions. It is meant to be used with multiple goroutines, it is a waste of synchronization mechanisms if used synchronously.
func NewFifoBuffer ¶ added in v1.32.0
func NewFifoBuffer[T any]() (result FifoBuffer[T])
func (*FifoBuffer[T]) Length ¶ added in v1.32.0
func (this *FifoBuffer[T]) Length() int
func (*FifoBuffer[T]) PopMultiple ¶ added in v1.32.0
func (this *FifoBuffer[T]) PopMultiple(numberToPop uint) (result []T)
Blocks until it has some value in internal buffer
func (*FifoBuffer[T]) Push ¶ added in v1.32.0
func (this *FifoBuffer[T]) Push(value T)
func (*FifoBuffer[T]) ReleaseGoroutines ¶ added in v1.32.0
func (this *FifoBuffer[T]) ReleaseGoroutines()
type IntegratedServiceEvent ¶ added in v0.75.0
type IntegratedServiceEventBase ¶ added in v0.75.0
type IntegratedServiceEventBase struct { ServiceName string `json:"serviceName"` // contains filtered or unexported fields }
func (*IntegratedServiceEventBase) GetServiceName ¶ added in v0.75.0
func (b *IntegratedServiceEventBase) GetServiceName() string
func (*IntegratedServiceEventBase) GetTimestamp ¶ added in v0.75.0
func (e *IntegratedServiceEventBase) GetTimestamp() string
type KafkaWriter ¶ added in v1.9.1
type KafkaWriter struct { *kafka.Writer // contains filtered or unexported fields }
Kafka writer is used to convert events from events.proto into kafka messages and to write them. it is built with 2 workers:
#1 is gathering kafka.Message from any goroutine which sends message into buffered channel and puts them into FifoBuffer. #2 is poping any messages from FifoBuffer and sends them to Kafka The reason for this setup over setting Async: true in kafka.Writer is the ability to have some error handling of failed messages. Moreover if we used only one worker that gathers messages from channel and then sends them directly to Kafka, we would block whole core if we receive lot of messages at once. So we split functionality into two workers: one is putting all messages into the buffer, so if we have a lot of messages buffer just grows without blocking whole core and the second does all the sending. This setup allows us to gather messages from any amount of goroutines without blocking/losing messages. Another benefit is batching messages instead of writing them one by one.
func NewWriterWithTopic ¶ added in v1.7.0
func NewWriterWithTopic(topic topic.Topic) *KafkaWriter
func (*KafkaWriter) Close ¶ added in v1.9.1
func (w *KafkaWriter) Close()
func (*KafkaWriter) WriteEvent ¶ added in v1.9.1
func (w *KafkaWriter) WriteEvent(e interface{})
func (*KafkaWriter) WriteEventWithTimestamp ¶ added in v1.9.1
func (w *KafkaWriter) WriteEventWithTimestamp(e interface{}, timestamp time.Time)
type RoleEvent ¶ added in v0.19.80
type RoleEvent struct { Name string Status string State string RolePath string // contains filtered or unexported fields }
func (*RoleEvent) GetRolePath ¶ added in v0.19.80
func (*RoleEvent) GetTimestamp ¶ added in v0.19.80
func (e *RoleEvent) GetTimestamp() string
type TaskEvent ¶ added in v0.19.80
type TaskEvent struct { Name string TaskID string Status string State string Hostname string ClassName string // contains filtered or unexported fields }
func (*TaskEvent) GetClassName ¶ added in v0.19.80
func (*TaskEvent) GetHostname ¶ added in v0.19.80
func (*TaskEvent) GetTimestamp ¶ added in v0.19.80
func (e *TaskEvent) GetTimestamp() string
type TaskInternalError ¶ added in v0.67.0
type TaskInternalError struct {
DeviceEventBase
}
func (*TaskInternalError) GetName ¶ added in v0.67.0
func (e *TaskInternalError) GetName() string
func (*TaskInternalError) GetTimestamp ¶ added in v0.67.0
func (e *TaskInternalError) GetTimestamp() string
type TasksReleasedEvent ¶ added in v0.17.80
type TasksReleasedEvent struct { EnvironmentId uid.ID `json:"environmentId"` TaskIdsReleased []string `json:"taskIdsReleased"` TaskReleaseErrors map[string]error `json:"taskReleaseErrors"` // contains filtered or unexported fields }
func NewTasksReleasedEvent ¶ added in v0.17.80
func (*TasksReleasedEvent) GetEnvironmentId ¶ added in v0.17.80
func (tr *TasksReleasedEvent) GetEnvironmentId() uid.ID
func (*TasksReleasedEvent) GetName ¶ added in v0.17.80
func (tr *TasksReleasedEvent) GetName() string
func (*TasksReleasedEvent) GetTaskIds ¶ added in v0.17.80
func (tr *TasksReleasedEvent) GetTaskIds() []string
func (*TasksReleasedEvent) GetTaskReleaseErrors ¶ added in v0.17.80
func (tr *TasksReleasedEvent) GetTaskReleaseErrors() map[string]error
func (*TasksReleasedEvent) GetTimestamp ¶ added in v0.17.80
func (e *TasksReleasedEvent) GetTimestamp() string
type TasksStateChangedEvent ¶ added in v0.17.81
type TasksStateChangedEvent struct { EnvironmentId uid.ID `json:"environmentId"` TaskIdsStateChanged []string `json:"taskIdsStatesChanged"` TaskStateChangedErr error `json:"taskStateChangedErr"` // contains filtered or unexported fields }
func NewTasksStateChangedEvent ¶ added in v0.17.81
func NewTasksStateChangedEvent(envId uid.ID, taskIdsChangeState []string, taskStateChangedErr error) (tr *TasksStateChangedEvent)
func (*TasksStateChangedEvent) GetEnvironmentId ¶ added in v0.17.81
func (tr *TasksStateChangedEvent) GetEnvironmentId() uid.ID
func (*TasksStateChangedEvent) GetName ¶ added in v0.17.81
func (tr *TasksStateChangedEvent) GetName() string
func (*TasksStateChangedEvent) GetTaskIds ¶ added in v0.17.81
func (tr *TasksStateChangedEvent) GetTaskIds() []string
func (*TasksStateChangedEvent) GetTasksStateChangedError ¶ added in v0.17.81
func (tr *TasksStateChangedEvent) GetTasksStateChangedError() error
func (*TasksStateChangedEvent) GetTimestamp ¶ added in v0.17.81
func (e *TasksStateChangedEvent) GetTimestamp() string
Source Files
¶
Click to show internal directories.
Click to hide internal directories.