[INFO] fetching crate oximedia-monitor 0.1.3... [INFO] testing oximedia-monitor-0.1.3 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-2 [INFO] extracting crate oximedia-monitor 0.1.3 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate oximedia-monitor 0.1.3 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate oximedia-monitor 0.1.3 [INFO] tweaked toml for crates.io crate oximedia-monitor 0.1.3 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate oximedia-monitor 0.1.3 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate oximedia-monitor 0.1.3 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wrapcenum-derive v0.4.1 [INFO] [stderr] Downloaded fallible-streaming-iterator v0.1.9 [INFO] [stderr] Downloaded assert-json-diff v2.0.2 [INFO] [stderr] Downloaded mockito v1.7.2 [INFO] [stderr] Downloaded nvml-wrapper-sys v0.9.1 [INFO] [stderr] Downloaded hashlink v0.9.1 [INFO] [stderr] Downloaded serde_path_to_error v0.1.20 [INFO] [stderr] Downloaded tokio-tungstenite v0.29.0 [INFO] [stderr] Downloaded axum-macros v0.5.1 [INFO] [stderr] Downloaded email-encoding v0.4.1 [INFO] [stderr] Downloaded tungstenite v0.29.0 [INFO] [stderr] Downloaded rusqlite v0.32.1 [INFO] [stderr] Downloaded nvml-wrapper v0.12.1 [INFO] [stderr] Downloaded quoted_printable v0.5.2 [INFO] [stderr] Downloaded lettre v0.11.21 [INFO] [stderr] Downloaded axum v0.8.9 [INFO] [stderr] Downloaded oximedia-core v0.1.3 [INFO] [stderr] Downloaded libsqlite3-sys v0.30.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 69cbca04c42f30c346787c42d5ae692d906ac0a057f87fc434fc0a6d4e2b42d2 [INFO] running `Command { std: "docker" "start" "-a" "69cbca04c42f30c346787c42d5ae692d906ac0a057f87fc434fc0a6d4e2b42d2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "69cbca04c42f30c346787c42d5ae692d906ac0a057f87fc434fc0a6d4e2b42d2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "69cbca04c42f30c346787c42d5ae692d906ac0a057f87fc434fc0a6d4e2b42d2", kill_on_drop: false }` [INFO] [stdout] 69cbca04c42f30c346787c42d5ae692d906ac0a057f87fc434fc0a6d4e2b42d2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7672e62eedf339d0db108ee4e699e255d0f19b4776d47dbb65074dc62d34927b [INFO] running `Command { std: "docker" "start" "-a" "7672e62eedf339d0db108ee4e699e255d0f19b4776d47dbb65074dc62d34927b", kill_on_drop: false }` [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling icu_locale_core v2.2.0 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling icu_normalizer_data v2.2.0 [INFO] [stderr] Compiling tokio v1.52.0 [INFO] [stderr] Compiling icu_properties_data v2.2.0 [INFO] [stderr] Compiling icu_collections v2.2.0 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling rustls v0.23.38 [INFO] [stderr] Compiling rustls-webpki v0.103.12 [INFO] [stderr] Compiling icu_provider v2.2.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling icu_normalizer v2.2.0 [INFO] [stderr] Compiling icu_properties v2.2.0 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling rand v0.9.4 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling data-encoding v2.10.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling rustls-native-certs v0.8.3 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling tungstenite v0.29.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling iri-string v0.7.12 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling axum-macros v0.5.1 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling fastrand v2.4.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling rayon v1.12.0 [INFO] [stderr] Compiling rustls-platform-verifier v0.6.2 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling tokio-tungstenite v0.29.0 [INFO] [stderr] Compiling flume v0.12.0 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling sysinfo v0.38.4 [INFO] [stderr] Compiling hyper v1.9.0 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-rustls v0.27.9 [INFO] [stderr] Compiling axum v0.8.9 [INFO] [stderr] Compiling reqwest v0.13.2 [INFO] [stderr] Compiling oximedia-monitor v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 37s [INFO] running `Command { std: "docker" "inspect" "7672e62eedf339d0db108ee4e699e255d0f19b4776d47dbb65074dc62d34927b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7672e62eedf339d0db108ee4e699e255d0f19b4776d47dbb65074dc62d34927b", kill_on_drop: false }` [INFO] [stdout] 7672e62eedf339d0db108ee4e699e255d0f19b4776d47dbb65074dc62d34927b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b9b720e858214a725d55ae3ee401ecced570973a62d1ef6b50fb13ac2426401c [INFO] running `Command { std: "docker" "start" "-a" "b9b720e858214a725d55ae3ee401ecced570973a62d1ef6b50fb13ac2426401c", kill_on_drop: false }` [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling colored v3.1.1 [INFO] [stderr] Compiling similar v2.7.0 [INFO] [stderr] Compiling hyper-rustls v0.27.9 [INFO] [stderr] Compiling axum v0.8.9 [INFO] [stderr] Compiling mockito v1.7.2 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling reqwest v0.13.2 [INFO] [stderr] Compiling oximedia-monitor v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 49.69s [INFO] running `Command { std: "docker" "inspect" "b9b720e858214a725d55ae3ee401ecced570973a62d1ef6b50fb13ac2426401c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b9b720e858214a725d55ae3ee401ecced570973a62d1ef6b50fb13ac2426401c", kill_on_drop: false }` [INFO] [stdout] b9b720e858214a725d55ae3ee401ecced570973a62d1ef6b50fb13ac2426401c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 8052fbd680a70b4f7a60723989e711e568f72d077fef7901d61574497afbf9e8 [INFO] running `Command { std: "docker" "start" "-a" "8052fbd680a70b4f7a60723989e711e568f72d077fef7901d61574497afbf9e8", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.31s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oximedia_monitor-d15b95fecdfe2e71) [INFO] [stdout] [INFO] [stdout] running 990 tests [INFO] [stdout] test alert::channels::file::tests::test_format_line_no_threshold ... ok [INFO] [stdout] test alert::conditions::tests::test_threshold_condition ... ok [INFO] [stdout] test alert::history::tests::test_alert_history ... ok [INFO] [stdout] test alert::channels::file::tests::test_format_line_basic ... ok [INFO] [stdout] test alert::rules::tests::test_alert_rule ... ok [INFO] [stdout] test alert::manager::tests::test_alert_manager ... ok [INFO] [stdout] test alert::rules::tests::test_rule_builder ... ok [INFO] [stdout] test alert::severity::tests::test_severity_ordering ... ok [INFO] [stdout] test alert::tests::test_alert_creation ... ok [INFO] [stdout] test alert_correlation::tests::test_active_groups_returns_all ... ok [INFO] [stdout] test alert::severity::tests::test_severity_display ... ok [INFO] [stdout] test alert::severity::tests::test_severity_is_urgent ... ok [INFO] [stdout] test alert_correlation::tests::test_correlated_alert_joins_existing_group ... ok [INFO] [stdout] test alert_correlation::tests::test_alerts_outside_window_create_new_group ... ok [INFO] [stdout] test alert_correlation::tests::test_flush_expired_removes_old_groups ... ok [INFO] [stdout] test alert_correlation::tests::test_group_count ... ok [INFO] [stdout] test alert_correlation::tests::test_max_group_size_enforced ... ok [INFO] [stdout] test alert_correlation::tests::test_new_group_created_for_first_alert ... ok [INFO] [stdout] test alert_correlation::tests::test_tag_based_grouping_preference ... ok [INFO] [stdout] test alert_rule::tests::condition_above_fires_when_exceeded ... ok [INFO] [stdout] test alert::severity::tests::test_severity_priority ... ok [INFO] [stdout] test alert_rule::tests::condition_below_fires_when_under ... ok [INFO] [stdout] test alert_rule::tests::condition_description_above ... ok [INFO] [stdout] test alert_correlation::tests::test_duplicate_alert_returns_none ... ok [INFO] [stdout] test alert_rule::tests::condition_inside_range_fires_inside ... ok [INFO] [stdout] test alert_rule::tests::condition_outside_range_fires_outside ... ok [INFO] [stdout] test alert_rule::tests::rule_only_matches_its_metric_via_ruleset ... ok [INFO] [stdout] test alert_rule::tests::rule_re_enabled_matches_again ... ok [INFO] [stdout] test alert_rule::tests::rule_disabled_never_matches ... ok [INFO] [stdout] test alert_rule::tests::rule_matches_when_condition_met ... ok [INFO] [stdout] test alert_rule::tests::ruleset_active_alerts_returns_names ... ok [INFO] [stdout] test alert::channels::file::tests::test_send_appends ... ok [INFO] [stdout] test alert_rule::tests::ruleset_evaluate_all_returns_fired_records ... ok [INFO] [stdout] test alert_rule::tests::ruleset_rule_count_and_enabled_count ... ok [INFO] [stdout] test alert::channels::file::tests::test_send_writes_to_file ... ok [INFO] [stdout] test alert_rule::tests::ruleset_get_mut_modifies_rule ... ok [INFO] [stdout] test alert_rules::tests::test_absence_does_not_fire_when_recent_snapshot_exists ... ok [INFO] [stdout] test alert_rule::tests::ruleset_multiple_rules_same_metric ... ok [INFO] [stdout] test alert_rules::tests::test_clear_alert_removes_from_active ... ok [INFO] [stdout] test alert_rules::tests::test_active_alerts_returns_fired ... ok [INFO] [stdout] test alert_rules::tests::test_compare_op_eq_ne ... ok [INFO] [stdout] test alert_rules::tests::test_compare_op_lte ... ok [INFO] [stdout] test alert_rules::tests::test_compare_op_gt ... ok [INFO] [stdout] test alert_rules::tests::test_absence_fires_when_no_recent_snapshot ... ok [INFO] [stdout] test alert_rules::tests::test_composite_and_does_not_fire_when_one_false ... ok [INFO] [stdout] test alert_rules::tests::test_cooldown_suppresses_repeat_alert ... ok [INFO] [stdout] test alert_rules::tests::test_composite_and_fires_when_both_true ... ok [INFO] [stdout] test alert_rules::tests::test_high_cpu_factory ... ok [INFO] [stdout] test alert_rules::tests::test_message_template_value_substitution ... ok [INFO] [stdout] test alert_rules::tests::test_composite_or_fires_when_one_true ... ok [INFO] [stdout] test alert_rules::tests::test_disk_full_factory ... ok [INFO] [stdout] test alert_rules::tests::test_rate_of_change_does_not_fire_below_threshold ... ok [INFO] [stdout] test alert_rules::tests::test_queue_depth_factory ... ok [INFO] [stdout] test alert_rules::tests::test_high_memory_factory ... ok [INFO] [stdout] test alert_rules::tests::test_threshold_does_not_fire_below ... ok [INFO] [stdout] test alert_rules::tests::test_transcode_failure_rate_factory ... ok [INFO] [stdout] test alert_rules::tests::test_rate_of_change_fires ... ok [INFO] [stdout] test alert_rules::tests::test_threshold_fires_when_exceeded ... ok [INFO] [stdout] test alert_rules::tests::test_remove_rule ... ok [INFO] [stdout] test alert_rules::tests::test_zero_cooldown_fires_repeatedly ... ok [INFO] [stdout] test alerting_pipeline::tests::test_comparator_eq ... ok [INFO] [stdout] test alerting_pipeline::tests::test_comparator_gt ... ok [INFO] [stdout] test alerting_pipeline::tests::test_comparator_gte ... ok [INFO] [stdout] test alerting_pipeline::tests::test_comparator_lt ... ok [INFO] [stdout] test alerting_pipeline::tests::test_comparator_lte ... ok [INFO] [stdout] test alerting_pipeline::tests::test_comparator_ne ... ok [INFO] [stdout] test alerting_pipeline::tests::test_dedup_filter_allows_first_alert ... ok [INFO] [stdout] test alerting_pipeline::tests::test_dedup_filter_allows_after_cooldown ... ok [INFO] [stdout] test alerting_pipeline::tests::test_dedup_filter_cleanup ... ok [INFO] [stdout] test alerting_pipeline::tests::test_dedup_filter_batch_with_duplicates ... ok [INFO] [stdout] test alerting_pipeline::tests::test_dedup_filter_allows_different_keys ... ok [INFO] [stdout] test alerting_pipeline::tests::test_dedup_filter_allows_same_rule_different_metric ... ok [INFO] [stdout] test alerting_pipeline::tests::test_dedup_filter_suppressed_for_key ... ok [INFO] [stdout] test alerting_pipeline::tests::test_escalation_acknowledged ... ok [INFO] [stdout] test alerting_pipeline::tests::test_dedup_filter_tracked_keys ... ok [INFO] [stdout] test alerting_pipeline::tests::test_dedup_filter_suppresses_duplicate_within_cooldown ... ok [INFO] [stdout] test alerting_pipeline::tests::test_dedup_filter_clear ... ok [INFO] [stdout] test alerting_pipeline::tests::test_escalation_no_tier_before_time ... ok [INFO] [stdout] test alerting_pipeline::tests::test_pipeline_basic_fire ... ok [INFO] [stdout] test alerting_pipeline::tests::test_pipeline_consecutive_required ... ok [INFO] [stdout] test alerting_pipeline::tests::test_mute_window_active ... ok [INFO] [stdout] test alerting_pipeline::tests::test_mute_window_inactive_after_expiry ... ok [INFO] [stdout] test alert_rule::tests::condition_always_fires ... ok [INFO] [stdout] test alert::tests::test_alert_state_transitions ... ok [INFO] [stdout] test alerting_pipeline::tests::test_pipeline_consecutive_reset_on_normal ... ok [INFO] [stdout] test alerting_pipeline::tests::test_pipeline_no_fire_below_threshold ... ok [INFO] [stdout] test alerting_pipeline::tests::test_pipeline_silence_prevents_repeat ... ok [INFO] [stdout] test alerting_pipeline::tests::test_pipeline_rule_count ... ok [INFO] [stdout] test anomaly::tests::test_anomaly_type_equality ... ok [INFO] [stdout] test anomaly::tests::test_anomaly_with_duration ... ok [INFO] [stdout] test alerting_pipeline::tests::test_priority_ordering ... ok [INFO] [stdout] test alerting_pipeline::tests::test_pipeline_wrong_metric_ignored ... ok [INFO] [stdout] test alerting_pipeline::tests::test_pipeline_with_dedup_integration ... ok [INFO] [stdout] test anomaly::tests::test_check_audio_empty ... ok [INFO] [stdout] test anomaly::tests::test_anomaly_severity_clamped ... ok [INFO] [stdout] test anomaly::tests::test_anomaly_no_duration_by_default ... ok [INFO] [stdout] test anomaly::tests::test_anomaly_severity_negative_clamped ... ok [INFO] [stdout] test anomaly::tests::test_check_bitrate_empty_history ... ok [INFO] [stdout] test anomaly::tests::test_check_bitrate_no_anomaly ... ok [INFO] [stdout] test anomaly::tests::test_check_video_freeze_detected ... ok [INFO] [stdout] test anomaly::tests::test_check_video_freeze_no_freeze ... ok [INFO] [stdout] test anomaly::tests::test_check_bitrate_spike_detected ... ok [INFO] [stdout] test anomaly::tests::test_check_video_freeze_too_short ... ok [INFO] [stdout] test anomaly::tests::test_check_bitrate_dropout_detected ... ok [INFO] [stdout] test anomaly::tests::test_sync_drift_detected ... ok [INFO] [stdout] test anomaly::tests::test_sync_drift_within_threshold ... ok [INFO] [stdout] test capacity_planner::tests::test_clear ... ok [INFO] [stdout] test capacity_planner::tests::test_forecast_projects_correctly ... ok [INFO] [stdout] test capacity_planner::tests::test_forecast_time_to_saturation ... ok [INFO] [stdout] test capacity_planner::tests::test_current_utilisation ... ok [INFO] [stdout] test capacity_planner::tests::test_linear_fit_insufficient_data ... ok [INFO] [stdout] test capacity_planner::tests::test_linear_fit_slope_positive ... ok [INFO] [stdout] test anomaly::tests::test_check_audio_loudness_drop ... ok [INFO] [stdout] test anomaly::tests::test_check_audio_no_clipping_below_threshold ... ok [INFO] [stdout] test anomaly::tests::test_check_audio_clipping_detected ... ok [INFO] [stdout] test capacity_planner::tests::test_planner_observe_and_count ... ok [INFO] [stdout] test capacity_planner::tests::test_planner_ring_eviction ... ok [INFO] [stdout] test capacity_planner::tests::test_status_saturated ... ok [INFO] [stdout] test capacity_planner::tests::test_status_warning ... ok [INFO] [stdout] test capacity_planner::tests::test_status_healthy ... ok [INFO] [stdout] test capacity_planner::tests::test_moving_average ... ok [INFO] [stdout] test capacity_planner::tests::test_moving_average_window_larger_than_data ... ok [INFO] [stdout] test capacity_planner::tests::test_resource_kind_label ... ok [INFO] [stdout] test cardinality_limiter::tests::test_config_default ... ok [INFO] [stdout] test cardinality_limiter::tests::test_all_stats ... ok [INFO] [stdout] test cardinality_limiter::tests::test_config_builder ... ok [INFO] [stdout] test cardinality_limiter::tests::test_clear ... ok [INFO] [stdout] test cardinality_limiter::tests::test_config_min_limit ... ok [INFO] [stdout] test cardinality_limiter::tests::test_label_key_empty ... ok [INFO] [stdout] test cardinality_limiter::tests::test_high_cardinality_evict ... ok [INFO] [stdout] test cardinality_limiter::tests::test_is_at_limit ... ok [INFO] [stdout] test cardinality_limiter::tests::test_high_cardinality_drop ... ok [INFO] [stdout] test cardinality_limiter::tests::test_label_key_from_pairs_sorts ... ok [INFO] [stdout] test cardinality_limiter::tests::test_label_key_overflow_sentinel ... ok [INFO] [stdout] test cardinality_limiter::tests::test_label_key_raw ... ok [INFO] [stdout] test cardinality_limiter::tests::test_limiter_admit_under_limit ... ok [INFO] [stdout] test cardinality_limiter::tests::test_limiter_already_known ... ok [INFO] [stdout] test cardinality_limiter::tests::test_limiter_drop_at_limit ... ok [INFO] [stdout] test cardinality_limiter::tests::test_limiter_drop_counts ... ok [INFO] [stdout] test cardinality_limiter::tests::test_limiter_evict_counts ... ok [INFO] [stdout] test cardinality_limiter::tests::test_limiter_evict_lru ... ok [INFO] [stdout] test cardinality_limiter::tests::test_limiter_evict_lru_respects_touch_order ... ok [INFO] [stdout] test cardinality_limiter::tests::test_limiter_merge_multiple ... ok [INFO] [stdout] test cardinality_limiter::tests::test_mark_reported ... ok [INFO] [stdout] test cardinality_limiter::tests::test_metric_count ... ok [INFO] [stdout] test cardinality_limiter::tests::test_per_metric_limit_override ... ok [INFO] [stdout] test cardinality_limiter::tests::test_remove_metric ... ok [INFO] [stdout] test cardinality_limiter::tests::test_should_report ... ok [INFO] [stdout] test cardinality_limiter::tests::test_stats_none_for_unknown ... ok [INFO] [stdout] test config::tests::test_alert_config_validation_slack ... ok [INFO] [stdout] test config::tests::test_api_bind_addr ... ok [INFO] [stdout] test config::tests::test_config_validation ... ok [INFO] [stdout] test config::tests::test_default_config ... ok [INFO] [stdout] test config::tests::test_health_config_validation ... ok [INFO] [stdout] test config::tests::test_invalid_collection_interval ... ok [INFO] [stdout] test config::tests::test_invalid_cpu_overhead ... ok [INFO] [stdout] test config::tests::test_retention_validation ... ok [INFO] [stdout] test config::tests::test_serde_config ... ok [INFO] [stdout] test config::tests::test_storage_validation ... ok [INFO] [stdout] test correlation::tests::test_causal_hint_compute ... ok [INFO] [stdout] test correlation::tests::test_causal_strength_from_r ... ok [INFO] [stdout] test correlation::tests::test_causal_strength_ordering ... ok [INFO] [stdout] test correlation::tests::test_correlate_anomalies_empty ... ok [INFO] [stdout] test correlation::tests::test_correlate_anomalies_grouping ... ok [INFO] [stdout] test correlation::tests::test_correlation_matrix_self_correlation ... ok [INFO] [stdout] test correlation::tests::test_correlation_matrix_strong_pairs ... ok [INFO] [stdout] test correlation::tests::test_correlation_matrix_unknown_metric ... ok [INFO] [stdout] test correlation::tests::test_cross_correlate_known_lag ... ok [INFO] [stdout] test correlation::tests::test_cross_correlate_lag_zero ... ok [INFO] [stdout] test correlation::tests::test_pearson_empty ... ok [INFO] [stdout] test correlation::tests::test_pearson_mismatched_lengths ... ok [INFO] [stdout] test correlation::tests::test_pearson_perfect_negative ... ok [INFO] [stdout] test correlation::tests::test_pearson_perfect_positive ... ok [INFO] [stdout] test correlation::tests::test_pearson_zero_variance ... ok [INFO] [stdout] test counter_metrics::tests::test_counter_clone_handle_shared ... ok [INFO] [stdout] test counter_metrics::tests::test_counter_increment ... ok [INFO] [stdout] test counter_metrics::tests::test_counter_increment_by ... ok [INFO] [stdout] test counter_metrics::tests::test_counter_set_increment_by ... ok [INFO] [stdout] test capacity_planner::tests::test_planner_config_defaults ... ok [INFO] [stdout] test cardinality_limiter::tests::test_limiter_merge_creates_overflow_bucket ... ok [INFO] [stdout] test counter_metrics::tests::test_counter_set_new_empty ... ok [INFO] [stdout] test cardinality_limiter::tests::test_admit_pairs ... ok [INFO] [stdout] test cardinality_limiter::tests::test_admit_pairs_canonical ... ok [INFO] [stdout] test counter_metrics::tests::test_counter_set_total ... ok [INFO] [stdout] test counter_metrics::tests::test_counter_set_increment_creates_counter ... ok [INFO] [stdout] test counter_metrics::tests::test_counter_set_names ... ok [INFO] [stdout] test counter_metrics::tests::test_counter_set_value_missing ... ok [INFO] [stdout] test counter_metrics::tests::test_counter_type_label ... ok [INFO] [stdout] test counter_metrics::tests::test_counter_starts_at_zero ... ok [INFO] [stdout] test dashboard::tests::test_current_snapshot_default_when_empty ... ok [INFO] [stdout] test counter_metrics::tests::test_counter_set_register ... ok [INFO] [stdout] test dashboard::tests::test_time_series_unknown_metric ... ok [INFO] [stdout] test dashboard::tests::test_time_series_resolution_downsampling ... ok [INFO] [stdout] test dashboard::tests::test_ring_buffer_eviction ... ok [INFO] [stdout] test dashboard::tests::test_time_series_cpu ... ok [INFO] [stdout] test dashboard::tests::test_top_errors_limit ... ok [INFO] [stdout] test dashboard::tests::test_error_ring_buffer_eviction ... ok [INFO] [stdout] test dashboard::tests::test_top_errors ... ok [INFO] [stdout] test dashboard::tests::test_top_errors_empty ... ok [INFO] [stdout] test dashboard::tests::test_push_and_current_snapshot ... ok [INFO] [stdout] test counter_metrics::tests::test_counter_type_accessor ... ok [INFO] [stdout] test dashboard_metric::tests::test_badge_healthy_not_critical ... ok [INFO] [stdout] test dashboard_metric::tests::test_badge_unhealthy_is_critical ... ok [INFO] [stdout] test dashboard_metric::tests::test_gauge_critical_at_threshold ... ok [INFO] [stdout] test dashboard_metric::tests::test_gauge_no_threshold_not_critical ... ok [INFO] [stdout] test dashboard_metric::tests::test_gauge_not_critical_below_threshold ... ok [INFO] [stdout] test dashboard_metric::tests::test_panel_critical_count ... ok [INFO] [stdout] test dashboard_metric::tests::test_counter_not_critical ... ok [INFO] [stdout] test dashboard_metric::tests::test_dashboard_metric_is_critical_delegates ... ok [INFO] [stdout] test dashboard_metric::tests::test_panel_remove_nonexistent ... ok [INFO] [stdout] test dashboard_metric::tests::test_gauge_label ... ok [INFO] [stdout] test dashboard_metric::tests::test_panel_add_widget_ordering ... ok [INFO] [stdout] test dashboard_metric::tests::test_panel_find ... ok [INFO] [stdout] test dashboard_metric::tests::test_panel_len_and_is_empty ... ok [INFO] [stdout] test dashboard_metric::tests::test_sparkline_not_critical ... ok [INFO] [stdout] test dashboard_template::tests::test_builtin_host_resources_variable_names ... ok [INFO] [stdout] test dashboard_template::tests::test_registry_len_and_is_empty ... ok [INFO] [stdout] test dashboard_template::tests::test_builtin_encoding_pipeline_render ... ok [INFO] [stdout] test dashboard_template::tests::test_builtin_host_resources_render ... ok [INFO] [stdout] test dashboard_template::tests::test_builtin_slo_compliance_render ... ok [INFO] [stdout] test dashboard_template::tests::test_is_static_false_with_vars ... ok [INFO] [stdout] test dashboard_template::tests::test_registry_names ... ok [INFO] [stdout] test dashboard_metric::tests::test_panel_remove_widget ... ok [INFO] [stdout] test dashboard_metric::tests::test_progress_bar_at_100_is_critical ... ok [INFO] [stdout] test dashboard_template::tests::test_registry_register_and_get ... ok [INFO] [stdout] test dashboard_template::tests::test_registry_render_not_found_error ... ok [INFO] [stdout] test dashboard_template::tests::test_registry_remove ... ok [INFO] [stdout] test dashboard_template::tests::test_render_complex_prometheus_query ... ok [INFO] [stdout] test dashboard_template::tests::test_registry_render ... ok [INFO] [stdout] test dashboard_template::tests::test_render_missing_var_empty_policy ... ok [INFO] [stdout] test dashboard_template::tests::test_render_missing_var_error_policy ... ok [INFO] [stdout] test dashboard_template::tests::test_render_repeated_variable ... ok [INFO] [stdout] test dashboard_template::tests::test_render_missing_var_preserve_policy ... ok [INFO] [stdout] test dashboard_template::tests::test_render_no_placeholders ... ok [INFO] [stdout] test dashboard_template::tests::test_validate_all_present ... ok [INFO] [stdout] test dashboard_template::tests::test_variable_names_empty_for_static ... ok [INFO] [stdout] test dashboard_template::tests::test_validate_missing_reported ... ok [INFO] [stdout] test dashboard_template::tests::test_variable_names_extraction ... ok [INFO] [stdout] test dashboard_template::tests::test_render_simple_substitution ... ok [INFO] [stdout] test dashboard_template::tests::test_variables_len ... ok [INFO] [stdout] test dashboard_template::tests::test_render_whitespace_in_placeholder ... ok [INFO] [stdout] test dashboard_template::tests::test_variables_from_hashmap ... ok [INFO] [stdout] test dashboard_template::tests::test_variables_get_missing ... ok [INFO] [stdout] test dashboard_template::tests::test_variables_is_empty ... ok [INFO] [stdout] test dashboard_template::tests::test_variables_merge ... ok [INFO] [stdout] test dashboard_template::tests::test_variables_set_get ... ok [INFO] [stdout] test dashboard_template::tests::test_variables_remove ... ok [INFO] [stdout] test dashboard_widget::tests::test_dashboard_push_data ... ok [INFO] [stdout] test dashboard_widget::tests::test_dashboard_add_remove_widget ... ok [INFO] [stdout] test dashboard_widget::tests::test_dashboard_has_critical ... ok [INFO] [stdout] test dashboard_widget::tests::test_data_point_with_label ... ok [INFO] [stdout] test dashboard_widget::tests::test_grid_position_overlap ... ok [INFO] [stdout] test dashboard_widget::tests::test_thresholds_critical ... ok [INFO] [stdout] test dashboard_widget::tests::test_grid_position_no_overlap_adjacent ... ok [INFO] [stdout] test dashboard_widget::tests::test_grid_position_cell_count ... ok [INFO] [stdout] test dashboard_widget::tests::test_thresholds_warning ... ok [INFO] [stdout] test dashboard_widget::tests::test_widget_state_clear ... ok [INFO] [stdout] test dashboard_widget::tests::test_widget_state_mean ... ok [INFO] [stdout] test dashboard_widget::tests::test_thresholds_normal ... ok [INFO] [stdout] test dashboard_widget::tests::test_widget_config_refresh_interval ... ok [INFO] [stdout] test dashboard_widget::tests::test_widget_state_min_max ... ok [INFO] [stdout] test dashboard_widget::tests::test_widget_id_display ... ok [INFO] [stdout] test delivery_retrier::tests::test_backoff_increases_exponentially ... ok [INFO] [stdout] test delivery_retrier::tests::test_backoff_with_jitter_varies ... ok [INFO] [stdout] test delivery_retrier::tests::test_cancel ... ok [INFO] [stdout] test delivery_retrier::tests::test_channel_labels ... ok [INFO] [stdout] test delivery_retrier::tests::test_clear ... ok [INFO] [stdout] test delivery_retrier::tests::test_config_default ... ok [INFO] [stdout] test delivery_retrier::tests::test_config_builders ... ok [INFO] [stdout] test dashboard_widget::tests::test_widget_state_push_and_trim ... ok [INFO] [stdout] test delivery_retrier::tests::test_config_min_multiplier ... ok [INFO] [stdout] test delivery_retrier::tests::test_entry_is_exhausted ... ok [INFO] [stdout] test delivery_retrier::tests::test_backoff_capped_at_max ... ok [INFO] [stdout] test delivery_retrier::tests::test_config_clamp_jitter ... ok [INFO] [stdout] test delivery_retrier::tests::test_enqueue ... ok [INFO] [stdout] test delivery_retrier::tests::test_entry_is_ready_past ... ok [INFO] [stdout] test delivery_retrier::tests::test_entry_is_ready_future ... ok [INFO] [stdout] test delivery_retrier::tests::test_full_retry_lifecycle ... ok [INFO] [stdout] test delivery_retrier::tests::test_next_retry_time_empty ... ok [INFO] [stdout] test dashboard_template::tests::test_render_multiple_variables ... ok [INFO] [stdout] test delivery_retrier::tests::test_poll_ready_returns_entries_past_deadline ... ok [INFO] [stdout] test delivery_retrier::tests::test_poll_ready_skips_future_entries ... ok [INFO] [stdout] test delivery_retrier::tests::test_queue_overflow_drops_oldest ... ok [INFO] [stdout] test delivery_retrier::tests::test_report_failure_exhausted ... ok [INFO] [stdout] test delivery_retrier::tests::test_retry_then_success ... ok [INFO] [stdout] test error::tests::test_error_conversion ... ok [INFO] [stdout] test error::tests::test_error_display ... ok [INFO] [stdout] test delivery_retrier::tests::test_next_retry_time_populated ... ok [INFO] [stdout] test error::tests::test_error_from_string ... ok [INFO] [stdout] test delivery_retrier::tests::test_retrier_new ... ok [INFO] [stdout] test error::tests::test_result_type ... ok [INFO] [stdout] test event_bus::tests::test_bus_critical_events ... ok [INFO] [stdout] test delivery_retrier::tests::test_report_failure_requeues ... ok [INFO] [stdout] test delivery_retrier::tests::test_report_success ... ok [INFO] [stdout] test event_bus::tests::test_bus_query_with_filter ... ok [INFO] [stdout] test event_bus::tests::test_category_alert_is_critical ... ok [INFO] [stdout] test event_bus::tests::test_category_job_not_critical ... ok [INFO] [stdout] test event_bus::tests::test_category_heartbeat_not_critical ... ok [INFO] [stdout] test event_bus::tests::test_category_system_not_critical ... ok [INFO] [stdout] test event_bus::tests::test_bus_empty_query_returns_all ... ok [INFO] [stdout] test event_bus::tests::test_category_media_not_critical ... ok [INFO] [stdout] test event_bus::tests::test_bus_max_history_respected ... ok [INFO] [stdout] test event_bus::tests::test_bus_publish_increments_id ... ok [INFO] [stdout] test event_bus::tests::test_category_network_not_critical ... ok [INFO] [stdout] test event_bus::tests::test_event_is_critical_high_severity ... ok [INFO] [stdout] test event_bus::tests::test_event_is_critical_low_severity ... ok [INFO] [stdout] test event_bus::tests::test_event_new_defaults ... ok [INFO] [stdout] test event_bus::tests::test_filter_category_excludes ... ok [INFO] [stdout] test event_bus::tests::test_filter_default_accepts_all ... ok [INFO] [stdout] test event_bus::tests::test_filter_min_severity_excludes ... ok [INFO] [stdout] test health::tests::test_component_health_constructors ... ok [INFO] [stdout] test health::tests::test_health_status_ordering ... ok [INFO] [stdout] test health::tests::test_deregister ... ok [INFO] [stdout] test health::tests::test_health_status_worst ... ok [INFO] [stdout] test health::tests::test_latency_attached ... ok [INFO] [stdout] test health::tests::test_overall_status_empty ... ok [INFO] [stdout] test health::tests::test_overall_status_all_healthy ... ok [INFO] [stdout] test health::tests::test_overall_status_one_unhealthy ... ok [INFO] [stdout] test health::tests::test_register_and_check_all ... ok [INFO] [stdout] test health_check::tests::test_disk_space_checker_runs_without_panic ... ok [INFO] [stdout] test health_check::tests::test_health_status_is_healthy ... ok [INFO] [stdout] test health::tests::test_to_json ... ok [INFO] [stdout] test health_check::tests::test_health_status_labels ... ok [INFO] [stdout] test event_bus::tests::test_filter_source_pattern_excludes ... ok [INFO] [stdout] test health_check::tests::test_queue_depth_degraded ... ok [INFO] [stdout] test health_check::tests::test_memory_checker_runs_without_panic ... ok [INFO] [stdout] test event_bus::tests::test_filter_source_pattern_matches ... ok [INFO] [stdout] test health_check::tests::test_queue_depth_atomic_update_reflected ... ok [INFO] [stdout] test health_check::tests::test_queue_depth_healthy ... ok [INFO] [stdout] test health_check::tests::test_health_status_severity_ordering ... ok [INFO] [stdout] test health_check::tests::test_queue_depth_unhealthy ... ok [INFO] [stdout] test health_check::tests::test_registry_overall_status_empty_is_healthy ... ok [INFO] [stdout] test health_check::tests::test_registry_check_all_returns_one_per_checker ... ok [INFO] [stdout] test health_check::tests::test_registry_overall_status_worst_wins ... ok [INFO] [stdout] test health_check::tests::test_registry_to_json_structure ... ok [INFO] [stdout] test health_check::tests::test_uptime_checker_is_always_healthy ... ok [INFO] [stdout] test in_memory_tests::test_in_memory_alert_rule ... ok [INFO] [stdout] test in_memory_tests::test_in_memory_record_metric ... ok [INFO] [stdout] test incident_tracker::tests::test_incident_assign ... ok [INFO] [stdout] test incident_tracker::tests::test_incident_creation ... ok [INFO] [stdout] test incident_tracker::tests::test_incident_duration ... ok [INFO] [stdout] test in_memory_tests::test_in_memory_monitor_creation ... ok [INFO] [stdout] test health_check::tests::test_uptime_checker_reports_uptime_detail ... ok [INFO] [stdout] test incident_tracker::tests::test_incident_notes ... ok [INFO] [stdout] test incident_tracker::tests::test_incident_transition ... ok [INFO] [stdout] test incident_tracker::tests::test_severity_ordering ... ok [INFO] [stdout] test incident_tracker::tests::test_state_display ... ok [INFO] [stdout] test incident_tracker::tests::test_mean_time_to_resolve ... ok [INFO] [stdout] test incident_tracker::tests::test_incident_tags ... ok [INFO] [stdout] test incident_tracker::tests::test_mean_time_to_resolve_none ... ok [INFO] [stdout] test incident_tracker::tests::test_severity_display ... ok [INFO] [stdout] test incident_tracker::tests::test_tracker_active_incidents ... ok [INFO] [stdout] test incident_tracker::tests::test_tracker_by_state ... ok [INFO] [stdout] test incident_tracker::tests::test_tracker_by_severity ... ok [INFO] [stdout] test incident_tracker::tests::test_purge_before ... ok [INFO] [stdout] test log_aggregator::tests::test_clear ... ok [INFO] [stdout] test log_aggregator::tests::test_entry_with_field ... ok [INFO] [stdout] test log_aggregator::tests::test_filter_by_level_returns_correct_entries ... ok [INFO] [stdout] test log_aggregator::tests::test_ingest_filtered_by_min_level ... ok [INFO] [stdout] test log_aggregator::tests::test_ingest_ring_buffer_eviction ... ok [INFO] [stdout] test incident_tracker::tests::test_tracker_create ... ok [INFO] [stdout] test log_aggregator::tests::test_is_notable ... ok [INFO] [stdout] test log_aggregator::tests::test_log_level_as_str ... ok [INFO] [stdout] test log_aggregator::tests::test_ingest_basic ... ok [INFO] [stdout] test log_aggregator::tests::test_is_warning_or_above ... ok [INFO] [stdout] test log_aggregator::tests::test_filter_by_component ... ok [INFO] [stdout] test log_aggregator::tests::test_log_level_ordering ... ok [INFO] [stdout] test log_aggregator::tests::test_prune_before ... ok [INFO] [stdout] test log_aggregator::tests::test_search_case_insensitive ... ok [INFO] [stdout] test log_aggregator::tests::test_total_received_counter ... ok [INFO] [stdout] test logs::tests::test_clear ... ok [INFO] [stdout] test logs::tests::test_entry_with_fields ... ok [INFO] [stdout] test logs::tests::test_aggregate_by_component ... ok [INFO] [stdout] test logs::tests::test_query_by_level ... ok [INFO] [stdout] test logs::tests::test_aggregate_by_level ... ok [INFO] [stdout] test logs::tests::test_query_message_contains ... ok [INFO] [stdout] test logs::tests::test_log_level_from_str ... ok [INFO] [stdout] test logs::tests::test_query_with_limit ... ok [INFO] [stdout] test logs::tests::test_log_level_ordering ... ok [INFO] [stdout] test logs::tests::test_insert_and_count ... ok [INFO] [stdout] test logs::tests::test_ring_buffer_eviction ... ok [INFO] [stdout] test logs::tests::test_query_by_component ... ok [INFO] [stdout] test metric_aggregation::tests::test_aggregate_at_empty_series ... ok [INFO] [stdout] test metric_aggregation::tests::test_aggregate_at_one_second ... ok [INFO] [stdout] test metric_aggregation::tests::test_aggregate_at_one_minute_spans_multiple_buckets ... ok [INFO] [stdout] test metric_aggregation::tests::test_aggregate_all_returns_all_granularities ... ok [INFO] [stdout] test metric_aggregation::tests::test_aggregate_at_custom_granularity ... ok [INFO] [stdout] test metric_aggregation::tests::test_aggregate_at_ten_seconds ... ok [INFO] [stdout] test metric_aggregation::tests::test_aggregate_basic_stats ... ok [INFO] [stdout] test metric_aggregation::tests::test_aggregate_empty_window_returns_zero ... ok [INFO] [stdout] test metric_aggregation::tests::test_aggregate_rate_per_sec ... ok [INFO] [stdout] test metric_aggregation::tests::test_downsample_reduces_to_target ... ok [INFO] [stdout] test metric_aggregation::tests::test_aggregate_percentiles ... ok [INFO] [stdout] test metric_aggregation::tests::test_downsample_fewer_points_than_target_returns_all ... ok [INFO] [stdout] test metric_aggregation::tests::test_granular_aggregator_granularities ... ok [INFO] [stdout] test metric_aggregation::tests::test_downsample_preserves_first_and_last ... ok [INFO] [stdout] test metric_aggregation::tests::test_ema_converges_toward_new_value ... ok [INFO] [stdout] test metric_aggregation::tests::test_ema_single_point ... ok [INFO] [stdout] test metric_aggregation::tests::test_granular_buckets_sorted_by_time ... ok [INFO] [stdout] test metric_aggregation::tests::test_ema_empty ... ok [INFO] [stdout] test metric_aggregation::tests::test_granularity_custom_min_1 ... ok [INFO] [stdout] test metric_aggregation::tests::test_granular_bucket_stats_correct ... ok [INFO] [stdout] test metric_aggregation::tests::test_granularity_labels ... ok [INFO] [stdout] test metric_aggregation::tests::test_granularity_window_secs ... ok [INFO] [stdout] test metric_aggregation::tests::test_metric_store_aggregate ... ok [INFO] [stdout] test metric_aggregation::tests::test_moving_average_window_1 ... ok [INFO] [stdout] test metric_aggregation::tests::test_moving_average_empty ... ok [INFO] [stdout] test metric_aggregation::tests::test_metric_store_purge_old ... ok [INFO] [stdout] test metric_aggregation::tests::test_push_and_len ... ok [INFO] [stdout] test metric_aggregation::tests::test_moving_average_window_3 ... ok [INFO] [stdout] test metric_aggregation::tests::test_push_evicts_oldest_at_capacity ... ok [INFO] [stdout] test metric_batcher::tests::test_add_below_limit_no_flush ... ok [INFO] [stdout] test metric_batcher::tests::test_add_triggers_size_flush ... ok [INFO] [stdout] test metric_batcher::tests::test_batch_len_and_empty ... ok [INFO] [stdout] test metric_batcher::tests::test_batcher_new ... ok [INFO] [stdout] test metric_batcher::tests::test_clear ... ok [INFO] [stdout] test metric_batcher::tests::test_config_default ... ok [INFO] [stdout] test metric_batcher::tests::test_config_min_batch_size ... ok [INFO] [stdout] test metric_batcher::tests::test_manual_flush ... ok [INFO] [stdout] test metric_batcher::tests::test_manual_flush_empty_noop ... ok [INFO] [stdout] test metric_batcher::tests::test_mixed_metrics_batch ... ok [INFO] [stdout] test metric_batcher::tests::test_multiple_flush_cycles ... ok [INFO] [stdout] test metric_batcher::tests::test_pending_queue_overflow_drops_oldest ... ok [INFO] [stdout] test metric_batcher::tests::test_stats_tracking ... ok [INFO] [stdout] test metric_aggregation::tests::test_metric_store_metric_names ... ok [INFO] [stdout] test metric_batcher::tests::test_config_builders ... ok [INFO] [stdout] test metric_aggregation::tests::test_metric_store_record_and_get ... ok [INFO] [stdout] test metric_downsampler::tests::test_agg_bucket_mean_empty ... ok [INFO] [stdout] test metric_batcher::tests::test_tick_flushes_aged_batch ... ok [INFO] [stdout] test metric_downsampler::tests::test_agg_bucket_merge_bucket ... ok [INFO] [stdout] test metric_batcher::tests::test_drain_pending ... ok [INFO] [stdout] test metric_batcher::tests::test_tick_no_flush_when_empty ... ok [INFO] [stdout] test metric_downsampler::tests::test_agg_bucket_merge_values ... ok [INFO] [stdout] test metric_downsampler::tests::test_apply_retention_removes_old ... ok [INFO] [stdout] test metric_downsampler::tests::test_agg_bucket_single_value ... ok [INFO] [stdout] test metric_downsampler::tests::test_best_tier_for_range ... ok [INFO] [stdout] test metric_downsampler::tests::test_clear ... ok [INFO] [stdout] test metric_downsampler::tests::test_aggregate_statistics_accuracy ... ok [INFO] [stdout] test metric_downsampler::tests::test_align_to_bucket ... ok [INFO] [stdout] test metric_downsampler::tests::test_different_metrics_isolated ... ok [INFO] [stdout] test metric_downsampler::tests::test_max_metrics_limit ... ok [INFO] [stdout] test metric_downsampler::tests::test_downsampler_new ... ok [INFO] [stdout] test metric_downsampler::tests::test_query_empty_metric ... ok [INFO] [stdout] test metric_downsampler::tests::test_query_range_filter ... ok [INFO] [stdout] test metric_downsampler::tests::test_record_at_creates_all_tiers ... ok [INFO] [stdout] test metric_downsampler::tests::test_record_at_same_bucket_merges ... ok [INFO] [stdout] test metric_downsampler::tests::test_retention_removes_empty_metrics ... ok [INFO] [stdout] test metric_downsampler::tests::test_tier_bucket_width ... ok [INFO] [stdout] test metric_downsampler::tests::test_tier_labels ... ok [INFO] [stdout] test metric_export::tests::test_csv_export_data ... ok [INFO] [stdout] test metric_export::tests::test_csv_export_header ... ok [INFO] [stdout] test metric_export::tests::test_format_value_fractional ... ok [INFO] [stdout] test metric_export::tests::test_format_value_integer ... ok [INFO] [stdout] test metric_export::tests::test_json_export ... ok [INFO] [stdout] test metric_export::tests::test_metric_batch_push ... ok [INFO] [stdout] test metric_export::tests::test_metric_sample_builder ... ok [INFO] [stdout] test metric_export::tests::test_metric_summary_empty ... ok [INFO] [stdout] test metric_downsampler::tests::test_five_minute_aggregation ... ok [INFO] [stdout] test metric_export::tests::test_metric_type_display ... ok [INFO] [stdout] test metric_export::tests::test_prometheus_counter_no_timestamp ... ok [INFO] [stdout] test metric_export::tests::test_prometheus_export_contains_help ... ok [INFO] [stdout] test metric_export::tests::test_prometheus_export_labels ... ok [INFO] [stdout] test metric_export::tests::test_sample_with_current_timestamp ... ok [INFO] [stdout] test metric_export::tests::test_statsd_export ... ok [INFO] [stdout] test metric_downsampler::tests::test_metric_names ... ok [INFO] [stdout] test metric_pipeline::tests::test_abs_stage ... ok [INFO] [stdout] test metric_pipeline::tests::test_clamp_stage ... ok [INFO] [stdout] test metric_downsampler::tests::test_minute_aggregation ... ok [INFO] [stdout] test metric_downsampler::tests::test_record_different_seconds ... ok [INFO] [stdout] test metric_pipeline::tests::test_chained_stages ... ok [INFO] [stdout] test metric_export::tests::test_metric_summary_compute ... ok [INFO] [stdout] test metric_pipeline::tests::test_offset_stage ... ok [INFO] [stdout] test metric_pipeline::tests::test_pipeline_metadata ... ok [INFO] [stdout] test metric_pipeline::tests::test_power_stage ... ok [INFO] [stdout] test metric_pipeline::tests::test_pipeline_registry ... ok [INFO] [stdout] test metric_pipeline::tests::test_rate_with_single_point ... ok [INFO] [stdout] test metric_pipeline::tests::test_rate_stage ... ok [INFO] [stdout] test metric_pipeline::tests::test_empty_pipeline ... ok [INFO] [stdout] test metric_pipeline::tests::test_metric_point_creation ... ok [INFO] [stdout] test metric_pipeline::tests::test_scale_stage ... ok [INFO] [stdout] test metric_pipeline::tests::test_threshold_stage ... ok [INFO] [stdout] test metric_pipeline::tests::test_window_aggregate_max ... ok [INFO] [stdout] test metric_pipeline::tests::test_window_aggregate_mean ... ok [INFO] [stdout] test metric_recorder::tests::test_journal_compact_json ... ok [INFO] [stdout] test metric_recorder::tests::test_journal_metric_names ... ok [INFO] [stdout] test metric_recorder::tests::test_journal_time_range_empty ... ok [INFO] [stdout] test metric_recorder::tests::test_journal_time_range ... ok [INFO] [stdout] test metric_recorder::tests::test_journal_entries_for ... ok [INFO] [stdout] test metric_recorder::tests::test_playback_speed_real_time ... ok [INFO] [stdout] test metric_recorder::tests::test_journal_to_json_roundtrip ... ok [INFO] [stdout] test metric_recorder::tests::test_playback_speed_zero_multiplier ... ok [INFO] [stdout] test metric_recorder::tests::test_playback_speed_instant ... ok [INFO] [stdout] test metric_recorder::tests::test_playback_speed_multiplied ... ok [INFO] [stdout] test metric_recorder::tests::test_player_basic_playback ... ok [INFO] [stdout] test metric_recorder::tests::test_player_all_events ... ok [INFO] [stdout] test metric_recorder::tests::test_player_delays_instant ... ok [INFO] [stdout] test metric_recorder::tests::test_player_metadata ... ok [INFO] [stdout] test metric_recorder::tests::test_player_filter ... ok [INFO] [stdout] test metric_recorder::tests::test_player_delays_real_time ... ok [INFO] [stdout] test metric_recorder::tests::test_player_empty_journal ... ok [INFO] [stdout] test metric_recorder::tests::test_player_progress ... ok [INFO] [stdout] test metric_recorder::tests::test_player_reset ... ok [INFO] [stdout] test metric_recorder::tests::test_record_multiple_sessions ... ok [INFO] [stdout] test metric_recorder::tests::test_record_serialize_replay ... ok [INFO] [stdout] test metric_recorder::tests::test_recorder_config_builders ... ok [INFO] [stdout] test metric_recorder::tests::test_recorder_config_default ... ok [INFO] [stdout] test metric_recorder::tests::test_recorder_config_min_entries ... ok [INFO] [stdout] test metric_recorder::tests::test_recorder_double_start_error ... ok [INFO] [stdout] test metric_recorder::tests::test_recorder_labels_not_captured_when_disabled ... ok [INFO] [stdout] test metric_recorder::tests::test_recorder_starts_idle ... ok [INFO] [stdout] test metric_recorder::tests::test_recorder_stop_without_start_error ... ok [INFO] [stdout] test metric_recorder::tests::test_recorder_record_while_idle_noop ... ok [INFO] [stdout] test metric_recorder::tests::test_recorder_start_stop ... ok [INFO] [stdout] test metric_recorder::tests::test_recorder_with_labels ... ok [INFO] [stdout] test metric_store::tests::metric_sample_age_ms_non_negative ... ok [INFO] [stdout] test metric_recorder::tests::test_recorder_max_entries_auto_stop ... ok [INFO] [stdout] test metric_store::tests::metric_type_cpu_unit ... ok [INFO] [stdout] test metric_store::tests::metric_type_disk_io_unit ... ok [INFO] [stdout] test metric_store::tests::metric_sample_not_expired_immediately ... ok [INFO] [stdout] test metric_store::tests::store_clear_removes_all ... ok [INFO] [stdout] test metric_store::tests::store_evicts_oldest_when_at_capacity ... ok [INFO] [stdout] test metric_store::tests::store_history_returns_all_samples ... ok [INFO] [stdout] test metric_store::tests::store_latest_none_for_unrecorded_metric ... ok [INFO] [stdout] test metric_store::tests::store_metric_count_tracks_distinct_types ... ok [INFO] [stdout] test metric_store::tests::store_prune_old_removes_expired ... ok [INFO] [stdout] test metric_store::tests::store_record_and_latest ... ok [INFO] [stdout] test metric_store::tests::store_starts_empty ... ok [INFO] [stdout] test metric_store::tests::store_total_sample_count_across_types ... ok [INFO] [stdout] test metrics::application::tests::test_application_metrics_tracker ... ok [INFO] [stdout] test metrics::application::tests::test_encoding_metrics_drop_rate ... ok [INFO] [stdout] test metrics::application::tests::test_job_metrics_success_rate ... ok [INFO] [stdout] test metrics::application::tests::test_job_tracking ... ok [INFO] [stdout] test metrics::application::tests::test_worker_info_is_stale ... ok [INFO] [stdout] test metrics::application::tests::test_worker_metrics_utilization ... ok [INFO] [stdout] test metric_store::tests::metric_type_custom_unit ... ok [INFO] [stdout] test metric_store::tests::metric_type_encode_fps_unit ... ok [INFO] [stdout] test metrics::application::tests::test_worker_registration ... ok [INFO] [stdout] test metric_store::tests::metric_type_network_unit ... ok [INFO] [stdout] test metric_store::tests::metric_type_memory_unit ... ok [INFO] [stdout] test metrics::collector::tests::test_application_metrics ... ok [INFO] [stdout] test metrics::collector::tests::test_quality_metrics ... ok [INFO] [stdout] test metrics::collector::tests::test_collector_creation ... ok [INFO] [stdout] test metrics::quality::tests::test_bitrate_averaging ... ok [INFO] [stdout] test metrics::quality::tests::test_peak_bitrate_tracking ... ok [INFO] [stdout] test metrics::quality::tests::test_bitrate_metrics_conversions ... ok [INFO] [stdout] test metrics::quality::tests::test_quality_score_acceptance ... ok [INFO] [stdout] test metrics::quality::tests::test_quality_score_none_values ... ok [INFO] [stdout] test metrics::registry::tests::test_get_or_create_counter ... ok [INFO] [stdout] test metrics::registry::tests::test_metrics_by_name ... ok [INFO] [stdout] test metrics::registry::tests::test_registry_counter ... ok [INFO] [stdout] test metrics::registry::tests::test_registry_gauge ... ok [INFO] [stdout] test metrics::collector::tests::test_collect_system_metrics ... ok [INFO] [stdout] test metrics::quality::tests::test_quality_metrics_tracker ... ok [INFO] [stdout] test metrics::system::tests::test_cpu_metrics_max_core_usage ... ok [INFO] [stdout] test metrics::system::tests::test_disk_stats_usage_percent ... ok [INFO] [stdout] test metrics::registry::tests::test_registry_histogram ... ok [INFO] [stdout] test metrics::registry::tests::test_registry_labels ... ok [INFO] [stdout] test metrics::registry::tests::test_snapshot ... ok [INFO] [stdout] test metrics::system::tests::test_memory_metrics_usage_percent ... ok [INFO] [stdout] test metrics::types::tests::test_histogram ... ok [INFO] [stdout] test metrics::types::tests::test_invalid_metric_name ... ok [INFO] [stdout] test metrics::types::tests::test_metric_name ... ok [INFO] [stdout] test metrics::types::tests::test_summary ... ok [INFO] [stdout] test metrics::types::tests::test_summary_max_values ... ok [INFO] [stdout] test notification_channels::tests::test_json_field ... ok [INFO] [stdout] test notification_channels::tests::test_json_object_empty ... ok [INFO] [stdout] test metrics::types::tests::test_metric_builder ... ok [INFO] [stdout] test metrics::types::tests::test_counter ... ok [INFO] [stdout] test notification_channels::tests::test_json_str_escaping ... ok [INFO] [stdout] test metrics::types::tests::test_gauge ... ok [INFO] [stdout] test notification_channels::tests::test_json_object_single_field ... ok [INFO] [stdout] test notification_channels::tests::test_opsgenie_config_custom_endpoint ... ok [INFO] [stdout] test notification_channels::tests::test_opsgenie_priority_mapping ... ok [INFO] [stdout] test notification_channels::tests::test_opsgenie_serialize_contains_message ... ok [INFO] [stdout] test notification_channels::tests::test_opsgenie_serialize_dedup_key_as_alias ... ok [INFO] [stdout] test notification_channels::tests::test_opsgenie_serialize_details_include_source_component ... ok [INFO] [stdout] test notification_channels::tests::test_opsgenie_serialize_label_as_tag ... ok [INFO] [stdout] test notification_channels::tests::test_opsgenie_serialize_priority ... ok [INFO] [stdout] test notification_channels::tests::test_opsgenie_serialize_warning_priority ... ok [INFO] [stdout] test notification_channels::tests::test_opsgenie_serialize_with_default_tags ... ok [INFO] [stdout] test notification_channels::tests::test_opsgenie_serialize_with_responders ... ok [INFO] [stdout] test notification_channels::tests::test_pagerduty_action_str ... ok [INFO] [stdout] test notification_channels::tests::test_pagerduty_config_custom_endpoint ... ok [INFO] [stdout] test notification_channels::tests::test_pagerduty_config_default_endpoint ... ok [INFO] [stdout] test notification_channels::tests::test_pagerduty_critical_alert_roundtrip ... ok [INFO] [stdout] test notification_channels::tests::test_pagerduty_serialize_acknowledge_action ... ok [INFO] [stdout] test notification_channels::tests::test_pagerduty_serialize_dedup_key ... ok [INFO] [stdout] test notification_channels::tests::test_opsgenie_config_default_eu_endpoint ... ok [INFO] [stdout] test notification_channels::tests::test_pagerduty_serialize_labels_in_custom_details ... ok [INFO] [stdout] test notification_channels::tests::test_opsgenie_critical_alert_roundtrip ... ok [INFO] [stdout] test notification_channels::tests::test_pagerduty_serialize_resolve_action ... ok [INFO] [stdout] test notification_channels::tests::test_pagerduty_serialize_severity_in_payload ... ok [INFO] [stdout] test notification_channels::tests::test_pagerduty_serialize_source_and_component ... ok [INFO] [stdout] test notification_channels::tests::test_pagerduty_serialize_trigger_contains_routing_key ... ok [INFO] [stdout] test notification_channels::tests::test_pagerduty_severity_mapping ... ok [INFO] [stdout] test notification_channels::tests::test_payload_builder ... ok [INFO] [stdout] test opsgenie::tests::test_alert_builder_all_fields ... ok [INFO] [stdout] test opsgenie::tests::test_alert_builder_minimal ... ok [INFO] [stdout] test opsgenie::tests::test_alert_close_json_contains_note ... ok [INFO] [stdout] test opsgenie::tests::test_alert_to_create_json_contains_alias ... ok [INFO] [stdout] test opsgenie::tests::test_alert_to_create_json_contains_description ... ok [INFO] [stdout] test opsgenie::tests::test_alert_to_create_json_contains_details ... ok [INFO] [stdout] test opsgenie::tests::test_alert_to_create_json_contains_message ... ok [INFO] [stdout] test opsgenie::tests::test_alert_to_create_json_contains_priority ... ok [INFO] [stdout] test opsgenie::tests::test_alert_to_create_json_contains_responders ... ok [INFO] [stdout] test opsgenie::tests::test_alert_to_create_json_contains_tags ... ok [INFO] [stdout] test metrics::system::tests::test_system_metrics_collector ... ok [INFO] [stdout] test opsgenie::tests::test_client_acknowledge_alert_via_mock_server ... ok [INFO] [stdout] test notification_channels::tests::test_pagerduty_serialize_summary_in_payload ... ok [INFO] [stdout] test notification_channels::tests::test_pagerduty_serialize_trigger_action ... ok [INFO] [stdout] test opsgenie::tests::test_client_close_alert_via_mock_server ... ok [INFO] [stdout] test opsgenie::tests::test_client_default_endpoint_contains_opsgenie ... ok [INFO] [stdout] test opsgenie::tests::test_json_string_escaping ... ok [INFO] [stdout] test opsgenie::tests::test_parse_url_custom_port ... ok [INFO] [stdout] test opsgenie::tests::test_parse_url_http_localhost ... ok [INFO] [stdout] test opsgenie::tests::test_priority_as_str_all_variants ... ok [INFO] [stdout] test opsgenie::tests::test_priority_default_is_p3 ... ok [INFO] [stdout] test otlp_export::tests::test_attrs_to_json_empty ... ok [INFO] [stdout] test opsgenie::tests::test_client_server_error_returns_err ... ok [INFO] [stdout] test opsgenie::tests::test_client_create_alert_via_mock_server ... ok [INFO] [stdout] test otlp_export::tests::test_config_metrics_url_no_trailing_slash ... ok [INFO] [stdout] test otlp_export::tests::test_config_metrics_url_with_trailing_slash ... ok [INFO] [stdout] test otlp_export::tests::test_exporter_config_accessor ... ok [INFO] [stdout] test otlp_export::tests::test_attrs_to_json_single ... ok [INFO] [stdout] test otlp_export::tests::test_resource_default_has_service_name ... ok [INFO] [stdout] test otlp_export::tests::test_config_with_header ... ok [INFO] [stdout] test otlp_export::tests::test_json_escape_special_chars ... ok [INFO] [stdout] test otlp_export::tests::test_config_with_timeout ... ok [INFO] [stdout] test otlp_export::tests::test_resource_with_attr ... ok [INFO] [stdout] test otlp_export::tests::test_resource_with_service ... ok [INFO] [stdout] test otlp_export::tests::test_serialize_empty_batch ... ok [INFO] [stdout] test otlp_export::tests::test_serialize_json_escaping ... ok [INFO] [stdout] test otlp_export::tests::test_serialize_label_attributes ... ok [INFO] [stdout] test otlp_export::tests::test_serialize_counter_uses_sum ... ok [INFO] [stdout] test otlp_export::tests::test_serialize_contains_resource_metrics ... ok [INFO] [stdout] test otlp_export::tests::test_serialize_contains_metric_names ... ok [INFO] [stdout] test otlp_export::tests::test_serialize_gauge_uses_gauge ... ok [INFO] [stdout] test pagerduty::tests::test_client_resolve_via_mock_server ... ok [INFO] [stdout] test pagerduty::tests::test_client_trigger_via_mock_server ... ok [INFO] [stdout] test pagerduty::tests::test_client_default_endpoint ... ok [INFO] [stdout] test pagerduty::tests::test_event_builder_minimal ... ok [INFO] [stdout] test pagerduty::tests::test_client_trigger_server_error ... ok [INFO] [stdout] test pagerduty::tests::test_extract_json_string_field_not_found ... ok [INFO] [stdout] test pagerduty::tests::test_event_builder_with_all_fields ... ok [INFO] [stdout] test pagerduty::tests::test_json_escaping ... ok [INFO] [stdout] test pagerduty::tests::test_extract_json_string_field_found ... ok [INFO] [stdout] test otlp_export::tests::test_serialize_resource_attributes_present ... ok [INFO] [stdout] test pagerduty::tests::test_resolve_json_contains_dedup_key ... ok [INFO] [stdout] test pagerduty::tests::test_severity_as_str_critical ... ok [INFO] [stdout] test pagerduty::tests::test_severity_as_str_error ... ok [INFO] [stdout] test pagerduty::tests::test_severity_as_str_info ... ok [INFO] [stdout] test pagerduty::tests::test_severity_as_str_warning ... ok [INFO] [stdout] test pagerduty::tests::test_parse_url_https_default_port ... ok [INFO] [stdout] test pagerduty::tests::test_parse_url_with_port ... ok [INFO] [stdout] test pagerduty::tests::test_resolve_json_action_is_resolve ... ok [INFO] [stdout] test pagerduty::tests::test_trigger_json_action_is_trigger ... ok [INFO] [stdout] test pagerduty::tests::test_parse_url_http ... ok [INFO] [stdout] test pagerduty::tests::test_trigger_json_contains_dedup_key ... ok [INFO] [stdout] test pagerduty::tests::test_trigger_json_contains_component ... ok [INFO] [stdout] test pagerduty::tests::test_trigger_json_contains_severity ... ok [INFO] [stdout] test pagerduty::tests::test_trigger_json_contains_detail ... ok [INFO] [stdout] test pagerduty::tests::test_trigger_json_contains_routing_key ... ok [INFO] [stdout] test panel_view::tests::dashboard_find_panel_by_title ... ok [INFO] [stdout] test panel_view::tests::dashboard_add_panel ... ok [INFO] [stdout] test pagerduty::tests::test_trigger_json_contains_summary ... ok [INFO] [stdout] test panel_view::tests::dashboard_clear_removes_all_panels ... ok [INFO] [stdout] test panel_view::tests::dashboard_starts_empty ... ok [INFO] [stdout] test panel_view::tests::panel_starts_empty ... ok [INFO] [stdout] test panel_view::tests::dashboard_total_widget_count ... ok [INFO] [stdout] test panel_view::tests::panel_add_widget_increments_count ... ok [INFO] [stdout] test panel_view::tests::panel_clear_widgets_empties_panel ... ok [INFO] [stdout] test panel_view::tests::panel_widgets_slice_matches ... ok [INFO] [stdout] test panel_view::tests::widget_name_alert_summary ... ok [INFO] [stdout] test panel_view::tests::widget_is_gauge_false_for_others ... ok [INFO] [stdout] test panel_view::tests::widget_is_gauge_true_for_gauge ... ok [INFO] [stdout] test panel_view::tests::widget_is_alert_summary ... ok [INFO] [stdout] test panel_view::tests::widget_name_gauge ... ok [INFO] [stdout] test panel_view::tests::widget_name_heat_map ... ok [INFO] [stdout] test reporting::tests::test_generate_report_defaults ... ok [INFO] [stdout] test panel_view::tests::widget_name_line_graph ... ok [INFO] [stdout] test panel_view::tests::widget_name_status_text ... ok [INFO] [stdout] test reporting::tests::test_report_duration_ms ... ok [INFO] [stdout] test reporting::tests::test_report_anomaly_count ... ok [INFO] [stdout] test reporting::tests::test_report_anomaly_severity_clamped ... ok [INFO] [stdout] test reporting::tests::test_report_is_healthy_when_no_issues ... ok [INFO] [stdout] test reporting::tests::test_report_summary_health_status ... ok [INFO] [stdout] test reporting::tests::test_report_summary_contains_stream_id ... ok [INFO] [stdout] test reporting::tests::test_report_summary_degraded_status ... ok [INFO] [stdout] test reporting::tests::test_report_to_json_anomaly_included ... ok [INFO] [stdout] test reporting::tests::test_report_unhealthy_low_uptime ... ok [INFO] [stdout] test reporting::tests::test_report_to_json_contains_stream_id ... ok [INFO] [stdout] test reporting::tests::test_report_to_json_contains_uptime ... ok [INFO] [stdout] test reporting::tests::test_report_unhealthy_critical_anomaly ... ok [INFO] [stdout] test reporting::tests::test_video_stats_has_freezes ... ok [INFO] [stdout] test reporting::tests::test_report_unhealthy_with_dropout ... ok [INFO] [stdout] test resource_forecast::tests::test_ewma_convergence ... ok [INFO] [stdout] test reporting::tests::test_report_unhealthy_with_freeze ... ok [INFO] [stdout] test resource_forecast::tests::test_ewma_reset ... ok [INFO] [stdout] test resource_forecast::tests::test_forecast_manager_add_sample ... ok [INFO] [stdout] test resource_forecast::tests::test_ewma_single_value ... ok [INFO] [stdout] test resource_forecast::tests::test_forecast_manager_creation ... ok [INFO] [stdout] test resource_forecast::tests::test_forecast_manager_forecast_all ... ok [INFO] [stdout] test resource_forecast::tests::test_forecast_trend_falling ... ok [INFO] [stdout] test reporting::tests::test_audio_stats_has_dropouts ... ok [INFO] [stdout] test resource_forecast::tests::test_linear_fit_constant ... ok [INFO] [stdout] test resource_forecast::tests::test_linear_fit_predict ... ok [INFO] [stdout] test resource_forecast::tests::test_forecast_trend_rising ... ok [INFO] [stdout] test resource_forecast::tests::test_forecaster_reset ... ok [INFO] [stdout] test resource_forecast::tests::test_max_samples_cap ... ok [INFO] [stdout] test resource_forecast::tests::test_linear_fit_rising ... ok [INFO] [stdout] test resource_forecast::tests::test_resource_kind_display ... ok [INFO] [stdout] test resource_forecast::tests::test_resource_sample_creation ... ok [INFO] [stdout] test resource_forecast::tests::test_moving_average ... ok [INFO] [stdout] test resource_forecast::tests::test_moving_average_empty ... ok [INFO] [stdout] test retention::tests::test_aggregate_last ... ok [INFO] [stdout] test retention::tests::test_aggregate_empty ... ok [INFO] [stdout] test retention::tests::test_aggregate_p95 ... ok [INFO] [stdout] test metric_downsampler::tests::test_hour_aggregation ... ok [INFO] [stdout] test retention::tests::test_aggregate_sum ... ok [INFO] [stdout] test retention::tests::test_aggregate_mean ... ok [INFO] [stdout] test retention::tests::test_aggregate_max_min ... ok [INFO] [stdout] test retention::tests::test_default_registry_has_policies ... ok [INFO] [stdout] test retention::tests::test_policy_add_rule ... ok [INFO] [stdout] test retention::tests::test_policy_add_window ... ok [INFO] [stdout] test retention::tests::test_policy_exact_match ... ok [INFO] [stdout] test retention::tests::test_policy_wildcard ... ok [INFO] [stdout] test retention::tests::test_policy_prefix_glob ... ok [INFO] [stdout] test retention::tests::test_policy_suffix_glob ... ok [INFO] [stdout] test retention::tests::test_registry_empty ... ok [INFO] [stdout] test retention::tests::test_resolution_tier_labels ... ok [INFO] [stdout] test retention::tests::test_retention_window_archive_flag ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_config_default ... ok [INFO] [stdout] test retention::tests::test_registry_fallback ... ok [INFO] [stdout] test retention::tests::test_registry_order_and_first_match ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_clear ... ok [INFO] [stdout] test retention::tests::test_resolution_tier_intervals ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_decompose_insufficient_data ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_config_new_sets_min_observations ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_decompose_seasonal_component_is_periodic ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_decompose_residual_small_for_clean_data ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_config_sigma_min ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_config_with_sigma ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_decompose_synthetic_series ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_decomposer_max_observations ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_decomposer_new ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_detect_anomalies_returns_metadata ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_decomposer_observe ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_detect_anomalies_clean_data ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_detect_anomalies_not_ready ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_period_daily_len ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_detect_anomalies_spike_detected ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_observation_at ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_observation_now ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_period_custom_len ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_period_custom_min_2 ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_period_hourly_len ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_predict_follows_trend ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_predict_not_ready ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_seasonal_strength_low_for_random_data ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_seasonal_strength_strong_for_periodic_data ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_throughput_decomposer_access ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_throughput_health_label ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_throughput_health_requires_action ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_throughput_monitor_clear_resets ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_throughput_monitor_daily_ctor ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_throughput_monitor_detects_fps_drop ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_throughput_monitor_hourly_ctor ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_throughput_monitor_next_prediction_exists_when_ready ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_throughput_monitor_normal_for_expected_fps ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_throughput_monitor_unknown_when_not_ready ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_throughput_monitor_with_sigma_override ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_seasonal_pattern_centered ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_throughput_sample_at ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_seasonal_pattern_length ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_trend_slope_near_zero_for_flat_data ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_trend_slope_positive_for_increasing_data ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_variance_of_constant ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_variance_of_empty ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_variance_of_simple ... ok [INFO] [stdout] test seasonal_decomposition::tests::test_variance_of_single ... ok [INFO] [stdout] test simple::tests::test_aggregator_worst_status ... ok [INFO] [stdout] test simple::tests::test_aggregator_all_healthy ... ok [INFO] [stdout] test simple::tests::test_alert_manager_clear_history ... ok [INFO] [stdout] test simple::tests::test_aggregator_degraded_beats_healthy ... ok [INFO] [stdout] test simple::tests::test_codec_metrics_fps_ok ... ok [INFO] [stdout] test simple::tests::test_alert_manager_evaluate_snapshot ... ok [INFO] [stdout] test simple::tests::test_alert_rule_disabled ... ok [INFO] [stdout] test simple::tests::test_alert_rule_fires ... ok [INFO] [stdout] test simple::tests::test_alert_manager_evaluate ... ok [INFO] [stdout] test simple::tests::test_codec_metrics_new ... ok [INFO] [stdout] test simple::tests::test_codec_metrics_quality_ok ... ok [INFO] [stdout] test simple::tests::test_collector_snapshot_codecs_ok ... ok [INFO] [stdout] test simple::tests::test_collector_poll_and_snapshot ... ok [INFO] [stdout] test simple::tests::test_collector_poll_codec ... ok [INFO] [stdout] test simple::tests::test_collector_poll_count_increments ... ok [INFO] [stdout] test simple::tests::test_comparison_variants ... ok [INFO] [stdout] test simple::tests::test_health_check_trait_healthy ... ok [INFO] [stdout] test simple::tests::test_health_check_trait_unhealthy ... ok [INFO] [stdout] test simple::tests::test_health_status_as_str ... ok [INFO] [stdout] test simple::tests::test_health_status_predicates ... ok [INFO] [stdout] test sla::tests::test_monitor_add_and_count_targets ... ok [INFO] [stdout] test sla::tests::test_monitor_check_no_violation ... ok [INFO] [stdout] test sla::tests::test_monitor_compliance_equal_timestamps ... ok [INFO] [stdout] test sla::tests::test_monitor_compliance_no_violations ... ok [INFO] [stdout] test sla::tests::test_monitor_clear_violations ... ok [INFO] [stdout] test sla::tests::test_monitor_check_violation_recorded ... ok [INFO] [stdout] test sla::tests::test_monitor_violations_for_metric ... ok [INFO] [stdout] test sla::tests::test_operator_greater_than ... ok [INFO] [stdout] test sla::tests::test_operator_equal ... ok [INFO] [stdout] test sla::tests::test_operator_less_than ... ok [INFO] [stdout] test sla::tests::test_operator_less_than_or_equal ... ok [INFO] [stdout] test sla::tests::test_target_satisfied ... ok [INFO] [stdout] test sla::tests::test_target_description_contains_metric ... ok [INFO] [stdout] test sla::tests::test_violation_description_contains_metric ... ok [INFO] [stdout] test sla::tests::test_violation_is_resolved ... ok [INFO] [stdout] test slo_tracker::tests::test_availability_99_9_preset ... ok [INFO] [stdout] test slo_tracker::tests::test_latency_p99_100ms_preset ... ok [INFO] [stdout] test slo_tracker::tests::test_measurement_fails_latency ... ok [INFO] [stdout] test slo_tracker::tests::test_measurement_fails_availability ... ok [INFO] [stdout] test slo_tracker::tests::test_measurement_meets_availability ... ok [INFO] [stdout] test slo_tracker::tests::test_measurement_meets_throughput ... ok [INFO] [stdout] test slo_tracker::tests::test_measurement_meets_error_rate ... ok [INFO] [stdout] test slo_tracker::tests::test_measurement_meets_latency ... ok [INFO] [stdout] test slo_tracker::tests::test_slo_type_unit_availability ... ok [INFO] [stdout] test slo_tracker::tests::test_slo_type_unit_error_rate ... ok [INFO] [stdout] test slo_tracker::tests::test_slo_type_unit_latency ... ok [INFO] [stdout] test slo_tracker::tests::test_slo_type_unit_throughput ... ok [INFO] [stdout] test slo_tracker::tests::test_tracker_empty_is_100_pct ... ok [INFO] [stdout] test slo_tracker::tests::test_tracker_full_compliance ... ok [INFO] [stdout] test slo_tracker::tests::test_tracker_is_meeting_slo_exact ... ok [INFO] [stdout] test slo_tracker::tests::test_tracker_partial_compliance ... ok [INFO] [stdout] test slo_tracker::tests::test_tracker_record_increases_count ... ok [INFO] [stdout] test statsd_ingestion::tests::test_accumulator_mean ... ok [INFO] [stdout] test statsd_ingestion::tests::test_accumulator_mean_empty ... ok [INFO] [stdout] test statsd_ingestion::tests::test_accumulator_percentile_empty ... ok [INFO] [stdout] test statsd_ingestion::tests::test_full_statsd_ingest_pipeline ... ok [INFO] [stdout] test statsd_ingestion::tests::test_metric_type_from_symbol ... ok [INFO] [stdout] test statsd_ingestion::tests::test_metric_type_symbols ... ok [INFO] [stdout] test statsd_ingestion::tests::test_metric_type_unknown_fails ... ok [INFO] [stdout] test statsd_ingestion::tests::test_parse_counter ... ok [INFO] [stdout] test statsd_ingestion::tests::test_parse_datagram_multiple_lines ... ok [INFO] [stdout] test statsd_ingestion::tests::test_parse_empty_line_fails ... ok [INFO] [stdout] test statsd_ingestion::tests::test_parse_datagram_skips_invalid ... ok [INFO] [stdout] test statsd_ingestion::tests::test_parse_datagram_skips_empty_lines ... ok [INFO] [stdout] test sla::tests::test_monitor_compliance_with_violation ... ok [INFO] [stdout] test sla::tests::test_monitor_unknown_metric_no_violation ... ok [INFO] [stdout] test statsd_ingestion::tests::test_parse_gauge ... ok [INFO] [stdout] test sla::tests::test_operator_greater_than_or_equal ... ok [INFO] [stdout] test statsd_ingestion::tests::test_parse_gauge_delta_negative ... ok [INFO] [stdout] test statsd_ingestion::tests::test_parse_gauge_delta_positive ... ok [INFO] [stdout] test statsd_ingestion::tests::test_parse_invalid_value_fails ... ok [INFO] [stdout] test statsd_ingestion::tests::test_parse_histogram ... ok [INFO] [stdout] test statsd_ingestion::tests::test_parse_missing_colon_fails ... ok [INFO] [stdout] test statsd_ingestion::tests::test_parse_missing_pipe_fails ... ok [INFO] [stdout] test statsd_ingestion::tests::test_parse_set ... ok [INFO] [stdout] test statsd_ingestion::tests::test_parse_timer ... ok [INFO] [stdout] test statsd_ingestion::tests::test_parse_trims_whitespace ... ok [INFO] [stdout] test statsd_ingestion::tests::test_parse_unknown_type_fails ... ok [INFO] [stdout] test statsd_ingestion::tests::test_parse_with_sample_rate ... ok [INFO] [stdout] test statsd_ingestion::tests::test_statsd_ingester_new ... ok [INFO] [stdout] test statsd_ingestion::tests::test_parse_with_sample_rate_and_tags ... ok [INFO] [stdout] test statsd_ingestion::tests::test_parse_with_tags ... ok [INFO] [stdout] test statsd_ingestion::tests::test_statsd_listener_bind_addr ... ok [INFO] [stdout] test statsd_ingestion::tests::test_statsd_listener_new ... ok [INFO] [stdout] test statsd_ingestion::tests::test_statsd_metric_as_f64_counter ... ok [INFO] [stdout] test statsd_ingestion::tests::test_statsd_metric_as_f64_set_is_none ... ok [INFO] [stdout] test statsd_ingestion::tests::test_statsd_metric_counter_value ... ok [INFO] [stdout] test statsd_ingestion::tests::test_statsd_metric_gauge_value ... ok [INFO] [stdout] test statsd_ingestion::tests::test_statsd_metric_histogram_value ... ok [INFO] [stdout] test statsd_ingestion::tests::test_statsd_metric_record_from_line_gauge ... ok [INFO] [stdout] test statsd_ingestion::tests::test_statsd_metric_record_from_line_counter ... ok [INFO] [stdout] test statsd_ingestion::tests::test_statsd_metric_record_from_line_histogram ... ok [INFO] [stdout] test statsd_ingestion::tests::test_statsd_metric_record_from_line_set ... ok [INFO] [stdout] test statsd_ingestion::tests::test_statsd_metric_record_from_line_timer ... ok [INFO] [stdout] test statsd_ingestion::tests::test_statsd_metric_set_value ... ok [INFO] [stdout] test statsd_ingestion::tests::test_statsd_metric_timer_value ... ok [INFO] [stdout] test statsd_ingestion::tests::test_statsd_metric_type_names ... ok [INFO] [stdout] test statsd_ingestion::tests::test_store_ingest_counter_accumulates ... ok [INFO] [stdout] test statsd_ingestion::tests::test_store_clear ... ok [INFO] [stdout] test statsd_ingestion::tests::test_store_ingest_counter_with_sample_rate ... ok [INFO] [stdout] test statsd_ingestion::tests::test_store_ingest_datagram ... ok [INFO] [stdout] test statsd_ingestion::tests::test_store_ingest_gauge ... ok [INFO] [stdout] test statsd_ingestion::tests::test_store_ingest_gauge_delta ... ok [INFO] [stdout] test statsd_ingestion::tests::test_store_ingest_gauge_replaces ... ok [INFO] [stdout] test statsd_ingestion::tests::test_store_ingest_timer_samples ... ok [INFO] [stdout] test statsd_ingestion::tests::test_store_metric_count ... ok [INFO] [stdout] test statsd_ingestion::tests::test_store_metric_names ... ok [INFO] [stdout] test storage::aggregation::tests::test_aggregate_full ... ok [INFO] [stdout] test storage::aggregation::tests::test_avg_aggregation ... ok [INFO] [stdout] test storage::aggregation::tests::test_count_aggregation ... ok [INFO] [stdout] test storage::aggregation::tests::test_empty_values ... ok [INFO] [stdout] test storage::aggregation::tests::test_max_aggregation ... ok [INFO] [stdout] test storage::aggregation::tests::test_min_aggregation ... ok [INFO] [stdout] test storage::aggregation::tests::test_percentile_aggregation ... ok [INFO] [stdout] test storage::aggregation::tests::test_rate_aggregation ... ok [INFO] [stdout] test storage::aggregation::tests::test_sum_aggregation ... ok [INFO] [stdout] test storage::ringbuffer::tests::test_ring_buffer_clear ... ok [INFO] [stdout] test storage::ringbuffer::tests::test_ring_buffer_empty_stats ... ok [INFO] [stdout] test storage::ringbuffer::tests::test_ring_buffer_get_last ... ok [INFO] [stdout] test storage::ringbuffer::tests::test_ring_buffer_get_range ... ok [INFO] [stdout] test storage::ringbuffer::tests::test_ring_buffer_oldest_newest ... ok [INFO] [stdout] test storage::ringbuffer::tests::test_ring_buffer_push ... ok [INFO] [stdout] test storage::ringbuffer::tests::test_ring_buffer_stats ... ok [INFO] [stdout] test system_metrics::tests::test_collector_average ... ok [INFO] [stdout] test system_metrics::tests::test_collector_average_none_when_empty ... ok [INFO] [stdout] test system_metrics::tests::test_collector_current_none_when_empty ... ok [INFO] [stdout] test system_metrics::tests::test_collector_evicts_oldest_when_full ... ok [INFO] [stdout] test system_metrics::tests::test_collector_is_critical ... ok [INFO] [stdout] test system_metrics::tests::test_collector_is_not_critical_when_empty ... ok [INFO] [stdout] test system_metrics::tests::test_collector_record_and_current ... ok [INFO] [stdout] test system_metrics::tests::test_collector_total_samples ... ok [INFO] [stdout] test system_metrics::tests::test_sample_at_exact_threshold_is_critical ... ok [INFO] [stdout] test system_metrics::tests::test_sample_custom_threshold_critical ... ok [INFO] [stdout] test system_metrics::tests::test_sample_is_critical_above_threshold ... ok [INFO] [stdout] test system_metrics::tests::test_sample_is_not_critical_below_threshold ... ok [INFO] [stdout] test system_metrics::tests::test_system_metric_default_thresholds ... ok [INFO] [stdout] test system_metrics::tests::test_system_metric_name ... ok [INFO] [stdout] test system_metrics::tests::test_system_metric_unit ... ok [INFO] [stdout] test trace_span::tests::test_span_status_is_complete ... ok [INFO] [stdout] test trace_span::tests::test_span_status_is_ok ... ok [INFO] [stdout] test trace_span::tests::test_span_status_label ... ok [INFO] [stdout] test trace_span::tests::test_span_tracer_finish_decrements_active ... ok [INFO] [stdout] test trace_span::tests::test_span_tracer_finish_missing_returns_false ... ok [INFO] [stdout] test trace_span::tests::test_span_tracer_get_active ... ok [INFO] [stdout] test trace_span::tests::test_span_tracer_start_and_active_count ... ok [INFO] [stdout] test trace_span::tests::test_trace_span_finish_records_duration ... ok [INFO] [stdout] test trace_span::tests::test_span_tracer_slow_spans ... ok [INFO] [stdout] test trace_span::tests::test_trace_span_new ... ok [INFO] [stdout] test trace_span::tests::test_trace_span_not_slow ... ok [INFO] [stdout] test trace_span::tests::test_trace_span_is_slow ... ok [INFO] [stdout] test trace_span::tests::test_trace_span_set_attr ... ok [INFO] [stdout] test uptime_tracker::tests::test_current_status ... ok [INFO] [stdout] test uptime_tracker::tests::test_degraded_counts_as_available ... ok [INFO] [stdout] test uptime_tracker::tests::test_downtime_ms ... ok [INFO] [stdout] test uptime_tracker::tests::test_duplicate_status_no_op ... ok [INFO] [stdout] test uptime_tracker::tests::test_full_uptime_100_pct ... ok [INFO] [stdout] test uptime_tracker::tests::test_half_uptime_50_pct ... ok [INFO] [stdout] test uptime_tracker::tests::test_no_events_availability_zero ... ok [INFO] [stdout] test uptime_tracker::tests::test_outage_count ... ok [INFO] [stdout] test uptime_tracker::tests::test_records_slice_length ... ok [INFO] [stdout] test uptime_tracker::tests::test_service_status_as_str ... ok [INFO] [stdout] test uptime_tracker::tests::test_service_status_is_available ... ok [INFO] [stdout] test uptime_tracker::tests::test_total_observation_window ... ok [INFO] [stdout] test uptime_tracker::tests::test_uptime_ms_accuracy ... ok [INFO] [stdout] test uptime_tracker::tests::test_uptime_record_duration_closed ... ok [INFO] [stdout] test uptime_tracker::tests::test_uptime_record_duration_open ... ok [INFO] [stdout] test w3c_trace_context::tests::test_bytes_to_hex ... ok [INFO] [stdout] test w3c_trace_context::tests::test_child_inherits_flags ... ok [INFO] [stdout] test w3c_trace_context::tests::test_child_inherits_trace_id ... ok [INFO] [stdout] test w3c_trace_context::tests::test_flags_from_byte ... ok [INFO] [stdout] test w3c_trace_context::tests::test_flags_from_hex ... ok [INFO] [stdout] test w3c_trace_context::tests::test_flags_from_hex_invalid ... ok [INFO] [stdout] test w3c_trace_context::tests::test_flags_not_sampled ... ok [INFO] [stdout] test w3c_trace_context::tests::test_flags_sampled ... ok [INFO] [stdout] test w3c_trace_context::tests::test_from_headers_with_tracestate ... ok [INFO] [stdout] test w3c_trace_context::tests::test_from_headers_without_tracestate ... ok [INFO] [stdout] test w3c_trace_context::tests::test_from_traceparent_invalid_format ... ok [INFO] [stdout] test w3c_trace_context::tests::test_from_traceparent_known_value ... ok [INFO] [stdout] test w3c_trace_context::tests::test_from_traceparent_roundtrip ... ok [INFO] [stdout] test w3c_trace_context::tests::test_from_traceparent_version_ff_rejected ... ok [INFO] [stdout] test w3c_trace_context::tests::test_hex_nibble_digits ... ok [INFO] [stdout] test w3c_trace_context::tests::test_hex_nibble_invalid ... ok [INFO] [stdout] test w3c_trace_context::tests::test_hex_nibble_lower ... ok [INFO] [stdout] test w3c_trace_context::tests::test_hex_nibble_upper ... ok [INFO] [stdout] test w3c_trace_context::tests::test_new_root_is_sampled_by_default ... ok [INFO] [stdout] test w3c_trace_context::tests::test_new_root_traceparent_format ... ok [INFO] [stdout] test w3c_trace_context::tests::test_not_sampled_context ... ok [INFO] [stdout] test w3c_trace_context::tests::test_span_id_from_hex_all_zeros_fails ... ok [INFO] [stdout] test w3c_trace_context::tests::test_span_id_from_hex_wrong_length_fails ... ok [INFO] [stdout] test w3c_trace_context::tests::test_span_id_generate_not_zero ... ok [INFO] [stdout] test w3c_trace_context::tests::test_span_id_hex_roundtrip ... ok [INFO] [stdout] test w3c_trace_context::tests::test_trace_id_display ... ok [INFO] [stdout] test w3c_trace_context::tests::test_trace_id_from_hex_all_zeros_fails ... ok [INFO] [stdout] test w3c_trace_context::tests::test_trace_id_from_hex_invalid_char_fails ... ok [INFO] [stdout] test w3c_trace_context::tests::test_trace_id_from_hex_wrong_length_fails ... ok [INFO] [stdout] test w3c_trace_context::tests::test_trace_id_generate_not_zero ... ok [INFO] [stdout] test w3c_trace_context::tests::test_trace_id_hex_roundtrip ... ok [INFO] [stdout] test w3c_trace_context::tests::test_trace_state_empty ... ok [INFO] [stdout] test w3c_trace_context::tests::test_trace_state_max_members ... ok [INFO] [stdout] test w3c_trace_context::tests::test_trace_state_parse ... ok [INFO] [stdout] test w3c_trace_context::tests::test_trace_state_set_prepends ... ok [INFO] [stdout] test w3c_trace_context::tests::test_trace_state_set_updates_existing ... ok [INFO] [stdout] test w3c_trace_context::tests::test_trace_state_to_header ... ok [INFO] [stdout] test w3c_trace_context::tests::test_traceparent_header_format_correctness ... ok [INFO] [stdout] test statsd_ingestion::tests::test_statsd_ingester_start_stop ... ok [INFO] [stdout] test in_memory_tests::test_in_memory_monitor_start_stop ... ok [INFO] [stdout] test metrics::collector::tests::test_collector_start_stop ... ok [INFO] [stdout] test statsd_ingestion::tests::test_statsd_ingester_multiple_metrics ... ok [INFO] [stdout] test statsd_ingestion::tests::test_statsd_ingester_metric_count ... ok [INFO] [stdout] test statsd_ingestion::tests::test_statsd_ingester_send_and_receive ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 990 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s [INFO] [stdout] [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-9a551d5b5124dedc) [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test test_alert_pipeline_via_in_memory_monitor ... ok [INFO] [stdout] test test_full_alert_pipeline_threshold_to_rule_evaluation ... ok [INFO] [stdout] test test_in_memory_alert_manager_present ... ok [INFO] [stdout] test test_alert_pipeline_silence_period_prevents_repeat ... ok [INFO] [stdout] test test_alert_pipeline_multiple_rules ... ok [INFO] [stdout] test test_slo_99_9_availability_fails_with_excess_downtime ... ok [INFO] [stdout] test test_slo_bursty_downtime_pattern ... ok [INFO] [stdout] test test_slo_latency_p99_with_simulated_spikes ... ok [INFO] [stdout] test test_slo_error_budget_exceeded_by_one ... ok [INFO] [stdout] test test_slo_99_9_availability_exactly_at_threshold ... ok [INFO] [stdout] test test_in_memory_application_metrics_initial_state ... ok [INFO] [stdout] test test_in_memory_quality_metrics_initial_state ... ok [INFO] [stdout] test test_in_memory_record_metric_ring_buffer ... ok [INFO] [stdout] test test_slo_error_budget_calculation ... ok [INFO] [stderr] Doc-tests oximedia_monitor [INFO] [stdout] test test_in_memory_monitor_lifecycle ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test src/lib.rs - metric_recorder (line 102) ... ignored [INFO] [stdout] test src/lib.rs - metric_recorder (line 113) ... ignored [INFO] [stdout] test src/lib.rs - otlp_export (line 140) - compile ... ok [INFO] [stdout] test src/lib.rs - (line 19) - compile ... ok [INFO] [stdout] test src/statsd_ingestion.rs - statsd_ingestion::StatsDIngester (line 536) - compile ... ok [INFO] [stdout] test src/alert_correlation.rs - alert_correlation::AlertCorrelationEngine (line 100) ... ok [INFO] [stdout] test src/lib.rs - dashboard_template (line 124) ... ok [INFO] [stdout] test src/lib.rs - w3c_trace_context (line 141) ... ok [INFO] [stdout] test src/lib.rs - opsgenie (line 129) ... ok [INFO] [stdout] test src/lib.rs - statsd_ingestion (line 153) ... ok [INFO] [stdout] test src/lib.rs - pagerduty (line 134) ... ok [INFO] [stdout] test src/lib.rs - metric_batcher (line 95) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 4.17s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "8052fbd680a70b4f7a60723989e711e568f72d077fef7901d61574497afbf9e8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8052fbd680a70b4f7a60723989e711e568f72d077fef7901d61574497afbf9e8", kill_on_drop: false }` [INFO] [stdout] 8052fbd680a70b4f7a60723989e711e568f72d077fef7901d61574497afbf9e8