MetlogClient¶
-
class
metlog.client.
MetlogClient
(sender, logger, severity=6, disabled_timers=None, filters=None)[source]¶ Client class encapsulating metlog API, and providing storage for default values for various metlog call settings.
-
add_method
(method, override=False)[source]¶ Add a custom method to the MetlogClient instance.
Parameters: - method – Callable that will be used as the method.
- override – Set this to the method name you want to override. False indicates no override will occur.
-
env_version
= '0.8'¶
-
incr
(name, count=1, timestamp=None, logger=None, severity=None, fields=None, rate=1.0)[source]¶ Sends an ‘increment counter’ message.
Parameters: - name – String label for the counter.
- count – Integer amount by which to increment the counter.
- timestamp – Time at which the message is generated.
- logger – String token identifying the message generator.
- severity – Numerical code (0-7) for msg severity, per RFC 5424.
- fields – Arbitrary key/value pairs for add’l metadata.
-
is_active
¶ Is this client ready to transmit messages? For now we assume that if the default sender (i.e. NoSendSender) has been replaced then we’re good to go.
-
metlog
(type, timestamp=None, logger=None, severity=None, payload='', fields=None)[source]¶ Create a single message and pass it to the sender for delivery.
Parameters: - type – String token identifying the type of message payload.
- timestamp – Time at which the message is generated.
- logger – String token identifying the message generator.
- severity – Numerical code (0-7) for msg severity, per RFC 5424.
- payload – Actual message contents.
- fields – Arbitrary key/value pairs for add’l metadata.
-
send_message
(msg)[source]¶ Apply any filters and, if required, pass message along to the sender for delivery.
-
setup
(sender=None, logger='', severity=6, disabled_timers=None, filters=None)[source]¶ Parameters: - sender – A sender object used for actual message delivery.
- logger – Default logger value for all sent messages.
- severity – Default severity value for all sent messages.
- disabled_timers – Sequence of string tokens identifying timers that should be deactivated.
- filters – A sequence of filter callables.
-
timer
(name, timestamp=None, logger=None, severity=None, fields=None, rate=1.0)[source]¶ Return a timer object that can be used as a context manager or a decorator, generating a metlog ‘timer’ message upon exit.
Parameters: - name – Required string label for the timer.
- timestamp – Time at which the message is generated.
- logger – String token identifying the message generator.
- severity – Numerical code (0-7) for msg severity, per RFC 5424.
- fields – Arbitrary key/value pairs for add’l metadata.
- rate – Sample rate, btn 0 & 1, inclusive (i.e. .5 = 50%). Sample rate is enforced in this method, i.e. if a sample rate is used then some percentage of the timers will do nothing.
-
timer_send
(name, elapsed, timestamp=None, logger=None, severity=None, fields=None, rate=1.0)[source]¶ Converts timing data into a metlog message for delivery.
Parameters: - name – Required string label for the timer.
- elapsed – Elapsed time of the timed event, in ms.
- timestamp – Time at which the message is generated.
- logger – String token identifying the message generator.
- severity – Numerical code (0-7) for msg severity, per RFC 5424.
- fields – Arbitrary key/value pairs for add’l metadata.
- rate – Sample rate, btn 0 & 1, inclusive (i.e. .5 = 50%). Sample rate is NOT enforced in this method, i.e. all messages will be sent through to metlog, sample rate is purely informational at this point.
-