Documentation ¶
Index ¶
- type ErrorMetrics
- type FrameworkInfoStore
- type FrameworkStoreMetrics
- type JobMetrics
- type JobStore
- type Metrics
- type OrmHostInfoMetrics
- type OrmJobMetrics
- type OrmJobUpdateEventsMetrics
- type OrmRespoolMetrics
- type OrmTaskMetrics
- type PersistentVolumeStore
- type ResourcePoolMetrics
- type Store
- type TaskMetrics
- type TaskStore
- type UpdateMetrics
- type UpdateStore
- type VolumeMetrics
- type VolumeNotFoundError
- type WorkflowMetrics
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ErrorMetrics ¶
type ErrorMetrics struct { ReadFailure tally.Counter WriteFailure tally.Counter AlreadyExists tally.Counter ReadTimeout tally.Counter WriteTimeout tally.Counter TooManyTimeouts tally.Counter SessionClosed tally.Counter NoConnections tally.Counter ConnectionClosed tally.Counter NoStreams tally.Counter NotTransient tally.Counter CASNotApplied tally.Counter }
ErrorMetrics is a struct for tracking all the storage error counters
type FrameworkInfoStore ¶
type FrameworkInfoStore interface { SetMesosStreamID(ctx context.Context, frameworkName string, mesosStreamID string) error SetMesosFrameworkID(ctx context.Context, frameworkName string, frameworkID string) error GetMesosStreamID(ctx context.Context, frameworkName string) (string, error) GetFrameworkID(ctx context.Context, frameworkName string) (string, error) }
FrameworkInfoStore is the interface to store mesosStreamID for peloton frameworks
type FrameworkStoreMetrics ¶
type FrameworkStoreMetrics struct { FrameworkUpdate tally.Counter FrameworkUpdateFail tally.Counter FrameworkIDGet tally.Counter FrameworkIDGetFail tally.Counter StreamIDGet tally.Counter StreamIDGetFail tally.Counter }
FrameworkStoreMetrics is a struct for tracking framework and streamID related counters in the storage layer
type JobMetrics ¶
type JobMetrics struct { JobCreate tally.Counter JobCreateConfig tally.Counter JobCreateFail tally.Counter JobCreateConfigFail tally.Counter JobCreateRuntime tally.Counter JobCreateRuntimeFail tally.Counter JobUpdate tally.Counter JobUpdateFail tally.Counter JobGet tally.Counter JobGetFail tally.Counter JobNotFound tally.Counter JobQuery tally.Counter JobQueryAll tally.Counter JobQueryFail tally.Counter JobDelete tally.Counter JobDeleteFail tally.Counter JobGetRuntime tally.Counter JobGetRuntimeFail tally.Counter JobGetAll tally.Counter JobGetAllFail tally.Counter JobGetByRespoolID tally.Counter JobGetByRespoolIDFail tally.Counter JobUpdateRuntime tally.Counter JobUpdateRuntimeFail tally.Counter JobUpdateConfig tally.Counter JobUpdateConfigFail tally.Counter JobUpdateInfo tally.Counter JobUpdateInfoFail tally.Counter JobNameToID tally.Counter JobNameToIDFail tally.Counter JobGetNameToID tally.Counter JobGetNameToIDFail tally.Counter }
JobMetrics is a struct for tracking all the job related counters in the storage layer
type JobStore ¶
type JobStore interface { QueryJobs(ctx context.Context, respoolID *peloton.ResourcePoolID, spec *job.QuerySpec, summaryOnly bool) ([]*job.JobInfo, []*job.JobSummary, uint32, error) // DeleteJob deletes the job configuration, runtime // and all tasks in DB of a given job DeleteJob(ctx context.Context, jobID string) error // GetMaxJobConfigVersion returns the maximum version of configs of a given job GetMaxJobConfigVersion(ctx context.Context, jobID string) (uint64, error) }
JobStore is the interface to store job states TODO: Move all arguments from proto pointers to golang data types
type Metrics ¶
type Metrics struct { JobMetrics *JobMetrics TaskMetrics *TaskMetrics UpdateMetrics *UpdateMetrics ResourcePoolMetrics *ResourcePoolMetrics FrameworkStoreMetrics *FrameworkStoreMetrics VolumeMetrics *VolumeMetrics ErrorMetrics *ErrorMetrics WorkflowMetrics *WorkflowMetrics OrmJobMetrics *OrmJobMetrics OrmRespoolMetrics *OrmRespoolMetrics OrmTaskMetrics *OrmTaskMetrics OrmHostInfoMetrics *OrmHostInfoMetrics OrmJobUpdateEventsMetrics *OrmJobUpdateEventsMetrics }
Metrics is a struct for tracking all the general purpose counters that have relevance to the storage layer, i.e. how many jobs and tasks were created/deleted in the storage layer
func NewMetrics ¶
NewMetrics returns a new Metrics struct, with all metrics initialized and rooted at the given tally.Scope
type OrmHostInfoMetrics ¶
type OrmHostInfoMetrics struct { HostInfoAdd tally.Counter HostInfoAddFail tally.Counter HostInfoGet tally.Counter HostInfoGetFail tally.Counter HostInfoGetAll tally.Counter HostInfoGetAllFail tally.Counter HostInfoUpdate tally.Counter HostInfoUpdateFail tally.Counter HostInfoDelete tally.Counter HostInfoDeleteFail tally.Counter }
OrmHostInfoMetrics tracks counters for host info related table
type OrmJobMetrics ¶
type OrmJobMetrics struct { // job_index JobIndexCreate tally.Counter JobIndexCreateFail tally.Counter JobIndexGet tally.Counter JobIndexGetFail tally.Counter JobIndexGetAll tally.Counter JobIndexGetAllFail tally.Counter JobIndexUpdate tally.Counter JobIndexUpdateFail tally.Counter JobIndexDelete tally.Counter JobIndexDeleteFail tally.Counter // job_name_to_id JobNameToIDCreate tally.Counter JobNameToIDCreateFail tally.Counter JobNameToIDGetAll tally.Counter JobNameToIDGetAllFail tally.Counter // job_config JobConfigCreate tally.Counter JobConfigCreateFail tally.Counter JobConfigGet tally.Counter JobConfigGetFail tally.Counter JobConfigDelete tally.Counter JobConfigDeleteFail tally.Counter // active_jobs. ActiveJobsCreate tally.Counter ActiveJobsCreateFail tally.Counter ActiveJobsGetAll tally.Counter ActiveJobsGetAllFail tally.Counter ActiveJobsGetAllDuration tally.Timer ActiveJobsDelete tally.Counter ActiveJobsDeleteFail tally.Counter // secret_info SecretInfoCreate tally.Counter SecretInfoCreateFail tally.Counter SecretInfoGet tally.Counter SecretInfoGetFail tally.Counter SecretInfoUpdate tally.Counter SecretInfoUpdateFail tally.Counter SecretInfoDelete tally.Counter SecretInfoDeleteFail tally.Counter }
OrmJobMetrics tracks counters for job related tables accessed through ORM layer
type OrmJobUpdateEventsMetrics ¶
type OrmJobUpdateEventsMetrics struct { JobUpdateEventsCreate tally.Counter JobUpdateEventsCreateFail tally.Counter JobUpdateEventsGet tally.Counter JobUpdateEventsGetFail tally.Counter JobUpdateEventsDelete tally.Counter JobUpdateEventsDeleteFail tally.Counter }
OrmJobUpdateEventsMetrics tracks counter of job update events related tables
type OrmRespoolMetrics ¶
type OrmRespoolMetrics struct { RespoolCreate tally.Counter RespoolCreateFail tally.Counter RespoolGet tally.Counter RespoolGetFail tally.Counter RespoolGetAll tally.Counter RespoolGetAllFail tally.Counter RespoolUpdate tally.Counter RespoolUpdateFail tally.Counter RespoolDelete tally.Counter RespoolDeleteFail tally.Counter }
OrmRespoolMetrics tracks counters for resource pools related tables accessed through ORM layer.
type OrmTaskMetrics ¶
type OrmTaskMetrics struct { PodEventsAdd tally.Counter PodEventsAddFail tally.Counter PodEventsGet tally.Counter PodEventsGetFail tally.Counter TaskConfigV2Create tally.Counter TaskConfigV2CreateFail tally.Counter TaskConfigV2Get tally.Counter TaskConfigV2GetFail tally.Counter TaskConfigLegacyGet tally.Counter TaskConfigLegacyGetFail tally.Counter PodSpecGet tally.Counter PodSpecGetFail tally.Counter }
OrmTaskMetrics tracks counters for pod related tables
type PersistentVolumeStore ¶
type PersistentVolumeStore interface { CreatePersistentVolume(ctx context.Context, volumeInfo *volume.PersistentVolumeInfo) error UpdatePersistentVolume(ctx context.Context, volumeInfo *volume.PersistentVolumeInfo) error GetPersistentVolume(ctx context.Context, volumeID *peloton.VolumeID) (*volume.PersistentVolumeInfo, error) }
PersistentVolumeStore is the interface to store all the persistent volume info
type ResourcePoolMetrics ¶
type ResourcePoolMetrics struct { ResourcePoolCreate tally.Counter ResourcePoolCreateFail tally.Counter ResourcePoolUpdate tally.Counter ResourcePoolUpdateFail tally.Counter ResourcePoolDelete tally.Counter ResourcePoolDeleteFail tally.Counter ResourcePoolGet tally.Counter ResourcePoolGetFail tally.Counter }
ResourcePoolMetrics is a struct for tracking resource pool related counters in the storage layer
type Store ¶
type Store interface { JobStore TaskStore UpdateStore FrameworkInfoStore PersistentVolumeStore }
Store is is a generic store interface which is a collection of different store interfaces
type TaskMetrics ¶
type TaskMetrics struct { TaskCreate tally.Counter TaskCreateFail tally.Counter TaskGet tally.Counter TaskGetFail tally.Counter TaskNotFound tally.Counter TaskGetConfig tally.Counter TaskGetConfigFail tally.Counter // This metric is to indicate how many task gets are performed using // legacy task_config table TaskGetConfigLegacy tally.Counter TaskGetConfigs tally.Counter TaskGetConfigsFail tally.Counter TaskConfigBackFill tally.Counter TaskConfigBackFillFail tally.Counter TaskLogState tally.Counter TaskLogStateFail tally.Counter TaskGetLogState tally.Counter TaskGetLogStateFail tally.Counter TaskGetForJob tally.Counter TaskGetForJobFail tally.Counter TaskGetForJobAndStates tally.Counter TaskGetForJobAndStatesFail tally.Counter TaskIDsGetForJobAndState tally.Counter TaskIDsGetForJobAndStateFail tally.Counter TaskSummaryForJob tally.Counter TaskSummaryForJobFail tally.Counter TaskGetForJobRange tally.Counter TaskGetForJobRangeFail tally.Counter TaskGetRuntimesForJobRange tally.Counter TaskGetRuntimesForJobRangeFail tally.Counter TaskGetRuntime tally.Counter TaskGetRuntimeFail tally.Counter TaskUpdateRuntime tally.Counter TaskUpdateRuntimeFail tally.Counter TaskDelete tally.Counter TaskDeleteFail tally.Counter TaskUpdate tally.Counter TaskUpdateFail tally.Counter TaskQueryTasks tally.Counter TaskQueryTasksFail tally.Counter PodEventsAddSuccess tally.Counter PodEventsAddFail tally.Counter PodEventsGetSucess tally.Counter PodEventsGetFail tally.Counter PodEventsDeleteSucess tally.Counter PodEventsDeleteFail tally.Counter }
TaskMetrics is a struct for tracking all the task related counters in the storage layer
type TaskStore ¶
type TaskStore interface { // CreateTaskRuntime creates the runtime of a given task CreateTaskRuntime( ctx context.Context, id *peloton.JobID, instanceID uint32, runtime *task.RuntimeInfo, createdBy string, jobType job.JobType) error // GetTaskRuntime gets the runtime of a given task GetTaskRuntime(ctx context.Context, jobID *peloton.JobID, instanceID uint32) (*task.RuntimeInfo, error) // UpdateTaskRuntime updates the runtime of a given task UpdateTaskRuntime( ctx context.Context, jobID *peloton.JobID, instanceID uint32, runtime *task.RuntimeInfo, jobType job.JobType) error // GetTasksForJob gets the task info for all tasks in a job GetTasksForJob(ctx context.Context, id *peloton.JobID) (map[uint32]*task.TaskInfo, error) // GetTasksForJobAndStates gets the task info for all // tasks in a given job and in a given state GetTasksForJobAndStates(ctx context.Context, id *peloton.JobID, states []task.TaskState) (map[uint32]*task.TaskInfo, error) // GetTaskRuntimesForJobByRange gets the task runtime for all // tasks in a job with instanceID in the given range GetTaskRuntimesForJobByRange(ctx context.Context, id *peloton.JobID, instanceRange *task.InstanceRange) (map[uint32]*task.RuntimeInfo, error) // GetTasksForJobByRange gets the task info for all // tasks in a job with instanceID in the given range GetTasksForJobByRange(ctx context.Context, id *peloton.JobID, Range *task.InstanceRange) (map[uint32]*task.TaskInfo, error) // GetTaskForJob gets the task info for a given task GetTaskForJob(ctx context.Context, jobID string, instanceID uint32) (map[uint32]*task.TaskInfo, error) // GetTaskConfigs gets the task config for all tasks in a job // for all the instanceIDs provided in the input GetTaskConfigs(ctx context.Context, id *peloton.JobID, instanceIDs []uint32, version uint64) (map[uint32]*task.TaskConfig, *models.ConfigAddOn, error) // GetTaskByID gets the task info for a given task GetTaskByID(ctx context.Context, taskID string) (*task.TaskInfo, error) // QueryTasks queries for all tasks in a job matching the QuerySpec QueryTasks(ctx context.Context, id *peloton.JobID, spec *task.QuerySpec) ([]*task.TaskInfo, uint32, error) // DeleteTaskRuntime deletes the task runtime for a given job instance DeleteTaskRuntime(ctx context.Context, id *peloton.JobID, instanceID uint32) error // DeletePodEvents deletes the pod events for provided JobID, InstanceID and RunID in the range [fromRunID-toRunID) DeletePodEvents(ctx context.Context, jobID string, instanceID uint32, fromRunID uint64, toRunID uint64) error // GetPodEvents returns pod events for a Job + Instance + PodID (optional), events are sorted descending timestamp order GetPodEvents(ctx context.Context, jobID string, instanceID uint32, podID ...string) ([]*task.PodEvent, error) }
TaskStore is the interface to store task states TODO: Move all arguments from proto pointers to golang data types
type UpdateMetrics ¶
type UpdateMetrics struct { UpdateCreate tally.Counter UpdateCreateFail tally.Counter UpdateGet tally.Counter UpdateGetFail tally.Counter UpdateWriteProgress tally.Counter UpdateWriteProgressFail tally.Counter UpdateGetProgess tally.Counter UpdateGetProgessFail tally.Counter UpdateGetForJob tally.Counter UpdateGetForJobFail tally.Counter UpdateDeleteFail tally.Counter UpdateDelete tally.Counter JobUpdateEventAdd tally.Counter JobUpdateEventAddFail tally.Counter JobUpdateEventGet tally.Counter JobUpdateEventGetFail tally.Counter JobUpdateEventDelete tally.Counter JobUpdateEventDeleteFail tally.Counter }
UpdateMetrics is a struct for tracking job update related counters in the storage layer.
type UpdateStore ¶
type UpdateStore interface { // CreateUpdate by creating a new update in the storage. It's an error // if the update already exists. CreateUpdate( ctx context.Context, updateInfo *models.UpdateModel, ) error // DeleteUpdate deletes the update from the update_info table and deletes all // job and task configurations created for the update. DeleteUpdate( ctx context.Context, updateID *peloton.UpdateID, jobID *peloton.JobID, jobConfigVersion uint64, ) error // GetUpdate fetches the job update stored in the DB GetUpdate(ctx context.Context, id *peloton.UpdateID) ( *models.UpdateModel, error, ) // WriteUpdateProgress writes the progress of the job update to the DB WriteUpdateProgress( ctx context.Context, updateInfo *models.UpdateModel, ) error // ModifyUpdate modify the progress of an update, // instances to update/remove/add and the job config version ModifyUpdate( ctx context.Context, updateInfo *models.UpdateModel, ) error // GetUpdateProgess fetches the job update progress, which includes the // instances already updated, instances being updated and the current // state of the update. GetUpdateProgress(ctx context.Context, id *peloton.UpdateID) ( *models.UpdateModel, error, ) // GetUpdatesForJob returns the list of job updates created for a given job GetUpdatesForJob(ctx context.Context, jobID string) ([]*peloton.UpdateID, error) // AddWorkflowEvent adds a workflow event for an update and instance // to track the progress AddWorkflowEvent( ctx context.Context, updateID *peloton.UpdateID, instanceID uint32, updateType models.WorkflowType, updateState update.State, ) error // GetWorkflowEvents gets workflow events for an update and instance, // events are sorted in descending create timestamp GetWorkflowEvents( ctx context.Context, updateID *peloton.UpdateID, instanceID uint32, limit uint32, ) ([]*stateless.WorkflowEvent, error) }
UpdateStore is the interface to store updates and updates progress.
type VolumeMetrics ¶
type VolumeMetrics struct { VolumeCreate tally.Counter VolumeCreateFail tally.Counter VolumeUpdate tally.Counter VolumeUpdateFail tally.Counter VolumeGet tally.Counter VolumeGetFail tally.Counter VolumeDelete tally.Counter VolumeDeleteFail tally.Counter }
VolumeMetrics is a struct for tracking disk related counters in the storage layer
type VolumeNotFoundError ¶
VolumeNotFoundError indicates that persistent volume is not found
func (*VolumeNotFoundError) Error ¶
func (e *VolumeNotFoundError) Error() string
type WorkflowMetrics ¶
type WorkflowMetrics struct { WorkflowEventsAdd tally.Counter WorkflowEventsAddFail tally.Counter WorkflowEventsGet tally.Counter WorkflowEventsGetFail tally.Counter WorkflowEventsDelete tally.Counter WorkflowEventsDeleteFail tally.Counter }
WorkflowMetrics is a struct for tracking all the workflow operations/events