A replay can present a global stream or focus on one named history. This program models the filtered view as ordinary arrays.

Program

Play the program to choose a view and see its color and event count stay aligned.

view_index
filtered_history_replay_rust.rs
Replay: real traced execution (multi-file project)
fn main() {
    let view_index: usize = 2;
    let views = ["main", "worker", "io"];
    let colors = ["blue", "green", "orange"];
    let event_counts = [4, 3, 2];
    let view = views[view_index - 1];
    let color = colors[view_index - 1];
    let count = event_counts[view_index - 1];
    println!("{view}:{color}:{count}");
}
fn main() {
    let view_index: usize = 1;
    let views = ["main", "worker", "io"];
    let colors = ["blue", "green", "orange"];
    let event_counts = [4, 3, 2];
    let view = views[view_index - 1];
    let color = colors[view_index - 1];
    let count = event_counts[view_index - 1];
    println!("{view}:{color}:{count}");
}
fn main() {
    let view_index: usize = 3;
    let views = ["main", "worker", "io"];
    let colors = ["blue", "green", "orange"];
    let event_counts = [4, 3, 2];
    let view = views[view_index - 1];
    let color = colors[view_index - 1];
    let count = event_counts[view_index - 1];
    println!("{view}:{color}:{count}");
}
  1. view_index ← 2, views ← ["main", "worker", "io"], colors ← ["blue", "green", "orange"]

    1fn main() {2    let view_inde→ 2x: usize = 2; //@view_index=1, 2, 33    let view→ ["main", "worker", "io"]s = ["main", "worker", "io"];4    let color→ ["blue", "green", "orange"]s = ["blue", "green", "orange"];5    let event_count→ [4, 3, 2]s = [4, 3, 2];6    let vie→ "worker"w = views[view_index - 1→ "worker"];7    let colo→ "green"r = colors[view_index - 1→ "green"];8    let coun→ 3t = event_counts[view_index - 1→ 3];9    println!("{view}:{color}:{count}");10}
    outputworker:green:3
  1. view_index ← 1, views ← ["main", "worker", "io"], colors ← ["blue", "green", "orange"]

    1fn main() {2    let view_inde→ 1x: usize = 1;3    let view→ ["main", "worker", "io"]s = ["main", "worker", "io"];4    let color→ ["blue", "green", "orange"]s = ["blue", "green", "orange"];5    let event_count→ [4, 3, 2]s = [4, 3, 2];6    let vie→ "main"w = views[view_index - 1→ "main"];7    let colo→ "blue"r = colors[view_index - 1→ "blue"];8    let coun→ 4t = event_counts[view_index - 1→ 4];9    println!("{view}:{color}:{count}");10}
    outputmain:blue:4
  1. view_index ← 3, views ← ["main", "worker", "io"], colors ← ["blue", "green", "orange"]

    1fn main() {2    let view_inde→ 3x: usize = 3;3    let view→ ["main", "worker", "io"]s = ["main", "worker", "io"];4    let color→ ["blue", "green", "orange"]s = ["blue", "green", "orange"];5    let event_count→ [4, 3, 2]s = [4, 3, 2];6    let vie→ "io"w = views[view_index - 1→ "io"];7    let colo→ "orange"r = colors[view_index - 1→ "orange"];8    let coun→ 2t = event_counts[view_index - 1→ 2];9    println!("{view}:{color}:{count}");10}
    outputio:orange:2
history Each view name stands for one replay history.
stable color The color label is kept beside the selected history.
filtered count The event count helps verify which history is active.