Skip to content

Commit dd53b7c

Browse files
Fluzkofmzblrcoh
authored
Sanity test for UI (#167)
* add base structure * add ci cache * refactor pr workflow * add demo trace run * refactor CI * remove hardcoded fallback aws profile * improve parseTrace types * test trace * add a fake profile * typo * remove tricky test * move tests into meaningful function names * remove useless utils * extract EVENT_TYPES from html * extract buildWorkerSpans from html * extract attatchCpuSamples * remove remaining functions from index & new file to trace_analysis * revert gitignore * add test for trace analysis and CI * ignore 255 for targetWorker (unknown) * add .gz.bin fallback * fix: writer_encoder bench failing to write file (#168) * fix writer_encoder * formater * breaking: Cleanup public interfaces (#129) * Cleanup public interface - Add `analysis` feature gate for trace analysis code - Create `analysis_unstable` module with re-exports - Make internal modules pub(crate): telemetry submodules, traced, background_task/connection, background_task/instance_metadata - Flatten public re-exports in telemetry/mod.rs - Update TraceReader: replace iterator API with all_events/runtime_events fields - Clean up CircuitBreaker: remove public helpers, add PartialEq/Eq - Feature-gate decode_ref and decode helpers behind analysis|test - Clean up dial9-trace-format visibility: codec internals pub(crate), leb128 pub(crate), add module/struct docs - Update dial9-trace-format tests to use Encoder API instead of raw codec - Make USER_ADDR_LIMIT pub(crate) in perf-self-profile - Update all examples, tests, and benches to use new import paths * fix: use text block for InstanceIdentity doctest (module is pub(crate)) * fix: add unit test for InstanceIdentity::new to replace doctest * fix: make InstanceIdentity pub(crate), remove unused new() * Merge main into pr/public-interfaces Resolve conflicts in 5 files: - README.md: combine --features analysis flag with .bin.gz paths - traced.rs: use sealed path (trace.0.bin) with new TraceReader API - echo_server.rs: use sealed path with new TraceReader API - end_to_end.rs: use sealed path with new TraceReader API - js_parser.rs: use sealed path with new TraceReader API * fix: post-merge cleanup - Replace private `codec::encode_header` with `Encoder::new().finish()` in threadlocal_encode bench - Add `#[allow(private_bounds)]` to S3Config (InstanceIdentity is pub(crate) but builder setter must remain accessible for tests) - cargo fmt: fix import ordering in 4 files * fix: make InstanceIdentity pub again The type is used in S3Config's public builder, so it needs to be pub. Removes the #[allow(private_bounds)] workaround. * Merge origin/main into pr/public-interfaces * fix: gate TelemetryEventRef and StringPool import behind analysis|test CI runs clippy without --all-features, so these are dead code when the analysis feature is disabled. * fix: gate TelemetryEvent import behind analysis|test * PR feedback * Fix doc tests: update cpu_profile import path in README, fix analysis_unstable example * pr comments --------- Co-authored-by: fmzbl <facu@fmzbl.com> Co-authored-by: Russell Cohen <rcoh@amazon.com>
1 parent 54c5674 commit dd53b7c

8 files changed

Lines changed: 1885 additions & 695 deletions

File tree

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Trace Integrity & Analysis
2+
on:
3+
pull_request:
4+
5+
permissions:
6+
contents: read
7+
8+
jobs:
9+
trace-integrity-and-analysis:
10+
name: Trace Integrity & Analysis
11+
runs-on: ubuntu-latest
12+
services:
13+
dynamodb-local:
14+
image: amazon/dynamodb-local
15+
ports:
16+
- 8000:8000
17+
steps:
18+
- uses: actions/checkout@v4
19+
- uses: dtolnay/rust-toolchain@stable
20+
- uses: Swatinem/rust-cache@v2
21+
- uses: actions/setup-node@v4
22+
with:
23+
node-version: 24
24+
- name: E2E trace tests
25+
run: scripts/e2e-trace-tests.sh

dial9-tokio-telemetry/trace_viewer/index.html

Lines changed: 24 additions & 381 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)