Skip to main content

Victorialogs

@magistr/victorialogsv2026.10.25.10· MIT· 1d agoBEHAVIORS
01README

VictoriaLogs query API — run LogsQL queries, field/stream stats, and hits over time.

Model:

  • @magistr/victorialogs — query a VictoriaLogs HTTP endpoint with LogsQL. Methods: query (matching entries), stats (aggregations via a | stats pipe), container-log-status (compare running Docker containers against those actually logging to detect broken pipelines), error-summary (group error/fatal/panic/OOM lines by container), and compare-periods (diff log volume between a baseline and a comparison window to spot services that went silent).
02Release Notes

2026.10.25.10

  • Repo-wide republish; no functional change.
03Behaviors1
@magistr/victorialogsv2026.10.25.10extensions/models/victorialogs.ts

Global Arguments

ArgumentTypeDescription
hoststringVictoriaLogs host (IP or hostname)
port?numberVictoriaLogs HTTP port
fn query(logsql?: string, start?: string, end?: string, limit?: number)
Run a LogsQL query and return matching entries
ArgumentTypeDescription
logsql?stringLogsQL query expression
start?stringStart time (e.g. -24h, -7d, 2026-01-01T00:00:00Z)
end?stringEnd time (default: now)
limit?numberMax entries to return
fn stats(logsql?: string, start?: string, end?: string)
Run a LogsQL stats query (must include '| stats ...' pipe)
ArgumentTypeDescription
logsql?stringLogsQL query with stats pipe
start?stringStart time
end?stringEnd time
fn container-log-status(start?: string, end?: string)
Compare which running containers are logging vs silent (detect down/broken log pipelines)
ArgumentTypeDescription
start?stringTime window to check
end?stringEnd time
fn error-summary(start?: string, end?: string)
Summarize error/fatal/panic/OOM log entries by container
ArgumentTypeDescription
start?stringStart time
end?stringEnd time
fn compare-periods(baseline_start?: string, baseline_end?: string, compare_start?: string, compare_end?: string)
Compare log volume between two time periods to find services that went down
ArgumentTypeDescription
baseline_start?stringBaseline period start
baseline_end?stringBaseline period end
compare_start?stringComparison period start
compare_end?stringComparison period end (default: now)

Resources

queryResult(infinite)— Raw log query result
stats(infinite)— Log statistics result
containerStatus(infinite)— Which containers are/aren't logging
errorSummary(infinite)— Error log summary by container
04Previous Versions15
2026.10.15.9MIT

2026.10.15.9

Changed

  • Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.15.8MIT

2026.10.15.8

Changed

  • Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.15.6MIT

2026.10.15.6

Changed

  • Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.15.5MIT

2026.10.15.5

Changed

  • Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.15.4MIT

2026.10.15.4

Changed

  • Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.15.3MIT

2026.10.15.3

Changed

  • Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.15.2MIT

2026.10.15.2

Changed

  • Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.15.1MIT

2026.10.15.1

Changed

  • Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.10.14.2MIT(was none)

2026.10.14.2

Changed

  • Repo-wide maintenance release: version bump to republish the current source. No schema change.

Modified 1 behaviors

2026.09.19.2

2026.09.19.2

Changed

  • Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.09.17.1

2026.09.17.1

Changed

  • Repo-wide maintenance release: version bump to republish the current source. No schema change.
2026.08.19.1
2026.08.01.1

2026.08.01.1

Two HIGH monitoring blind-spots (both false all-clears/storms) are now FIXED, plus a trivial same-method sort fold-in. Tracked end-to-end in the LOCAL victorialogs-false-allclear-bugs issue-lifecycle model — never a Lab issue, since this is a @magistr/* extension.

  1. P4 — ssh failure swallowed as a false all-clear (HIGH), FIXED — getRunningContainers never checked the ssh subprocess's output.success; an ssh FAILURE (e.g. connection refused, host key mismatch) yielded empty stdout, which was decoded unconditionally into running = [], so container-log-status reported notLogging: [] — identical to "every running container is logging" even though the check never actually ran. Fixed by checking output.success and throwing a distinct ssh-failure error carrying the HOST and EXIT CODE only — never raw stderr, which can leak internal topology (host-key/gateway names).
  2. P6 — compare-periods empty-window/NaN alarm storm (HIGH), FIXED — compare-periods had no guard for an empty baseline or comparison window: an empty baseline classified every container as NEW, an empty comparison window classified every container as GONE (a fleet-wide false-alarm storm). Separately, parseInt(e.total) with no radix silently produced NaN for a garbled total value, which the || 0 fallback collapsed to 0 — masking what should read as "this container had SOME volume" and silently landing a real disappearance on NORMAL instead of an alertable GONE. Fixed by throwing distinct errors when either window is empty (checked immediately after the Promise.all fetch, so both fetches still complete before either guard fires) and by detecting Number.isNaN at the baseline/comparison map ingest (now with explicit radix 10) and throwing instead of silently collapsing to 0.
  3. P13 — sort comparator falsy-collapse (fold-in, same method/bug class) — the compare-periods sort comparator's (order[a.status] || 9) - (order[b.status] || 9) treated GONE's priority value of 0 as falsy, collapsing it to the unmapped-status fallback of 9 — the most urgent alert (a service went silent) sorted LAST instead of first. Found during the wave-2b review, outside the original P4/P6 scope but trivial and on the same edited lines; fixed by switching to ?? 9 (nullish coalescing), which only substitutes on null/undefined, not on 0.
  • model.version (extensions/models/victorialogs.ts) and manifest.yaml both bump to 2026.08.01.1, in sync.
  • Flipped ~15 characterization pins across the three affected suites (victorialogs_methods_test.ts, victorialogs_adversarial_test.ts, victorialogs_coverage_test.ts, victorialogs_property_test.ts) from pinning the buggy behavior to asserting the fixed rejection/ordering; constrained the property suite's non-degenerate arbWindow to minKeys: 1 and fed the methods suite's default-window test non-empty bodies so neither trips the new empty-window guard. Every other pin (P1/P2/P3/P5/P7/P8/P9/ P10/P11/P12, and all legit-path happy/failure characterizations) is unchanged.
2026.07.16.2

Release 2026.07.16.2 — align model versions with manifests

Maintenance release across the @magistr extensions. For most packages this carries no functional change: the only edit is the model's version: field, brought back in line with its manifest version so the published model type version and the package version no longer drift.

Functional changes in this release are limited to:

  • anime-cron: normalizeTitle now strips a ": subtitle" suffix and a trailing parenthesized year before comparison, fixing dedup false-misses where the torrent title carries a subtitle or year that the AniList romaji does not.

  • arckit: first publish. Standalone ArcKit port — a 12-phase architecture governance state machine with 65 bundled templates, driven by a bundled skill.

Also tracks three extensions (kaiten, observability-agent, music-library) that previously existed only as untracked working-tree directories, recovered from stashes.

Added 1 behaviors

2026.05.25.1

Merge pull request #5 from umag/extensions/jscad-stl-pair

extensions: add 15 more @magistr extensions + auto-discover CI

05Stats
A
100 / 100
Downloads
51
Archive size
6.8 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Docs keep secrets in a vault1/1earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License2/2earned
  • Verified public repository2/2earned
06Platforms
07Labels