Skip to content

metrics re-arch #12

@matthsmi

Description

@matthsmi

Butler has 5 phases

with the simplified decision flow of....
If 200 then set metrics & set LKG
If timeout then set metrics (if timeout_ok = false) & leave the files on disk (do not delete)
If !200 then set metrics and restore LKG to disk

butler_

  1. connection to the remote file store, could be S3/http etc
    _remote_status{file="myfile} = return code of remote, 200 for http, not sure for s3
    _remote_time{file="myfile} = timestamp of last time we got the file

Phase 1 will happen every interval, so we can use timestamps, phases below are not guanteed to happen every interval, only if the files changes, so we cannot use timestamps for alerting....

  1. config parsing
    _cfg_mustache{file="myfile} = 0 or 1
    _cfg_render{file="myfile,method="yml|json|text} = 0 or 1

  2. write files to disk
    _write{file="myfile} = 0 or 1

  3. reload config
    _reload_status{manager="myman"} = return code when reloading, 0 for timeout
    _reload_time{manager="myman"} = timestamp of last attempted reload (be it fail, succeed or timeout)

_lkg{manager="myman"} = timestamp of the when the last known good was stored.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions