Repository navigation
Releases: 0then0/overflowlens
Release list
OverflowLens v0.2.1
OverflowLens v0.2.1
A visual refresh and new validation evidence. The analysis core, input contract, mathematics and report schemas are unchanged; reports now record application version 0.2.1.
Changes
- Redesign the interface as a dark developer console with hairline borders, graphite surfaces and one green action. The application follows the system light or dark setting. Fonts are Red Hat when installed, otherwise Inter or system fonts; nothing is loaded remotely.
- Refresh the project icon and the README screenshots.
- Add a Docker-based lab that sends the SDK workload through a digest-pinned OpenTelemetry Collector (contrib 0.163.2) and checks the OTLP output and Prometheus exposition. A pipeline with no processor preserved counts, overflow points and timestamps. A negative control that drops overflow points downstream produced a valid file with exact-looking bounds that do not apply to the original workload; OverflowLens cannot detect that loss.
- Document how to obtain usable data through the validated pipeline and what that does not guarantee.
Download and run
Download overflowlens-0.2.1.zip from GitHub Releases, extract it, and change into overflowlens-0.2.1. Start a local HTTP server:
python3 -m http.server 8080 --bind 127.0.0.1Open http://127.0.0.1:8080. The application, Worker and assets are in this directory; there is no nested dist/. Node.js, Go and Docker are not needed to use the archive. Use HTTPS for remote hosting; file:// is unsupported. SHA256SUMS.txt contains the archive checksum.
For source setup, see the README.
Scope and compatibility
Supported inputs, provenance assumptions and refusals are as in v0.2.0. The Collector lab covers one Collector version and configuration, the pinned Go SDK and one synchronous integer counter, and was verified under Docker Desktop on macOS. It is not part of the archive or of CI. See Collector validation.
OverflowLens v0.2.0
OverflowLens v0.2.0
Analyze exact error-rate bounds between two cumulative OpenTelemetry request-counter snapshots. Delta interval analysis remains available in the same local browser application.
Changes
- Choose Delta interval or Cumulative window, with separate Before and After imports for cumulative mode.
- Select matching streams and collection boundaries, inspect structural applicability, and confirm provenance before obtaining a verdict.
- Calculate exact per-point increments with BigInt, excluding all baseline observations.
- Refuse changed starts, decreasing individual points, missing counterparts, mismatched definitions, invalid flags and inconsistent collection timestamps.
- Reuse validated increments and totals when only the threshold or provenance confirmation changes.
- Clear confirmation and the previous verdict when files, streams, boundaries, outcome or mode change; ignore replaced imports and stale Worker responses.
- Export cumulative schema v2 with both original-byte SHA-256 hashes, selected identities, exact window, assumptions, applicability checks, per-point before/after counts and increments, exact fractions and endpoint witnesses.
- Preserve delta report schema v1 and field names. Hashes identify original file bytes, including an optional UTF-8 BOM.
- Validate cumulative windows with the official Go SDK v1.47.0 default ManualReader, OTLP HTTP exporter and ProtoJSON serializer.
Download and run
Download overflowlens-0.2.0.zip from GitHub Releases, extract it, and change into overflowlens-0.2.0. Start a local HTTP server:
python3 -m http.server 8080 --bind 127.0.0.1Open http://127.0.0.1:8080. The application, Worker and assets are in this directory; there is no nested dist/. Node.js and Go are not needed to use the archive. Use HTTPS for remote hosting; file:// is unsupported. SHA256SUMS.txt contains the archive checksum.
For source setup, see the README. Source builds write files into dist/; serve that directory when running a source build.
Scope and compatibility
Each selected cumulative stream must have exactly one collection timestamp per file, identical measurement identities on both sides, known unchanged starts for every corresponding series, and nondecreasing counts. Different series may have different starts. New or missing series, unknown starts, resets and multiple collection timestamps in one selected cumulative export are unsupported.
Completeness, synchronous request-count meaning, one boolean outcome per request, continuous source history, stable SDK attribution and unchanged downstream counts/attributes remain user-confirmed assumptions. Hashes do not prove authenticity; exemplars do not recover all overflow outcomes.
The SDK workload starts with baseline total 112, including overflow 5. Its 1,000-request window produces K=901, E=1, O=99, T=1000, bounds 0.1%…10%, containing the independent truth 34/1000. A View preserving only the outcome gives exact rate 3.4%. Real zero-increment collections produce NO_DATA, and exports from a restarted provider are refused for changed starts.
See SDK validation for reproduction and synthetic refusal controls. Validation covers the pinned Go SDK and Chromium; it does not establish universal cross-SDK compatibility or export completeness.
OverflowLens v0.1.0
OverflowLens v0.1.0
The first public release of OverflowLens, a local browser application for exact error-rate bounds after OpenTelemetry SDK cardinality overflow.
Included
- Import OTLP JSON metrics without uploading files to a server.
- Select one Resource/scope/metric stream and one complete collection interval.
- Calculate exact lower and upper error-rate bounds with
BigIntarithmetic. - Compare the bounds with a percentage limit, including equality.
- Export an explanatory JSON report with exact counts, fractions, settings, assumptions and source SHA-256.
- Detect duplicate measurement identities, conflicting definitions, malformed related containers and ambiguous overflow tagging.
- Normalize equivalent base64 attributes and finite quoted double attributes without losing integer precision.
- Reproduce real Go OpenTelemetry SDK v1.47.0 exports and their independently recorded ground truth.
Download and run
Download overflowlens-0.1.0.zip, extract it and change into the overflowlens-0.1.0 directory. Serve it with any static HTTP server, for example:
python3 -m http.server 8080 --bind 127.0.0.1Open http://127.0.0.1:8080. The archive contains the application, Worker, examples, license, third-party notices and launch instructions. Node.js and Go are not required to use the compiled application. Opening index.html through file:// is unsupported.
SHA256SUMS.txt contains the archive checksum. GitHub also provides source archives for the release tag. See the README for development setup.
Scope and limitations
The supported model is a synchronous request counter represented as a monotonic integer delta Sum, with a boolean outcome on every ordinary point and an SDK overflow point containing only otel.metric.overflow=true. Input files are limited to 5 MiB. Completeness, SDK provenance and absence of downstream transformations require user confirmation.
This release analyzes one imported interval. It does not verify a full SLO, recover lost outcomes or support cumulative sums, floating-point counts, histograms or Collector tagging with additional measurement attributes. Experimental SDK validation covers Go v1.47.0; browser acceptance checks cover Chromium.
The release workflow checks formatting, lint, unit/SDK fixture tests and the production build before publishing. The application test suite includes 115 unit/SDK tests and 11 Chromium acceptance tests.