turbopack_trace_server/
lib.rs

1#![feature(iter_intersperse)]
2#![feature(box_patterns)]
3
4use std::{hash::BuildHasherDefault, path::PathBuf, sync::Arc};
5
6use rustc_hash::FxHasher;
7
8use self::{reader::TraceReader, server::serve, store_container::StoreContainer};
9
10mod bottom_up;
11mod reader;
12mod self_time_tree;
13mod server;
14mod span;
15mod span_bottom_up_ref;
16mod span_graph_ref;
17mod span_ref;
18mod store;
19mod store_container;
20mod timestamp;
21mod u64_empty_string;
22mod u64_string;
23mod viewer;
24
25#[allow(
26    dead_code,
27    reason = "It's actually used, not sure why it is marked as dead code"
28)]
29type FxIndexMap<K, V> = indexmap::IndexMap<K, V, BuildHasherDefault<FxHasher>>;
30
31pub fn start_turbopack_trace_server(path: PathBuf) {
32    let store = Arc::new(StoreContainer::new());
33    let reader = TraceReader::spawn(store.clone(), path);
34
35    serve(store, 5747);
36
37    reader.join().unwrap();
38}