galaxy.jobs.metrics.collectl package

Submodules

galaxy.jobs.metrics.collectl.cli module

This module describes CollectlCli - an abstraction for building collectl command lines.

class galaxy.jobs.metrics.collectl.cli.CollectlCli(**kwargs)[source]

Bases: object

Abstraction over (some of) the command-line arguments of collectl. Ideally this will be useful for building up command line arguments for remote execution as well as runnning directly on local host.

This is meant to be a fairly generic utility - for interfacing with collectl CLI - logic more directly related to the Galaxy job metric plugin plugin should be placed in other modules.

Keyword Arguments:

collectl_path
Path to collectl executable (defaults to collectl - i.e. search the PATH).
playback_path (defaults to None)
If this is None, collectl will run in record mode, else it will playback specified file.

Playback Mode Options:

sep
Separator used in playback mode (set to 9 to produce tsv) (defaults to None).

Record Mode Options (some of these may work in playback mode also)

destination_path
Location of path files to write to (defaults to None and collectl will just use cwd). Really this is just to prefix - collectl will append hostname and datetime to file.
interval
Setup polling interval (secs) for most subsystems (defaults to None and when unspecified collectl will use default of 1 second).
interval2
Setup polling interval (secs) for process information (defaults to None and when unspecified collectl will use default to 60 seconds).
interval3
Setup polling interval (secs) for environment information (defaults to None and when unspecified collectl will use default to 300 seconds).
procfilt
Optional argument to procfilt. (defaults to None).
flush
Optional flush interval (defaults to None).
build_command_line()[source]
run(stdout=-1, stderr=-1)[source]

galaxy.jobs.metrics.collectl.processes module

Modules will run collectl in playback mode and collect various process statistics for a given pid’s process and process ancestors.

galaxy.jobs.metrics.collectl.processes.generate_process_statistics(collectl_playback_cli, pid, statistics=[('max', 'VmSize'), ('avg', 'VmSize'), ('max', 'VmRSS'), ('avg', 'VmRSS'), ('sum', 'SysT'), ('sum', 'UsrT'), ('max', 'PCT'), ('avg', 'PCT'), ('max', 'AccumT'), ('sum', 'RSYS'), ('sum', 'WSYS')])[source]

Playback collectl file and generate summary statistics.

galaxy.jobs.metrics.collectl.stats module

Primitive module for tracking running statistics without storing values in memory.

class galaxy.jobs.metrics.collectl.stats.StatisticsTracker[source]

Bases: object

avg
track(value)[source]

galaxy.jobs.metrics.collectl.subsystems module

Abstractions describing collectl subsystems (specified with the collectl -s parameter).

Subsystems are essentially monitoring plugins available within collectl.

galaxy.jobs.metrics.collectl.subsystems.get_subsystem(name)[source]
>>> get_subsystem( "process" ).command_line_arg == "Z"
True

Module contents

Helper functions and data structures for interacting with collectl & data.

More information on collectl can be found at: http://collectl.sourceforge.net/.