Skip to main content

IntegrationLoadTest

Struct IntegrationLoadTest 

Source
pub struct IntegrationLoadTest { /* private fields */ }
Expand description

Integration load test that measures real application frame times.

Unlike synthetic load tests, this tests the ACTUAL application with real collectors, real system calls, and real data. It catches issues like blocking I/O, slow system calls, and expensive operations.

§Example

use jugar_probar::tui_load::IntegrationLoadTest;

// Test that real app renders frames under 100ms
let test = IntegrationLoadTest::new()
    .with_frame_budget_ms(100.0)
    .with_timeout_ms(5000)
    .with_frame_count(10);

let result = test.run(|| {
    // Your real app initialization and render
    let mut app = App::new();
    app.collect_metrics();
    // Simulate frame render...
});

assert!(result.is_ok(), "Real app should not hang");

Implementations§

Source§

impl IntegrationLoadTest

Source

pub fn new() -> Self

Create new integration load test

Source

pub fn with_frame_budget_ms(self, budget: f64) -> Self

Set frame budget

Source

pub fn with_timeout_ms(self, timeout: u64) -> Self

Set timeout for hang detection

Source

pub fn with_frame_count(self, count: usize) -> Self

Set number of frames to test

Source

pub fn with_component_budget(self, name: &str, max_ms: f64) -> Self

Add component budget (e.g., “container_analyzer” -> 100ms max)

Source

pub fn run<F>(&self, frame_fn: F) -> TuiLoadResult<TuiFrameMetrics>
where F: FnMut() -> ComponentTimings,

Run integration test with a closure that performs one frame

The closure should:

  1. Initialize app (first call only)
  2. Collect metrics
  3. Render frame

Returns timing for each frame.

Trait Implementations§

Source§

impl Clone for IntegrationLoadTest

Source§

fn clone(&self) -> IntegrationLoadTest

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for IntegrationLoadTest

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for IntegrationLoadTest

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.