briar scheduler · {{ system.hostname }}

rendered
{{ system.now }}
uptime
{{ system.uptime }} · {{ system.cpu_count }} CPU
dashboard
pid {{ dashboard_process.pid }} · up {{ dashboard_process.uptime }} · {{ dashboard_process.request_count }} req · render {{ dashboard_process.last_render_ms }} ms
{% if deploy.present %}
sha
{{ deploy.short_sha }} · {{ deploy.branch }}
subject
{{ deploy.subject }}
author
{{ deploy.author }}
committed
{{ deploy.committed }}
remote
{{ deploy.remote }}
{% endif %}

at a glance

disk
{{ system.disk_used_pct }}%
{{ system.disk_used_gb }} / {{ system.disk_total_gb }} GB used
memory
{{ system.mem_used_pct }}%
{{ system.mem_used_mb }} / {{ system.mem_total_mb }} MB used
load avg (1/5/15m)
{{ system.load_1 }}
{{ system.load_5 }} · {{ system.load_15 }} ({{ system.cpu_count }} cpu)
scheduler process
{% if scheduler_process.present %}up{% else %}down{% endif %}
{% if scheduler_process.present %}pid {{ scheduler_process.pid }}{% else %}no `briar runbook serve` running{% endif %} · {{ cycle_outcomes.total_cycles }} cycles to date

connectivity {{ connectivity.rows|length }} target(s)

{% for r in connectivity.rows %} {% endfor %}
targetstatuslatency
{{ r.target }} {% if r.reachable %}reachable {% else %}unreachable
{{ r.error }} {% endif %}
{{ r.latency_ms }} ms

schedulers {{ schedules.count }} (company, task) job(s)

{% if not schedules.rows %}

no schedules declared in {{ schedules.dir if schedules.dir else "examples/" }}

{% else %} {% for r in schedules.rows %} {% endfor %}
companytaskeverynext fire (UTC)extractors
{{ r.company }} {{ r.task }} {{ r.every }} {{ r.next_fire or "(unknown)" }} {% for x in r.extractors %}{{ x }}{% endfor %}
{% endif %}

calendar past 24h ({{ schedule_calendar.past_count }}) · next 24h ({{ schedule_calendar.future_count }})

window {{ schedule_calendar.window_start }}{{ schedule_calendar.window_end }} · now {{ schedule_calendar.now }}

✓ {{ schedule_calendar.write_count }} wrote ↻ {{ schedule_calendar.skip_count }} skipped {% if schedule_calendar.fail_count %}✗ {{ schedule_calendar.fail_count }} failed{% else %}✗ 0 failed{% endif %} skip-rate {{ schedule_calendar.skip_pct }}%
{% for b in schedule_calendar.buckets %}
{{ b.hour_short }}
{{ b.date_label }}
{% if b.is_now %}↳ now{% endif %} {% for f in b.fires %} {{ f.when }} {{ f.company }} {{ f.task }} {% if f.kind == "past" %} {% if f.status == "ok" %} {% elif f.status == "skipped" %} {% elif f.status == "failed" %} {% else %}·{% endif %} {% endif %} {% endfor %} {% if not b.fires and not b.is_now %}{% endif %}
{% endfor %}

github api quota last 24h · {{ gh_stats.total }} GETs

remaining (last)
{% if gh_stats.last_remaining >= 0 %}{{ gh_stats.last_remaining }}{% else %}—{% endif %}
authenticated quota
min seen (24h)
{% if gh_stats.min_remaining >= 0 %}{{ gh_stats.min_remaining }}{% else %}—{% endif %}
closest to exhaustion
cache hits (304)
{{ gh_stats.cache_hit_count }}
free per gh docs
hit rate
{{ gh_stats.hit_rate_pct }}%
{{ gh_stats.ok_count }} live · {{ gh_stats.err_count }} err
{% if gh_stats.samples %}
{% endif %} {% if gh_stats.recent_cache_hits %}
recent ETag cache hits ({{ gh_stats.cache_hit_count }} total) {% for h in gh_stats.recent_cache_hits %} {% endfor %}
atpath
{{ h.at }}{{ h.path }}
{% endif %}

aggregated extraction mined from the knowledge files

merged PRs
{{ knowledge_aggregates.merged_prs }}
open PRs
{{ knowledge_aggregates.open_prs }}
rds · sqs
{{ knowledge_aggregates.rds_instances }} · {{ knowledge_aggregates.sqs_queues }}
log groups
{{ knowledge_aggregates.log_groups }}

companies {{ companies.count }} row(s)

{% if not companies.rows %}

no companies declared

