Skip to main content

Append-only local ingest and queryable storage for Runopsy traces

Project description

runopsy-collector

Local, append-only ingest for normalized trace events.

Storage has two layers and they are not equal partners. The JSONL journal is the source of truth: one append-only file per run, written with sorted keys so the same run always serializes to the same bytes. DuckDB is a derived index built from those journals to make runs queryable, and it can be thrown away and rebuilt at any time with Collector.rebuild().

That asymmetry is deliberate. An agent run fails at unpredictable moments, often taking the process with it, and a half-written database is a far more likely outcome than a half-written append. Keeping the plain log authoritative means a crashed run is still diagnosable, a corrupted index is a one-command repair rather than lost history, and a user can read their own trace with nothing but a text editor.

Ingest is idempotent on event_id, so an adapter that retries a write cannot duplicate a step and inflate a loop detector's count.

Nothing here reaches the network. Content is referenced by hash, and the contains_secret flag travels with each event so export and payload minimization can consult it before anything leaves the machine.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

runopsy_collector-0.1.1.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

runopsy_collector-0.1.1-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

File details

Details for the file runopsy_collector-0.1.1.tar.gz.

File metadata

  • Download URL: runopsy_collector-0.1.1.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for runopsy_collector-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0b13072df08ec108961220fe6700a194ed762d6f1484e60dee3464df240e7df3
MD5 297f669d1197274987b8be97b10e0a12
BLAKE2b-256 b4277c55eff4bce524d2797ec23ae923d437f3396190bf571b25e158a9bf0649

See more details on using hashes here.

File details

Details for the file runopsy_collector-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: runopsy_collector-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 24.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for runopsy_collector-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0cb28bd6608216868c4c812e68a02f302eb3f6906c29c7c6fd7aefbcec4630d5
MD5 0d5c5f4c9a5ab742df16e5df878efb6b
BLAKE2b-256 4bcb1cbe7a3192c94596b05c2512891d14998b36ddfb0202a5eee321e5945347

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page