Skip to content

Latest commit

 

History

History
35 lines (33 loc) · 3.38 KB

File metadata and controls

35 lines (33 loc) · 3.38 KB

Conformance

Scenario-by-scenario status of this SDK against the LogTide SDK contract. Each scenario ID is stable across all official SDKs; "n/a" entries explain why a scenario does not apply. TODO entries are tracked work.

ID Scenario Status Test reference
C01 basic log: one POST to /api/v1/ingest with X-API-Key, {logs:[...]} body, RFC 3339 time, metadata.sdk tests/client.test.ts, tests/spec-tier1.test.ts (sdk stamp)
C02 batch by size: batchSize entries flush automatically, order preserved tests/transport-batch.test.ts
C03 batch by interval: entries delivered without explicit flush tests/transport-batch.test.ts (interval)
C04 wire format strictness: SDK fields nested in metadata, only contract fields top-level tests/client.test.ts (InternalLogEntry shape)
C05 exception capture: structured metadata.exception with type/message/language/frames/cause tests/error-serializer.test.ts (exception, cause chain)
C06 exception chain cap: cause depth ≤ 10, no infinite loop on cycles tests/error-serializer.test.ts
C07 retry on 5xx with growing backoff tests/spec-tier1.test.ts (429/5xx retried)
C08 no retry on permanent 4xx (400/401/403/413) tests/spec-tier1.test.ts (no retry on 400)
C09 Retry-After overrides computed backoff tests/spec-tier1.test.ts (Retry-After honoured)
C10 circuit breaker opens after threshold failures tests/circuit-breaker.test.ts
C11 circuit breaker half-open probe and recovery tests/circuit-breaker.test.ts
C12 buffer cap: drops beyond maxBufferSize, counted, never throws tests/transport-batch.test.ts (maxBufferSize drop)
C13 flush on close; capture after close is a silent no-op tests/client.test.ts (close flush)
C14 DSN parsing incl. base path; invalid DSN fails at init tests/dsn.test.ts (incl. base path)
C15 inbound traceparent lands on entry trace_id framework middleware tests (express/fastify/sveltekit/...)
C16 no PII by default; API key never logged header sanitization in middleware tests
C17 serialisation robustness: circular/unserialisable values never throw partial JSON.stringify; circular metadata is dropped by serializer
C18 timestamp fidelity: time reflects capture, not delivery time stamped at capture (client.ts)
C20 scope isolation across concurrent requests tests/hub.test.ts, tests/scope.test.ts
C21 breadcrumb ring buffer eviction, oldest first tests/breadcrumb-buffer.test.ts
C22 beforeSend can mutate or drop entries TODO beforeSend hook not implemented
C23 sampling: rate 0 sends nothing (logs) / no-op spans (traces) tests/client.test.ts (tracesSampleRate no-op spans)
C24 OTLP span export with service.name resource tests/integration-trace.test.ts (OTLP spans)
C25 outbound traceparent injection on instrumented HTTP clients traceparent injection (express/fastify middleware tests)
C26 log/trace correlation: active span ids on entries tests/child-span.test.ts
C27 middleware error capture rethrows after logging framework error-handler tests
C28 logging-bridge level mapping and scope context partial console breadcrumbs; pino/winston transports TODO