Repository navigation
Releases: beacon-observability/fastrace
Release list
v0.1.0
First Beacon-maintained Fastrace source SDK release, based on fast/fastrace. The SDK and reporter implementation are unchanged from the adopted baseline; Beacon adds English guides, baseline synchronization instructions, source-release documentation, and a reproducible local DataKit acceptance harness.
Source and versions
- Beacon release:
v0.1.0; source commit:d864dcb70a9caeb3a5173667e1e11b7e8b8eb288. - Upstream baseline:
45e58b94264dd2134b4b08be36f8378a4539bb50; independent source snapshot with no GitHub fork relationship. - Retained crates:
fastrace,fastrace-macro, andfastrace-futures0.7.19;fastrace-opentelemetry0.19.0. These versions differ from the Beacon distribution version. - Original copyright notices and Apache-2.0 are retained.
Install and verify
Follow the version-pinned installation and local DataKit guide. Pin all Fastrace Git dependencies to v0.1.0 and commit your application's lockfile. Alternatively download these assets into one directory:
fastrace-0.1.0-source.tar.gz: complete tracked source, documentation, license, and committed workspace and acceptance lockfiles.release-manifest.json: source and upstream commits, crate versions, lockfile hashes, packaging tools, and evidence references.SHA256SUMS: verify withsha256sum --check SHA256SUMSbefore extracting.
Source archive SHA-256: bc7c2ffd8253ed93159deaccdfe8b435a01efec15d957e50e15629336318c9f0.
Validation
- CI on the exact release commit: all 10 jobs passed, including formatting/lint checks and the Linux/macOS/Windows matrix with Rust 1.91.0, stable, and nightly.
- Candidate archive: all 157 tracked files matched the source commit; license and committed lockfile hashes matched. Extracted-source workspace build with
--locked --all-featurespassed on Linux with Rust/Cargo 1.95.0. - Independent consumer: all four Fastrace crates resolved to the release commit from Git; compilation and procedural-macro expansion passed.
- Archive DataKit acceptance: two independent Rust processes exported five spans over OTLP/gRPC (Protobuf) to local DataKit 1.94.2, commit
2ddc51d543, athttp://127.0.0.1:4317. Backend verification confirmed service names, the 128-bit trace ID, exact 64-bit span IDs, parent relationships, client/server kinds, recorded W3Ctraceparent, and final pre-exit delivery after explicit flush. - Candidate trace:
cc2af9a3028f1bb6ab86280d7539792a; activity 2026-10-23T09:26:36.463Z through 2026-10-23T09:26:36.514Z. Successful complete, unsampled backend query window: 2026-10-23T08:26:31.463Z through 2026-10-23T10:27:21.914Z, tracing namespaceT, usingowl.data.check_dqlandowl.data.query. The narrower initial query returned no rows; the wider window returned all five spans with timestamps inside the process activity window. Exporter exit alone was not used as ingestion evidence.
The acceptance guide and executable harness describe reproduction and propagation boundaries.
Public-channel verification
After publication, all three assets were downloaded without authentication and matched the tested files byte for byte. SHA256SUMS passed, the extracted public source rebuilt with committed lockfiles, and its two-process harness passed backend verification. A separate application rebuilt with its own lockfile using the published v0.1.0 Git tag; Cargo metadata confirmed all four Fastrace crates came from d864dcb70a9caeb3a5173667e1e11b7e8b8eb288, with no registry Fastrace duplicate, and its two-process trace also passed backend verification.
All rows below used local DataKit 1.94.2 OTLP/gRPC, Rust/Cargo 1.95.0 on Linux, tracing namespace T, validated DQL through owl.data.check_dql, and successful, complete, unsampled owl.data.query responses. Each check compared exact service, trace, span, parent, kind, and wire-context fields, including the final pre-exit span.
| Source | Trace ID | Process activity (UTC) | Successful backend query window (UTC) | Result |
|---|---|---|---|---|
| Candidate archive | cc2af9a3028f1bb6ab86280d7539792a |
2026-10-23T09:26:36.463Z to 2026-10-23T09:26:36.514Z | 2026-10-23T08:26:31.463Z to 2026-10-23T10:27:21.914Z | 5/5 verified |
| Public source archive | 92e9b8b5ab4a220c5a9d7744be5d1598 |
2026-10-23T09:33:33.505Z to 2026-10-23T09:33:33.569Z | 2026-10-23T03:33:33.505Z to 2026-10-23T09:36:18.731Z | 5/5 verified |
| Published Git tag consumer | b1a27b36084fec2b8c035544a070eccf |
2026-10-23T09:33:13.615Z to 2026-10-23T09:33:13.673Z | 2026-10-23T08:33:13.615Z to 2026-10-23T10:33:13.673Z | 5/5 verified |
Some narrower queries returned no rows while wider absolute windows returned the expected spans with timestamps inside the process activity windows. The cause of that backend query behavior remains undiagnosed; the recorded wider windows provide the acceptance evidence.
Scope, limitations, and rollback
This is a source SDK release with explicit application instrumentation. It publishes no crates.io package or prebuilt agent executable. Registry package and API-documentation metadata remain upstream-owned. Git and registry crate identities must not be mixed. Third-party dependencies are not vendored; the consumer must retain its own lockfile. Checksums and the maintainer-created manifest are not a signature or build attestation.
Ingestion acceptance covers traces through local DataKit OTLP/gRPC on Linux. Metrics, logs, other receiver/protocol combinations, and automatic instrumentation are outside this acceptance. tracestate is explicitly handled at the example HTTP boundary; internal spans do not automatically retain arbitrary tracestate. CI on other operating systems is not equivalent to DataKit ingestion acceptance there.
See upgrade and rollback. This is the first Beacon source release; undo initial adoption by restoring the application's previous dependency files and rebuilding. Published source tags and assets are not replaced; fixes receive a new version. A possible future beacon-rust based on OpenTelemetry Rust remains separate.