• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / cli / 37310076232
67%
develop: 67%

Build:
Build:
LAST BUILD BRANCH: gh-readonly-queue/develop/pr-7022-121479f135aa1cf6b89f33bd20841f75e1cd3504
DEFAULT BRANCH: develop
Ran 05 Oct 2026 12:32PM UTC
Jobs 1
Files 79
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

05 Oct 2026 12:30PM UTC coverage: 66.737%. Remained the same
37310076232

push

github

web-flow
feat(stack): persist service logs, ship them to Analytics, and add stack logs history (#6893)

## Summary

In the experimental stack, service output lived only in an in-memory
buffer: `supabase stack logs` had no history, nothing survived an owner
exit, and Studio's Logs pages were always empty because nothing reached
Analytics. This PR persists every service's output, ships it to
Analytics, and gives `stack logs` a history-first interface.

### Persisted logs

- Every output chunk carries its launch id, process part, launch-wide
sequence number and publish time, set where the process is spawned
(startup commands, native processes, containers, database). Lines are
split once in the owner; late output of a failed launch never joins the
next one, and upstream buffer overflow becomes a `lost` record.
- Files live at
`<stateRoot>/<stackId>/logs/<service>/<instanceId>/<generation>.log`,
one record per line (`<time> <kind> <launchId> | <text>`). Segments are
immutable once closed, rotate at 5 MiB, and are retained by bytes (10
MiB) and count (64). Lines over 32 KiB are cut and flagged `truncated`.
- One position-based reader serves history, follow and offline reads. It
subscribes before reading and rechecks the writer's end under its lock,
so a follower never misses a write.
- Queued output is drained on stop; failed appends back off without
blocking services; instance and stack destroy remove logs (with a
bounded Windows sharing-violation retry shared with State); orphaned log
directories are removed on the next owner start.

### Studio Logs: shipping to Analytics

- The owner ships Auth, REST, Realtime, Storage, Functions and database
lines to their Logflare sources, using the legacy Vector remaps ported
to TypeScript (source names unchanged).
- It posts to Analytics' own backend only while the composed Analytics
instance is running and healthy, so shipping never wakes Analytics or
keeps it awake.
- A per-instance `cursor.json` next to the log files lets ... (continued)

4097 of 6139 relevant lines covered (66.74%)

7.37 hits per line

Jobs
ID Job ID Ran Files Coverage
1 37310076232.1 05 Oct 2026 12:32PM UTC 79
66.74
GitHub Action Run
Source Files on build 37310076232
  • Tree
  • List 79
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #37310076232
  • e1a8a25f on github
  • Prev Build on develop (#37298342658)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc