Tech Specs / Plugins

Custom logic, your rules

Every fleet is different. ProbeScope's plugin system lets you write your own monitoring logic in a few lines of code — no recompiling, no waiting on a feature request.

Simple, safe scripting

Plugins are written in Starlark — a small, sandboxed Python-like language (the same one Bazel uses for build files). No filesystem access, no shell access, nothing that can accidentally break your system. Just: watch the fleet, react when something changes.

def cond(ctx):
    return [h for h in ctx.hosts if not h.up]
def act(ctx, hosts):
    for h in hosts:
        set_flag(h.id, "red", "DOWN")
register_rule(name="host_down", condition=cond, action=act, cooldown_seconds=60)

From a single flag to a full alert pipeline

Color a host red the moment it drops. Fire a webhook to Slack or PagerDuty. Detect that your own network — not the remote host — is what actually failed, and skip the noise. Shut ProbeScope down automatically once a CI/CD target comes online. probescope init --plugin drops a working example and a full library of documented patterns straight into your project, ready to edit.

Your creativity is the boundary

Plugins run once per second against your entire fleet at once, so cross-host correlation — "one network event, not twelve alerts" — is a few lines away, not a project.