trace() — svelte Function Reference
Architecture documentation for the trace() function in tracing.js from the svelte codebase.
Entity Profile
Dependency Diagram
graph TD 62511000_fb03_0d9c_03d6_7b13cd37ac90["trace()"] 2696eb67_452f_4c32_3e13_ee172192b366["tracing.js"] 62511000_fb03_0d9c_03d6_7b13cd37ac90 -->|defined in| 2696eb67_452f_4c32_3e13_ee172192b366 c55b2607_d45b_c327_8826_7bdf245d80f6["proxy()"] c55b2607_d45b_c327_8826_7bdf245d80f6 -->|calls| 62511000_fb03_0d9c_03d6_7b13cd37ac90 a08b6cc5_af73_1be4_d02f_3113cf8a8305["get()"] a08b6cc5_af73_1be4_d02f_3113cf8a8305 -->|calls| 62511000_fb03_0d9c_03d6_7b13cd37ac90 a814b193_e12a_4037_c3c8_dfd45f3bd0bb["untrack()"] 62511000_fb03_0d9c_03d6_7b13cd37ac90 -->|calls| a814b193_e12a_4037_c3c8_dfd45f3bd0bb 461d1f5f_ffa4_d984_98a4_868566c66f30["effect_tracking()"] 62511000_fb03_0d9c_03d6_7b13cd37ac90 -->|calls| 461d1f5f_ffa4_d984_98a4_868566c66f30 a985ae40_8ef8_7ef2_adad_116fbf97e70c["effect()"] 62511000_fb03_0d9c_03d6_7b13cd37ac90 -->|calls| a985ae40_8ef8_7ef2_adad_116fbf97e70c 70154e87_24eb_dcf5_8315_f0830d757263["log_entry()"] 62511000_fb03_0d9c_03d6_7b13cd37ac90 -->|calls| 70154e87_24eb_dcf5_8315_f0830d757263 style 62511000_fb03_0d9c_03d6_7b13cd37ac90 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/svelte/src/internal/client/dev/tracing.js lines 91–131
export function trace(label, fn) {
var previously_tracing_expressions = tracing_expressions;
try {
tracing_expressions = { entries: new Map(), reaction: active_reaction };
var start = performance.now();
var value = fn();
var time = (performance.now() - start).toFixed(2);
var prefix = untrack(label);
if (!effect_tracking()) {
// eslint-disable-next-line no-console
console.log(`${prefix} %cran outside of an effect (${time}ms)`, 'color: grey');
} else if (tracing_expressions.entries.size === 0) {
// eslint-disable-next-line no-console
console.log(`${prefix} %cno reactive dependencies (${time}ms)`, 'color: grey');
} else {
// eslint-disable-next-line no-console
console.group(`${prefix} %c(${time}ms)`, 'color: grey');
var entries = tracing_expressions.entries;
untrack(() => {
for (const [signal, traces] of entries) {
log_entry(signal, traces);
}
});
tracing_expressions = null;
// eslint-disable-next-line no-console
console.groupEnd();
}
return value;
} finally {
tracing_expressions = previously_tracing_expressions;
}
}
Domain
Subdomains
Source
Frequently Asked Questions
What does trace() do?
trace() is a function in the svelte codebase, defined in packages/svelte/src/internal/client/dev/tracing.js.
Where is trace() defined?
trace() is defined in packages/svelte/src/internal/client/dev/tracing.js at line 91.
What does trace() call?
trace() calls 4 function(s): effect, effect_tracking, log_entry, untrack.
What calls trace()?
trace() is called by 2 function(s): get, proxy.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free