package
0.0.1-alpha
Repository: https://github.com/twitter/scoot.git
Documentation: pkg.go.dev

# Functions

DefaultStats is a small wrapper around a go-metrics like registry.
Returns a StatsTime instance backed by the stdlib 'time' package.
No description provided by the author
GetDiskUsageKB use posix du to get disk usage of a dir, for simplicity vs syscall or walking dir contents.
Like DefaultStatsReceiver() but registry and latched are made explicit.
NewDirsMonitor return a DirsMonitor.
No description provided by the author
Like DefaultStatsReceiver() but latched interval is made explicit.
No description provided by the author
No description provided by the author
NilStats ignores all stats operations.
No description provided by the author
No description provided by the author
No description provided by the author
Verify that the stats registry object contains values for the keys in the contains map parameter and that each entry conforms to the rule (condition) associated with that key.

# Constants

No description provided by the author
No description provided by the author
Bundlestore check metrics (Exists/Heads from top-level Bundlestore/Apiserver) */.
No description provided by the author
No description provided by the author
No description provided by the author
************************ Bundlestore metrics **************************/ Bundlestore download metrics (Reads/Gets from top-level Bundlestore/Apiserver) */.
No description provided by the author
Bundlestore request counters and uptime statistics */.
No description provided by the author
No description provided by the author
Bundlestore upload metrics (Writes/Puts to top-level Bundlestore/Apiserver) */.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
CAS BatchReadBlobs API metrics emitted by Apiserver */.
No description provided by the author
No description provided by the author
No description provided by the author
CAS BatchUpdateBlobs API metrics emitted by Apiserver */.
***************************** ActionCache Service ****************************************/ ActionCache result metrics */.
No description provided by the author
No description provided by the author
Longrunning CancelOperation API metrics emitted by Scheduler */.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
***************************** Worker/Invoker Execution Timings ***************************/ Execution metadata timing metrics emitted by Worker.
***************************** Execution Service ******************************************/ Execute API metrics emitted by Scheduler */.
No description provided by the author
No description provided by the author
No description provided by the author
***************************** CAS Service ******************************************/ FindMissingBlobs API metrics emitted by Apiserver */.
No description provided by the author
No description provided by the author
GetActionResult API metrics emitted by Apiserver */.
No description provided by the author
No description provided by the author
Longrunning GetOperation API metrics emitted by Scheduler */.
No description provided by the author
No description provided by the author
No description provided by the author
CAS Read API metrics emitted by Apiserver */.
No description provided by the author
No description provided by the author
UpdateActionResult API metrics emitted by Apiserver */.
No description provided by the author
No description provided by the author
No description provided by the author
CAS Write API metrics emitted by Apiserver */.
***************** ClusterManger metrics ***************************/ Cluster metrics on Node types Available - available or running tasks (not suspended) Free - available, not running Running - running tasks Lost - not responding to status requests */.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
The disk size change for the indicated directory seen when running the task.
***************************** Git Metrics **********************************************/ The number of failures trying to init a ref clone */.
The amount of time it took to init a ref clone */.
The number of times a gitdb stream backend had to resort to a git fetch */.
No description provided by the author
No description provided by the author
Groupcache Exists metrics */.
No description provided by the author
No description provided by the author
No description provided by the author
Groupcache library - per-group metrics (overall metrics for a groupcache on a single Apiserver) */.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Groupcache library - per-cache metrics (typical groupcache includes separate "main" and "hot" caches) */.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Groupcache peer pool metrics (maintained by Scoot) */.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
************************ Groupcache Metrics ***************************/ Groupcache Read metrics */.
No description provided by the author
No description provided by the author
Groupcache Underlying load metrics (cache misses) */.
No description provided by the author
No description provided by the author
Groupcache Write metrics */.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
The number of updates that were processed together by the updateSagaState loop */.
The amount of time spent in updating the saga state and sagalog when a task starts or ends */.
The amount of time spent in (bulk) updating the saga state and storing the messages in sagalog */.
***************************** Saga Metrics ****************************************/ The amount of time spent in looping through the buffered update channel to accumulate the updates in a batch, to be processed together */.
No description provided by the author
Amount of time it takes the scheduler to add newly requested jobs to list of jobs currently being handled by scheduler */.
Amount of time it takes the scheduler to add newly verified jobs from add job channel to list of jobs currently being handled by scheduler */.
Amount of time it takes the scheduler to check if any of the in progress jobs are completed */.
Amount of time it takes the scheduler to check newly requested jobs for validity */.
the number of tasks that have finished (including those that have been killed) */.
The number of times any of the following conditions occurred: - the task's command errored while running - the platform could not run the task - the platform encountered an error reporting the end of the task to saga */.
the number of times the processing failed to serialize the workerapi status object */.
No description provided by the author
The number of tasks from the inProgress list waiting to start or running.
job class actual % (set computed from running tasks) */.
job class % (set via scheduler api) */.
number of tasks already running by job class (before starting tasks as per lbs) */.
number of tasks starting by job class (after the last run of lbs) */.
number of tasks still waiting by job class after the tasks identified by lbs have started */.
the amount of time it takes to verify a job definition, add it to the job channel and return a job id.
the number of jobs requests that have been able to be converted from the thrift request to the sched.JobDefinition structure.
the number of job requests that have been put on the addJobChannel */.
Amount of time it takes the scheduler to kill all jobs requested to be killed */.
No description provided by the author
scheduler internal data structure size monitoring */.
No description provided by the author
number of jobs ignored because the load % is 0 */.
--------------------- load based scheduler stats ---------------------------*/ number of time Load Based Scheduler saw an unrecognized requestor */.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
the number of async runners still waiting on task completion */.
the number of jobs with tasks running.
the number of running tasks.
the number of tasks waiting to start.
the number of active tasks that stopped because they were preempted by the scheduler */.
Amount of time it takes the scheduler to process all messages in mailbox & execute callbacks (if applicable) */.
No description provided by the author
No description provided by the author
the number of times the platform retried sending an end saga message */.
No description provided by the author
No description provided by the author
the number of tasks that were scheduled to be started on nodes with the last run of the scheduling algorithm */.
Amount of time it takes the scheduler to figure out which tasks to schedule next and on which worker */.
the number of times the server received a job kill request */.
the amount of time it took to kill a job (from the server) */.
the number of job status requests the thrift server received */.
the amount of time it took to process a job status request (from the server) */.
the number of job run requests the thrift server received */.
the amount of time it took to process a RunJob request (from the server) and return either an error or job id */.
record the start of the scheduler server */.
Amount of time it takes the scheduler to complete a full step() */.
number of tasks being stopped for the class (due to rebalancing) */.
The amount of time it takes to assign the tasks to nodes */.
No description provided by the author
the number of times the task runner had to retry the task start */.
No description provided by the author
Amount of time it takes the scheduler to update list of removed / added nodes to its worker cluster */.
The length of time the server has been running */.
The number of jobs waiting to start in the inProgress list at the end of each time through the scheduler's job handling loop.
The number of workers who are currently exceeding the max init time */.
******************************* Worker metrics **************************************/ The number of runs the worker has currently running */.
the number of times a worker's inti failed.
the amount of time spent downloading snapshots to the worker.
the number of times the worker downloaded a snapshot from bundlestore */.
The number of runs in the worker's statusAll() response that are not currently running TODO - this includes runs that are waiting to start - will not be accurate if we go to a worker that can run multiple commands */.
The number of runs that the worker tried to run an whose state is failed TODO - understand how/when this gets reset - it's based on the runs in the worker's StatusAll() response - how/when do old jobs drop out of StatusAll()? */.
The amount of time it took a worker to init */.
The amount of time a worker node was idle between tasks */.
the amount of worker's memory currently consumed by the current command (and its subprocesses) TODO- verify with Ryan that this description is correct scope is osexecer - change to worker? */.
A gauge used to indicate if the worker is currently running a task or if is idling */.
the number of abort requests received by the worker */.
the number of clear requests received by the worker */.
record when a worker service kills itself */.
The number of QueryWorker requests received by the worker server */.
the number of run requests a worker has received */.
record when a worker service is starting */.
the amount of time it takes the worker to put a run request on the worker's run queue */.
The time it takes to run the task (including snapshot handling) */.
Time since the most recent run, status, abort, erase request */.
the amount of time spent uploading snapshots to bundlestore.
the number of times the worker uploaded a snapshot to bundlestore */.
Time since the worker started */.

# Variables

Stats users can either reference this global receiver or construct their own.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Overridable instrument creation.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
For testing.

# Structs

No description provided by the author
DirsMonitor monitor disk usage for selected directories.
MonitorDir a directory to monitor and a shortname (suffix) for reporting the stat.
defines the condition checker to use to validate the measurement.
Utilities for validating the stats registry contents */ add new Checker functions here as needed */.

# Interfaces

Minimally mirror go-metrics instruments.
Gauge.
GaugeFloat.
Histogram.
Viewable histogram without updates or capture.
Latency.
To check if pretty printing is supported.
A registry wrapper for metrics that will be collected about the runtime performance of an application.
Similar to the go-metrics registry but with most methods removed.
wraps the stdlib time.Ticker struct, allows for mocking in tests.
Defines the calls we make to the stdlib time package.