Skip to content

feat(backups): record S3 traffic tallies on backup runs#282

Merged
passcod merged 1 commit into
mainfrom
backup-s3-traffic
Jun 25, 2026
Merged

feat(backups): record S3 traffic tallies on backup runs#282
passcod merged 1 commit into
mainfrom
backup-s3-traffic

Conversation

@passcod

@passcod passcod commented Jun 25, 2026

Copy link
Copy Markdown
Member

🤖 bestool's proxy now reports the S3 traffic it observed during a run: raw (the full HTTP message, including SigV4 chunk framing) versus payload (decoded object data), for both sent and received. This persists the four figures end-to-end.

  • New nullable BIGINT columns on backup_runs: s3_sent_raw_bytes, s3_sent_payload_bytes, s3_received_raw_bytes, s3_received_payload_bytes.
  • POST /backup-report (ReportArgs) accepts the four fields and stores them, on both success and failure. Older clients that omit them keep working (fields are optional).
  • The four figures surface in each run's expandable detail row in the recent-runs table.
  • When a run reports no explicit bytes_uploaded, the Uploaded column falls back to the S3 payload-sent figure, marked approximate (~).

Both openapi specs and api-types.ts are regenerated. Playwright coverage added for the approximate-upload fallback and the S3 traffic detail row.

bestool's proxy now reports the S3 traffic it saw during a run: raw
(full HTTP message incl. SigV4 chunk framing) vs payload (decoded
object data), for both sent and received. Persist the four figures on
backup_runs and the BackupReport ingest, on both success and failure.

The recent-runs table surfaces them in each run's expandable detail row,
and the Uploaded column falls back to the S3 payload-sent figure
(marked approximate) when bestool reports no explicit upload size.
@passcod passcod added this pull request to the merge queue Jun 25, 2026
Merged via the queue into main with commit 1bb43f3 Jun 25, 2026
7 checks passed
@passcod passcod deleted the backup-s3-traffic branch June 25, 2026 20:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant