uptime_report package¶
Subpackages¶
Submodules¶
uptime_report.backend_utils module¶
-
uptime_report.backend_utils.group_by_range(it, pred, keyfunc=None)¶ Return contiguous ranges of items satisfying a predicate.
-
uptime_report.backend_utils.offset_iter¶ Call a method with limit/offset arguments until exhausted.
Given a callable that accepts limit/offset keyword arguments and returns an iterable, call the method repeatedly until less than limit items are returned, yielding each item.
uptime_report.cli module¶
Uptime report CLI.
This module contains all CLI entrypoints. Command line argument parsing and execution is implemented via clize.
Examples:
$ python -m uptime_report.cli --version
-
uptime_report.cli.backends()¶ Print supported backends.
-
uptime_report.cli.get_log_level(level)¶ Convert a value to a log level.
Converts a case-insensitive log level name to the corresponding integer value from Python’s
loggingpackage.Example
>>> assert logging.DEBUG == get_log_level('debug')
Parameters: level (str) – the value to convert Returns: a log level from the loggingpackage.Return type: int Raises: clize.errors.CliValueError– if the value cannot be converted.
-
uptime_report.cli.main(**kwargs)¶ Run the CLI application.
-
uptime_report.cli.outages¶ List outages.
Parameters:
-
uptime_report.cli.uptime¶ Do the uptime reporting stuff.
-
uptime_report.cli.version()¶ Get the version of this program.
-
uptime_report.cli.with_backend(decorated)¶ Provide
--backendoption that initializes a backend.Parameters: backend (str, optional) – the name of the backend. Defaults to 'pingdom'.Raises: clize.errors.CliValueError– if the backend configuration is missing
-
uptime_report.cli.with_common_args(decorated)¶ Add common CLI arguments to a method.
Provides
--log-level,--configand--use-cacheoptions.Parameters: - log_level (int) – the log level code to configure logging.
- use_cache (bool) – True if you want requests_cache to be used.
-
uptime_report.cli.with_filters(decorated)¶ Provide common filter arguments.
Parameters: - start (str) – the start time in a string parseable by
get_time(). - finish (str) – the finish time in a string parseable by
get_time(). - overlap (int, optional) – how many seconds must be between two outage periods so they don’t get merged.
- minlen (int, optional) – how many seconds must an outage period be so that it’s not filtered out.
Raises: clize.errors.CliValueError– if one of the values cannot be converted.- start (str) – the start time in a string parseable by
uptime_report.config module¶
-
uptime_report.config.write_config¶ Write out a sample config file. Use ‘-‘ for stdout.
Parameters: output – the path to the file to write.
uptime_report.outage module¶
Uptime report outages.
This module contains generic code for processing outages.
-
class
uptime_report.outage.Outage(start, finish, before=None, after=None, meta=NOTHING)¶ Bases:
objectAn outage.
-
meta¶ (dict, optinal): arbitrary metadata about this outage.
-
-
uptime_report.outage.filter_outage_len(outages, minlen=0)¶ Filter-out outages that have a small duration.
Parameters: Yields: Outage – the next outage from the list that has the minimum duration.
Example
>>> outages = [Outage(start=1, finish=5), Outage(start=2, finish=3)] >>> [o.start.timestamp for o in filter_outage_len(outages, minlen=2)] [1]
-
uptime_report.outage.make_ranges(outages, overlap)¶ Combine outages to create new ranges.
-
uptime_report.outage.merge_outages(outages, overlap=0)¶ Merge a list of Outage objects.
-
uptime_report.outage.sort_range(value)¶ Handle None values as very far in the past or future.
Module contents¶
Pingdom Uptime Report - Generate uptime reports using the Pingdom API.