Tail a dataset's logs
Live tail, served on the live host obs-live.ezghcloud.com with the API host's credentials: newly accepted records as server-sent events, before they're searchable. Read it with fetch and a streamed body (not EventSource). Events: records (id: the newest accepted_at in the batch, in Unix milliseconds; data {"records":[LogRecord…],"keptRatio":r}); sampled (data {"keptRatio","matchedPerSecond","sentPerSecond"}) whenever the kept ratio changes; gap (data {"since","until","reason":"replayLimit"}) when a resume can't be replayed in full; end (data {"reason"}: maxDuration, revoked, datasetDeleting, slowConsumer, draining or unavailable); and a heartbeat comment every 15 seconds. A stream lasts at most 15 minutes. Resume with lastEventId, the last records event's id: records accepted since then (up to 5 minutes back) are replayed beside the live ones, may repeat or arrive out of order, and are de-duplicated by recordId. Above maxRate records per second the stream samples, the same records on every server. 429 too_many_requests: all of the organization's live tails are open. 503 unavailable: retry after Retry-After. Not idempotent: each request is a new stream.
https://obs.ezghcloud.com/v1/organizations/{orgId}/projects/{projectId}/obs/datasets/{datasetId}/logs/tailAuthorization
Path parameters
Request bodyJSONoptional
Returns
200
A stream of server-sent events: records, sampled, gap and end, and heartbeat comments.
400
invalid_request (with issues), invalid_cursor, or the endpoint's own 400 codes.
403
access_denied: the caller's policies don't allow the action; forbidden_origin: a cookie-authenticated write from an origin that isn't allowed; spend_limit_reached.
404
not_found: unknown, malformed, or in an organization the caller isn't in.
409
quota_exceeded (an allocation quota, with quota), idempotency_conflict, idempotency_in_progress (with Retry-After), organization_deletion_pending, operation_in_progress, or the endpoint's own 409 codes.
413
payload_too_large: the body is over the endpoint's limit (1 MiB unless it says otherwise).
429
too_many_requests, with Retry-After; or quota_exceeded (a rate, usage or concurrency quota, with quota), never with Retry-After.
500
internal_error: a bug; the details are in the logs, under the request ID.