mirror of
https://github.com/badlogic/pi-mono.git
synced 2026-11-05 23:37:25 +00:00
Chord's telemetry schema; spans for calls, methods, relays, holds, activations, natives, loads, reloads, resolves, revocations, routines, jobs and HTTP requests; trace carriers on hold and call (bounded, printable ASCII) continued by relays and workers; events and host-wide metrics; the app kit passes an adapter to its hosts. renderTrace escapes control characters. Example 62 prints a trace across three hosts.
3.3 KiB
3.3 KiB
Changelog
[Unreleased]
Fixed
renderTraceescapes control characters (C0, C1, DEL) as\uXXXXin span and event names, trace and span ids of links, attribute keys and error names and messages, so ids taken from another process's carrier never reach a terminal or viewer raw.
[1.5.0] - 2026-11-02
Fixed
- The package root and
./testingexports have asourcecondition, like./render, so workspace tests that resolve withsource(Durable's and pi-env's, as the Environments workflow runs them) work without a build.
[1.4.0] - 2026-10-21
Breaking Changes
- Adapters trust typed instrumentation inputs; behavior for malformed values is unspecified. Carrier extraction checks required string identities, without validating their format.
- Adapters must implement
TelemetrySpan.addLink(). Normalized span snapshots include carrier-shaped context and parent identities and ordered links. - Adapters with optional metric or propagation capabilities must carry them through
TelemetryContext.metricsandTelemetryContext.propagationon roots, spans, and extracted parents.
Added
- Opaque string-map carriers and optional
TelemetryPropagationinjection/extraction, with passive root fallback for absent or invalid carriers and sharedNOOP_TELEMETRY_PROPAGATION. - Initial
SpanOptions.linksand latespan.addLink()with context targets and optional attributes, including settled target spans and extracted remote parents. - Optional
TelemetryMetricscounters, up-down counters, and histograms with boundary hints and exemplar contexts, plus sharedNOOP_TELEMETRY_METRICSinstruments. - Optional context capability members, populated by the no-op and in-memory adapters and checked by adapter conformance.
NOOP_TELEMETRY_CONTEXTis typed asTelemetrySpan, matching the shared inert span it provides.- Metric schema definitions and
createTypedMetrics()with exact instrument names, kinds, and required/optional low-cardinality attributes. - In-memory propagation across processes, link and measurement snapshots, and adapter conformance cases for propagation, links, and optional metrics.
StoredSpan,StoredTrace, andTelemetryStoredefine backend-independent trace discovery, trace retrieval, and metric queries.@earendil-works/pi-telemetry/renderexportsrenderTrace()for plain-text span trees with attributes, durations, errors, events, and cross-trace links; merged spans are deduplicated by ID and links are never followed.
[1.3.0] - 2026-10-15
[1.2.0] - 2026-10-12
[1.1.0] - 2026-10-07
[1.0.4] - 2026-10-05
[1.0.3] - 2026-10-05
[1.0.2] - 2026-10-04
[1.0.1] - 2026-10-03
[1.0.0] - 2026-10-01
[0.99.2] - 2026-09-30
[0.99.1] - 2026-09-29
[0.99.0] - 2026-09-29
[0.87.1] - 2026-09-22
[0.87.0] - 2026-09-21
[0.86.1] - 2026-09-20
[0.86.0] - 2026-09-19
[0.85.1] - 2026-09-05
[0.85.0] - 2026-09-04
[0.84.4] - 2026-08-28
[0.84.3] - 2026-08-24
[0.84.2] - 2026-08-14
[0.84.1] - 2026-08-07
[0.84.0] - 2026-08-06
Added
- Added the callback-based telemetry context contract, shared no-op context, deterministic in-memory reference adapter, reusable adapter conformance suite, typed serializable schema utilities, and multi-schema typed span starters with explicit child propagation.