Cap’n Proto Schema¶
- Author:
Rohit Goswami
Overview¶
The serve mode RPC protocol is defined in schema/bless_log.capnp. It uses the
capability pattern: clients open a session and receive a LogSink capability
scoped to that session.
Structs¶
LogLine¶
A single log line with timestamp, level, and message.
Field |
Type |
Description |
|---|---|---|
timestamp |
Float64 |
Unix epoch seconds (f64) |
level |
Level |
Log level enum |
message |
Text |
The log message |
Level (enum)¶
Value |
Name |
|---|---|
0 |
trace |
1 |
debug |
2 |
info |
3 |
warn |
4 |
error |
SessionMeta¶
Metadata sent when opening a session.
Field |
Type |
Description |
|---|---|---|
label |
Text |
Run label |
uuid |
Text |
Run UUID |
command |
Text |
Command name |
args |
Text |
Command arguments |
hostname |
Text |
Client hostname |
startTime |
Float64 |
Unix epoch start time |
SessionSummary¶
Returned by listSessions.
Field |
Type |
Description |
|---|---|---|
uuid |
Text |
Run UUID |
label |
Text |
Run label |
command |
Text |
Command name |
duration |
Text |
Human-readable duration |
lineCount |
UInt64 |
Total lines logged |
exitCode |
Int32 |
Command exit code |
Interfaces¶
BlessServer¶
Method |
Parameters |
Returns |
|---|---|---|
openSession |
meta: SessionMeta |
sink: LogSink |
listSessions |
limit: UInt32 |
sessions: List(SessionSummary) |
LogSink¶
Method |
Parameters |
Returns |
|---|---|---|
writeBatch |
lines: List(LogLine) |
void |
close |
exitCode: Int32, duration: Text |
void |
Data flow¶
Client connects to server via TCP
Client calls
openSessionwith metadataServer creates gzip file, returns
LogSinkcapabilityClient sends log lines in batches via
writeBatchClient calls
closewith exit code and durationServer finalizes gzip file and writes to index