{
  "complete": true,
  "duration_seconds": 3168.041557073593,
  "source_revision": "b3e752b722b4a5de13974a5de7258dfe8963535b",
  "conditions": {
    "frequency_mhz": 912.525,
    "bandwidth_khz": 250,
    "sf": 7,
    "cr_denominator": 5,
    "preamble_symbols": 32,
    "explicit_header": true,
    "crc_bits": 16,
    "path_bytes": 3,
    "tx_power_dbm": 2,
    "bot_airtime_ms_per_minute": 3600,
    "telemetry_interval_seconds": 2
  },
  "radios": {
    "aspen": {
      "samples": 1582,
      "minimum_sampled_heap_bytes": 44260,
      "minimum_sampled_dma_bytes": 36520,
      "minimum_sampled_dma_largest_bytes": 32756,
      "maximum_sampled_queue": 12,
      "counter_deltas": {
        "rx_packets": 12276,
        "rx_estimated_ms": 713548,
        "rx_errors": 132,
        "tx_accepted": 6091,
        "tx_rejected": 0,
        "tx_succeeded": 6091,
        "tx_failed": 0,
        "tx_unknown": 0,
        "tx_rf_ms": 361870
      },
      "reboots": 0
    },
    "cedar": {
      "samples": 1577,
      "minimum_sampled_heap_bytes": 61684,
      "minimum_sampled_dma_bytes": 53944,
      "minimum_sampled_dma_largest_bytes": 51188,
      "maximum_sampled_queue": 12,
      "counter_deltas": {
        "rx_packets": 12108,
        "rx_estimated_ms": 703415,
        "rx_errors": 122,
        "tx_accepted": 6357,
        "tx_rejected": 0,
        "tx_succeeded": 6357,
        "tx_failed": 0,
        "tx_unknown": 0,
        "tx_rf_ms": 362133
      },
      "reboots": 0
    }
  },
  "phases": [
    {
      "phase": "control",
      "seconds": 60.021156787872314,
      "start_minutes": 0.33854229052861534,
      "planned_bot_per_second": 0.05,
      "actual_bot_per_second": 0.0499823755580494,
      "planned_flood_per_second": 0,
      "actual_flood_per_second": 0.0,
      "calc_requests": 3,
      "calc_replies": 3,
      "calc_reply_percent": 100.0,
      "requests": 9,
      "admitted": 9,
      "ack_expected": 9,
      "received_acks": 9,
      "correlated_replies": 5,
      "expected_replies": 5,
      "refusals": 0,
      "reply_p50_ms": 262.3589038848877,
      "reply_p95_ms": 930.1564693450928,
      "room_posts": 2,
      "room_deliveries": 2,
      "room_delivery_percent": 100.0
    },
    {
      "phase": "low",
      "seconds": 180.02531266212463,
      "start_minutes": 1.3388966162999472,
      "planned_bot_per_second": 0.1,
      "actual_bot_per_second": 0.0999859393872171,
      "planned_flood_per_second": 0.1,
      "actual_flood_per_second": 0.0999859393872171,
      "calc_requests": 16,
      "calc_replies": 13,
      "calc_reply_percent": 81.25,
      "requests": 54,
      "admitted": 54,
      "ack_expected": 34,
      "received_acks": 31,
      "correlated_replies": 18,
      "expected_replies": 18,
      "refusals": 1,
      "reply_p50_ms": 665.3687953948975,
      "reply_p95_ms": 1533.1733226776123,
      "room_posts": 6,
      "room_deliveries": 5,
      "room_delivery_percent": 83.33333333333333
    },
    {
      "phase": "moderate",
      "seconds": 180.00889348983765,
      "start_minutes": 4.339320115248362,
      "planned_bot_per_second": 0.3,
      "actual_bot_per_second": 0.2999851782492544,
      "planned_flood_per_second": 0.5,
      "actual_flood_per_second": 0.4999752970820907,
      "calc_requests": 47,
      "calc_replies": 42,
      "calc_reply_percent": 89.36170212765957,
      "requests": 161,
      "admitted": 161,
      "ack_expected": 64,
      "received_acks": 61,
      "correlated_replies": 51,
      "expected_replies": 51,
      "refusals": 4,
      "reply_p50_ms": 395.79200744628906,
      "reply_p95_ms": 1021.552562713623,
      "room_posts": 6,
      "room_deliveries": 6,
      "room_delivery_percent": 100.0
    },
    {
      "phase": "high",
      "seconds": 180.00871896743774,
      "start_minutes": 7.339469949404399,
      "planned_bot_per_second": 0.8,
      "actual_bot_per_second": 0.7888506779812524,
      "planned_flood_per_second": 1,
      "actual_flood_per_second": 0.9721751313149238,
      "calc_requests": 122,
      "calc_replies": 79,
      "calc_reply_percent": 64.75409836065573,
      "requests": 334,
      "admitted": 334,
      "ack_expected": 141,
      "received_acks": 111,
      "correlated_replies": 92,
      "expected_replies": 92,
      "refusals": 9,
      "reply_p50_ms": 532.2861671447754,
      "reply_p95_ms": 1272.3536491394043,
      "room_posts": 6,
      "room_deliveries": 5,
      "room_delivery_percent": 83.33333333333333
    },
    {
      "phase": "burst",
      "seconds": 120.00473761558533,
      "start_minutes": 10.339616723855336,
      "planned_bot_per_second": 2,
      "actual_bot_per_second": 1.6666008690479024,
      "planned_flood_per_second": 3,
      "actual_flood_per_second": 2.4499032775004164,
      "calc_requests": 172,
      "calc_replies": 36,
      "calc_reply_percent": 20.930232558139537,
      "requests": 505,
      "admitted": 505,
      "ack_expected": 186,
      "received_acks": 84,
      "correlated_replies": 41,
      "expected_replies": 40,
      "refusals": 3,
      "reply_p50_ms": 1067.383050918579,
      "reply_p95_ms": 6026.296138763428,
      "room_posts": 4,
      "room_deliveries": 2,
      "room_delivery_percent": 50.0
    },
    {
      "phase": "mixed-soak",
      "seconds": 900.0167801380157,
      "start_minutes": 12.339749650160472,
      "planned_bot_per_second": 0.5,
      "actual_bot_per_second": 0.4855465027363011,
      "planned_flood_per_second": 0.75,
      "actual_flood_per_second": 0.7199865761398698,
      "calc_requests": 375,
      "calc_replies": 303,
      "calc_reply_percent": 80.8,
      "requests": 1167,
      "admitted": 1167,
      "ack_expected": 465,
      "received_acks": 394,
      "correlated_replies": 353,
      "expected_replies": 353,
      "refusals": 33,
      "reply_p50_ms": 532.9170227050781,
      "reply_p95_ms": 1496.7620372772217,
      "room_posts": 30,
      "room_deliveries": 25,
      "room_delivery_percent": 83.33333333333333
    },
    {
      "phase": "overload",
      "seconds": 180.07759046554565,
      "start_minutes": 27.34007922013601,
      "planned_bot_per_second": 2,
      "actual_bot_per_second": 1.749245973280996,
      "planned_flood_per_second": 4,
      "actual_flood_per_second": 3.3818755483432588,
      "calc_requests": 270,
      "calc_replies": 40,
      "calc_reply_percent": 14.814814814814815,
      "requests": 941,
      "admitted": 941,
      "ack_expected": 293,
      "received_acks": 66,
      "correlated_replies": 55,
      "expected_replies": 48,
      "refusals": 13,
      "reply_p50_ms": 2074.510335922241,
      "reply_p95_ms": 5971.864223480225,
      "room_posts": 6,
      "room_deliveries": 5,
      "room_delivery_percent": 83.33333333333333
    },
    {
      "phase": "sustained",
      "seconds": 900.0153503417969,
      "start_minutes": 30.341377572218576,
      "planned_bot_per_second": 0.8,
      "actual_bot_per_second": 0.7522093925874678,
      "planned_flood_per_second": 1,
      "actual_flood_per_second": 0.9355395990526556,
      "calc_requests": 580,
      "calc_replies": 361,
      "calc_reply_percent": 62.241379310344826,
      "requests": 1601,
      "admitted": 1601,
      "ack_expected": 676,
      "received_acks": 542,
      "correlated_replies": 414,
      "expected_replies": 413,
      "refusals": 41,
      "reply_p50_ms": 646.6042995452881,
      "reply_p95_ms": 1311.5549087524414,
      "room_posts": 30,
      "room_deliveries": 27,
      "room_delivery_percent": 90.0
    },
    {
      "phase": "grant-revocation",
      "seconds": 121.47504663467407,
      "start_minutes": 45.34212496678035,
      "planned_bot_per_second": 0.25,
      "actual_bot_per_second": 0.2469643011557959,
      "planned_flood_per_second": 0.5,
      "actual_flood_per_second": 0.4939286023115918,
      "calc_requests": 27,
      "calc_replies": 24,
      "calc_reply_percent": 88.88888888888889,
      "requests": 101,
      "admitted": 101,
      "ack_expected": 37,
      "received_acks": 34,
      "correlated_replies": 28,
      "expected_replies": 28,
      "refusals": 3,
      "reply_p50_ms": 382.80630111694336,
      "reply_p95_ms": 1580.1093578338623,
      "room_posts": 4,
      "room_deliveries": 4,
      "room_delivery_percent": 100.0
    },
    {
      "phase": "recovery",
      "seconds": 301.5313892364502,
      "start_minutes": 47.36688434282939,
      "planned_bot_per_second": 0.1,
      "actual_bot_per_second": 0.09949212941301798,
      "planned_flood_per_second": 0,
      "actual_flood_per_second": 0.0,
      "calc_requests": 27,
      "calc_replies": 25,
      "calc_reply_percent": 92.5925925925926,
      "requests": 58,
      "admitted": 58,
      "ack_expected": 54,
      "received_acks": 51,
      "correlated_replies": 35,
      "expected_replies": 35,
      "refusals": 2,
      "reply_p50_ms": 370.1062202453613,
      "reply_p95_ms": 2004.8038959503174,
      "room_posts": 10,
      "room_deliveries": 10,
      "room_delivery_percent": 100.0
    }
  ],
  "role_observations": {
    "relay_status_requests": 104,
    "relay_status_responses": 86,
    "management_requests": 105,
    "management_rf_replies": 81,
    "room_keepalives_submitted": 126,
    "room_keepalives_with_routed_ack_within_20_seconds": 76,
    "authenticated_diagnostic_samples": 914,
    "diagnostic_sample_errors": 4
  },
  "negative_rf_cases": [
    {
      "phase": "moderate",
      "case": "replay",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 72.83616065979004
    },
    {
      "phase": "moderate",
      "case": "invalid-mac",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 78.97758483886719
    },
    {
      "phase": "moderate",
      "case": "unsupported-version",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 70.00327110290527
    },
    {
      "phase": "moderate",
      "case": "reserved-path-width",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 69.78344917297363
    },
    {
      "phase": "high",
      "case": "replay",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 257.7226161956787
    },
    {
      "phase": "high",
      "case": "invalid-mac",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 323.9867687225342
    },
    {
      "phase": "high",
      "case": "unsupported-version",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 70.77622413635254
    },
    {
      "phase": "high",
      "case": "reserved-path-width",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 643.3286666870117
    },
    {
      "phase": "burst",
      "case": "replay",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 76.40814781188965
    },
    {
      "phase": "burst",
      "case": "invalid-mac",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 618.5150146484375
    },
    {
      "phase": "burst",
      "case": "unsupported-version",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 864.1822338104248
    },
    {
      "phase": "burst",
      "case": "reserved-path-width",
      "wire_bytes": 38,
      "matching_rf_receptions": 0,
      "first_rf_latency_ms": null
    },
    {
      "phase": "overload",
      "case": "replay",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 448.3036994934082
    },
    {
      "phase": "overload",
      "case": "invalid-mac",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 84.2280387878418
    },
    {
      "phase": "overload",
      "case": "unsupported-version",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 78.21226119995117
    },
    {
      "phase": "overload",
      "case": "reserved-path-width",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 141.6642665863037
    },
    {
      "phase": "sustained",
      "case": "replay",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 576.385498046875
    },
    {
      "phase": "sustained",
      "case": "invalid-mac",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 86.82060241699219
    },
    {
      "phase": "sustained",
      "case": "unsupported-version",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 73.99654388427734
    },
    {
      "phase": "sustained",
      "case": "reserved-path-width",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 490.06032943725586
    },
    {
      "phase": "recovery",
      "case": "replay",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 69.11134719848633
    },
    {
      "phase": "recovery",
      "case": "invalid-mac",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 71.92587852478027
    },
    {
      "phase": "recovery",
      "case": "unsupported-version",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 84.22088623046875
    },
    {
      "phase": "recovery",
      "case": "reserved-path-width",
      "wire_bytes": 38,
      "matching_rf_receptions": 1,
      "first_rf_latency_ms": 69.85640525817871
    }
  ],
  "phy_model": {
    "symbol_ms": 0.512,
    "nominal_coded_bit_rate": 10937.5,
    "request_38_bytes_ms": 53.376,
    "reply_22_bytes_ms": 40.576,
    "ack_6_bytes_ms": 30.336000000000002,
    "request_reply_and_two_acks_packet_only_per_second": 6.467301324503311,
    "bot_reply_22_bytes_budget_per_second": 1.4787066246056781
  },
  "reply_correlation": {
    "rf_reply_events": 1401,
    "matched_reply_events": 1093,
    "unmatched_reply_events": 308,
    "unmatched_refusals": 4,
    "channel_calc_requests": 236,
    "channel_calc_successful_requests": 120,
    "channel_calc_refused_requests": 9,
    "channel_refusal_events": 10,
    "duplicate_channel_reply_events": 4
  }
}