{% else %} {% for r in companies.rows %} {% endfor %}
filecompanyprofileextractorsknowledge file
{{ r.file }} {{ r.company }} {{ r.profile }} {% for x in r.extractors %}{{ x }}{% endfor %} {{ r.knowledge_file }}
{% endif %}

knowledge files {{ knowledge.rows|length }} via {{ knowledge.root }}

{% if knowledge.missing %}

root {{ knowledge.root }} does not exist yet — run a sweep

{% elif not knowledge.rows %}

no markdown files under {{ knowledge.root }}

{% else %}
{% for r in knowledge.rows %}
{{ r.path }} #{{ r.fingerprint or "????????" }}
{{ r.byte_count }} bytes ~{{ r.token_estimate }} tokens {{ r.sections }} sections {% if r.age_human %}{{ r.age_human }}{% endif %}
{% if r.signals or r.repos_covered %}
{% if r.signals.merged_prs %}{{ r.signals.merged_prs }} merged PRs{% endif %} {% if r.signals.open_prs %}{{ r.signals.open_prs }} open PRs{% endif %} {% if r.signals.rds_instances %}{{ r.signals.rds_instances }} RDS{% endif %} {% if r.signals.sqs_queues %}{{ r.signals.sqs_queues }} SQS{% endif %} {% if r.signals.log_groups %}{{ r.signals.log_groups }} log groups{% endif %} {% for repo in r.repos_covered[:6] %}{{ repo }}{% endfor %} {% if r.repos_covered|length > 6 %}+{{ r.repos_covered|length - 6 }} more{% endif %}
{% endif %} {% if r.sections_detail %} {% for s in r.sections_detail %} {% endfor %}
sectionbyteslinesbullets
{{ s.title }} {{ s.body_bytes }} {{ s.line_count }} {{ s.bullet_count }}
{% endif %}
{% endfor %}
{% endif %}

knowledge file sizes

recent cycles last {{ cycle_outcomes.cycles|length }} (of {{ cycle_outcomes.total_cycles }})

{% if not cycle_outcomes.cycles %}

no parsed cycles yet — wait for the next run or check the log

{% else %}
{% endif %}

secrets presence {{ secrets.rows|length }} keys

{% if not secrets.present %}

no secrets file at {{ secrets.path }}

{% else %}

{{ secrets.path }} · {{ secrets.byte_count }} bytes · modified {{ secrets.modified }} · values never displayed

{% for r in secrets.rows %} {% endfor %}
namelengthset
{{ r.name }} {{ r.length }} {% if r.set %}yes{% else %}no{% endif %}
{% endif %}

disk by directory

{% for r in disk_by_dir.rows %} {% endfor %}
pathsizepresent
{{ r.path }} {{ r.human }} {% if r.present %}{% else %}{% endif %}

extractors {{ extractors.count }}

{% for r in extractors.rows %} {% endfor %}
nameneeds
{{ r.name }}
{{ r.description }}
{% if r.requires_github %}gh{% endif %} {% if r.requires_aws %}aws{% endif %}

aws gatherers {{ aws_services.rows|length }}

{% for r in aws_services.rows %} {% endfor %}
{{ r.name }}

language detectors {{ language_detectors.rows|length }}

{% for r in language_detectors.rows %} {% endfor %}
namemanifest
{{ r.name }}{{ r.manifest }}

sources {{ source_templates.count }}

{% for r in source_templates.rows %} {% endfor %}
kindfamily
{{ r.kind }}{{ r.family }}

triggers {{ trigger_templates.count }}

{% for r in trigger_templates.rows %} {% endfor %}
kinddescription
{{ r.kind }}{{ r.description }}

storage

{% for r in storage_backends.rows %} {% endfor %}
{{ r.name }}

workflow shapes {{ workflow_shapes.rows|length }}

{% for r in workflow_shapes.rows %} {% endfor %}
namedescription
{{ r.name }}{{ r.description }}

archetypes {{ archetypes.rows|length }}

{% for r in archetypes.rows %} {% endfor %}
namerole · consumes · tool filter
{{ r.name }} {{ r.role }}
reads: {% for x in r.consumes %}{{ x }}{% endfor %}
tools: {% for t in r.tool_filter %}{{ t }}{% endfor %}

commands {{ commands.rows|length }}

{% for r in commands.rows %} {% endfor %}
namehelp
{{ r.name }}{{ r.help }}

recent activity {{ scheduler_log.lines|length }} line(s)

{% if not scheduler_log.present %}

no log at {{ scheduler_log.path }}

{% else %} {% if scheduler_log.last_cycle %}

last cycle: {{ scheduler_log.last_cycle }}

{% endif %}
{% for line in scheduler_log.lines %}{{ line }}
{% endfor %}
{% endif %}