Skip to content

feat/add log streaming u9 oee#212

Open
brianburrous-nominal wants to merge 2 commits intomainfrom
claude/add-log-streaming-U9OEE
Open

feat/add log streaming u9 oee#212
brianburrous-nominal wants to merge 2 commits intomainfrom
claude/add-log-streaming-U9OEE

Conversation

@brianburrous-nominal
Copy link

No description provided.

claude added 2 commits March 12, 2026 04:03
Mirrors the nominal-client log streaming approach (process_log_batch /
Dataset.get_log_stream): buffers LogPoints and flushes them as a
conjure WriteLogsRequest JSON payload to
POST /storage/writer/v1/logs/{dataSourceRid}.

Key additions:
- `log_stream` module: NominalLogStream, NominalLogStreamBuilder,
  NominalLogStreamOpts, LogPoint
- `client::encode_log_request`: builds the conjure HTTP request for the
  writeLogs endpoint (application/json, no snappy compression)
- serde with derive feature added to support JSON serialisation of the
  wire types (TimestampJson { seconds, nanos } matching global.Timestamp)

https://claude.ai/code/session_01JVWvvQy41MRcqirj9WJj5P
Replace hand-crafted JSON serialization structs with the conjure-generated
`NominalChannelWriterServiceAsyncClient`, `WriteLogsRequest`, `ApiLogPoint`,
`LogValue`, `Timestamp`, and `Channel` types from `nominal_api::storage::writer::api`.

- Add `channel_writer: NominalChannelWriterServiceAsyncClient` to `NominalApiClients`
  initialized from the `services` conjure client handle
- Remove `encode_log_request()` in favour of calling `channel_writer.write_logs()`
  directly in `NominalLogStream::flush()`
- Remove `serde` derive dependency (was only needed for the now-deleted JSON structs)

https://claude.ai/code/session_01JVWvvQy41MRcqirj9WJj5P
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.

2 participants