Repository navigation
Conversation
Console now keeps a job's log as numbered lines, so `tracel jobs logs <n>` reads it by line instead of by byte. It shows the whole log the way `kubectl logs` does, a page of 1,000 lines at a time from the first one, and `--tail <n>` shows only the last lines. `--start <byte>` is gone. `--follow` starts with the last 10 lines, or `--tail` of them, as `tail -f` does, so following a long-running job no longer replays its whole log, then reads after the newest line until the job has finished. `tracel run --remote --follow` attaches as the job is queued and shows every line from the first. With `--json`, each line is a `log` event carrying its number, stream, timestamp and text, as `experiments logs --follow` does with its entries. Lines are whole, so the end event no longer closes a partial line. tracel-client is pinned to tracel-ai/tracel-client#61 until it is released.
`tracel jobs logs <n> --follow` and `tracel run --remote --follow` open the job's log websocket after their first read, so each line shows as soon as Console receives it. Reading the job and the lines after the newest one every 2 seconds stays the source of truth: a line already shown is dropped, a frame that skips a line is caught up at once by reading after the newest, and a websocket that cannot open or is lost leaves following to those reads.
jwric
force-pushed
the
feat/job-log-lines
branch
from
October 15, 2026 19:22
c26fbaa to
be701e3
Compare
jwric
marked this pull request as ready for review
October 16, 2026 13:22
Marc-AnthonyG
force-pushed
the
feat/job-log-lines
branch
from
October 29, 2026 18:48
a0a3da7 to
be701e3
Compare
Member
|
Replaced by #51, which carries this PR's two commits unchanged together with the managed-compute removal, the audit fixes and tracel-client 0.24.0, so the cli ships as one change with tracel-ai/tracel-app#1762. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Job logs are read and followed by line, on top of tracel-ai/tracel-app#1762 and tracel-ai/tracel-client#61.
tracel jobs logs <n>shows the job's whole log the waykubectl logsdoes. It reads 1,000 lines at a time from the first one, so output starts right away and a pipe sees every line, and--tail <n>shows only the last lines.--start <byte>is gone.--followstarts with the last 10 lines, or--tailof them, astail -fdoes, so following a long-running job doesn't replay its whole log into the terminal. It then shows each new line as soon as Console receives it, over the job's log websocket. Reading the job and the lines after the newest one every 2 seconds stays the source of truth: a line already shown is dropped, a frame that skips a line is caught up at once by reading after the newest, and a websocket that can't open or is lost leaves following to those reads.tracel run --remote --followattaches while the job is queued and shows every line from the first.With
--json, every line is alogevent carrying its number, stream, timestamp and text, asexperiments logs --followdoes with its entries, and following ends with theendevent.docs/cli.mdcovers all of it.This replaces #47, which follows the current websocket: one string per line, with nothing to line it up with the stored log. tracel-client is pinned to the #61 commit until 0.24.0 is released, and the three changes ship together.
I tried it against a dev stack running #1762. A finished job with 150,001 lines prints in full in about 2.5 seconds,
--tailand--follow --tailstart where they should, and following a running job keeps every line in order.