All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
l2_l1_message_sizes
sample no longer is displayed when its value is zero
- new
build-profile
subcommand, it behaves the same ascairo-profiler <trace_file>
- new flag
--view
that allows to view the built profile (egcairo-profiler <trace_file> --view
orcairo-profiler build-profile <trace_file> --view
) - new
view
subcommand that allows to view previously built profile
- show syscalls as nodes in trace tree rather than samples
- add
--versioned-constants-path
flag to allow passing custom resource cost map - remove
trace-data
crate in favour ofcairo-annotations
- support for
sha256_process_block_syscall
- support for Sierra 1.6.0
--show-inlined-functions
flag to show inlined functions in the profile. Requires Scarb >= 2.7.0-rc.0 and settingunstable-add-statements-functions-debug-info = true
in[cairo]
section of Scarb.toml.
--max-function-stack-trace-depth
allowing to specify maximum depth of the function tree in function level profiling--split-generics
flag allowing to differentiate between non-inlined generics monomorphised with different types
- function level profiling for steps
- optional field and
CallEntryPoint.class_hash
to input structs - optional field
CallEntryPoint.cairo_execution_info
to input structs. The struct contains vm trace and path to a relevant sierra file. It will enable function level profiling soon
CallTrace.nested_calls
type changed fromVec<CallTrace>
toVec<CallTraceNode>
trace_data
library (other tools can use it to integrate withcairo-profiler
)- L2 -> L1 messages
show_details
flag to showcontract_address
andfunction_selector
contract_address
andfunction_selector
are not displayed by default (useshow_details
flag to see them)
- Starknet calls profiling:
- L2 resources: steps, memory holes, builtins, syscalls
- support for human-readable contract and function names
- custom output path support