p3exporter.collector package
Entry point for collector sub module.
- class p3exporter.collector.Collector(config: CollectorConfig)[source]
Bases:
object
Base class to load collectors.
Collectors needs to be placed either in the directory collector within this module (local) or in a separate module. Collectors in separate modules needs to be addressed in dotted notation.
Collectors have to follow the following naming convention:
Place the collector code in a <name>.py file (e.g. my.py)
Within the file <name>.py` a class <Name>Collector (e.g. MyController) needs to be defined. This is the main collector class which will be imported, instantiate and registered automatically.
- class p3exporter.collector.CollectorBase(config: CollectorConfig)[source]
Bases:
object
Base class for all collectors.
This class will provide methods that do generic work.
- property collector_name_from_class
Convert class name to controller name.
The class name must follow naming convention:
camelized string
starts with camelized module name
ends with ‘Collector’
This will convert <Name>Collector class name to <name> collector name. Examples for valid names:
MyCollector => my
FooBarCollector => foo_bar
FooBarBazCollector => foo_bar_baz
- Returns
collector name in snake case
- Return type
string
- class p3exporter.collector.CollectorConfig(**kwargs)[source]
Bases:
object
Class that provide all the logic needed for configuration handling.
Submodules
p3exporter.collector.example module
Module that defines all needed classes and functions for example collector.
- class p3exporter.collector.example.ExampleCollector(config: CollectorConfig)[source]
Bases:
CollectorBase
A sample collector.
It does not really do much. It only runs a method and return the time it runs as a gauge metric.
p3exporter.collector.loadavg module
Module that defines all needed classes and functions for loadavg collector.
- class p3exporter.collector.loadavg.LoadavgCollector(config: CollectorConfig)[source]
Bases:
CollectorBase
Load avg collector class.
p3exporter.collector.netdev module
Module that defines all needed classes and functions for netdev collector.
- class p3exporter.collector.netdev.NetdevCollector(config: CollectorConfig)[source]
Bases:
CollectorBase
Netdev collector class.