pub struct PipelineCounters {
pub files_read: u64,
pub source_bytes_read: u64,
pub parse_cache_bytes_read: u64,
pub css_masked_bytes: u64,
pub resolve_specifier_calls: u64,
pub unique_specifiers: u64,
pub oxc_resolve_calls: u64,
pub canonicalize_calls: u64,
}Expand description
Deterministic work counts for one dead-code pipeline run.
Every count is exact for a given project, commit and cache state. It does not depend on the thread count, the machine or the load, so a regression test can compare it with exact equality where a millisecond value is too noisy. A count is zero when its stage did no work, for example the resolver counts on a run that reused the persisted module graph.
Fields§
§files_read: u64Source files whose bytes the parse stage read from disk. A warm cache
hit on file metadata reads no bytes. cache_misses counts the files
that were parsed.
source_bytes_read: u64Bytes of source read from disk by the parse stage.
parse_cache_bytes_read: u64Bytes of the persisted parse cache read from disk. Zero when the run
had no parse cache or used --no-cache.
css_masked_bytes: u64Bytes of stylesheet source that the parse stage passed through the CSS comment mask. The parse masks each stylesheet once, so this value is the size of the parsed stylesheets. A higher value shows a repeated mask. Zero when no stylesheet was parsed.
resolve_specifier_calls: u64Specifier resolutions that the import sites asked for: one for each
static import binding, re-export, require(), import() and module
mock. Internal retries inside the resolver are not counted here.
unique_specifiers: u64Distinct (specifier, from_style) pairs for each importing file,
summed over all files. A ratio of resolve_specifier_calls to this
value above 1.0 shows bindings that share a specifier. The resolver
runs at most once for each of these pairs. A pair that returns before
the resolver, such as an external URL, makes no resolver call.
oxc_resolve_calls: u64Calls into the module resolver, including fallback retries.
canonicalize_calls: u64Path canonicalize calls that import resolution needs: each direct call, plus one for each distinct path that goes through the canonicalize cache. Resolver setup is not counted.
Trait Implementations§
Source§impl Clone for PipelineCounters
impl Clone for PipelineCounters
impl Copy for PipelineCounters
Source§impl Debug for PipelineCounters
impl Debug for PipelineCounters
Source§impl Default for PipelineCounters
impl Default for PipelineCounters
impl Eq for PipelineCounters
Source§impl PartialEq for PipelineCounters
impl PartialEq for PipelineCounters
Source§impl Serialize for PipelineCounters
impl Serialize for PipelineCounters
impl StructuralPartialEq for PipelineCounters
Auto Trait Implementations§
impl Freeze for PipelineCounters
impl RefUnwindSafe for PipelineCounters
impl Send for PipelineCounters
impl Sync for PipelineCounters
impl Unpin for PipelineCounters
impl UnsafeUnpin for PipelineCounters
impl UnwindSafe for PipelineCounters
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.