Revision 6ce32902720bacfc81cf7fd94fe95c927bb29daf authored by Diana Savatina on 22 March 2024, 15:51:59 UTC, committed by Diana Savatina on 27 March 2024, 14:16:04 UTC
    - txt, json or both can be selected for output
    - json output contains readiable timestamps
    - max range is configurable to be used for aggregated data

Example:
export PROFILING=yes:txt_and_json:1000:$HOME/Documents/features/reduce_blocktime/local

{ "aggregated": [],
    "recorded":
    [ { "name": "initialization",
        "start": { "wall": "2024-03-20T15:42:38.623-00:00", "cpu": 0.289436 },
        "duration": { "wall": 0.0199749, "cpu": 0.009858 },

> dune exec src/lib_base/unix/test/main.exe --
    --file test_simple_profiler.ml

TEST: test_parse_profiling_config

                config : {} my_dir
            expected : {no_lod}
                empty : {no_lod}

                config : {YES:txt:999:/my/path/here} my_dir
            expected : {terse txt 999 /my/path/here}
                full : {terse txt 999 /my/path/here}
1 parent 04e5744
Raw File
etherlink.mk
# SPDX-FileCopyrightText: 2024 Nomadic Labs <contact@nomadic-labs.com>
# SPDX-FileCopyrightText: 2024 Functori <contact@functori.com>
#
# SPDX-License-Identifier: MIT

KERNELS=evm_kernel.wasm
EVM_DIR=etherlink/kernel_evm
EVM_KERNEL_PREIMAGES=_evm_installer_preimages
EVM_UNSTRIPPED_KERNEL_PREIMAGES=_evm_unstripped_installer_preimages

.PHONY: all
all: build-dev-deps check test build

.PHONY: evm-execution
evm-execution:
	@$(MAKE) -C ${EVM_DIR} build-evm-execution

.PHONY: evm-evaluation-assessor
evm-evaluation-assessor:
	@$(MAKE) -C ${EVM_DIR} build-evm-evaluation
	@cp ${EVM_DIR}/target/release/evm-evaluation $@

evm_kernel_unstripped.wasm::
	@$(MAKE) -C ${EVM_DIR} build
	@cp etherlink/kernel_evm/target/wasm32-unknown-unknown/release/evm_kernel.wasm $@

evm_kernel.wasm:: evm_kernel_unstripped.wasm
	@cp evm_kernel_unstripped.wasm $@
	@wasm-strip $@

.PHONY: kernel_sdk
kernel_sdk:
	@$(MAKE) -f kernels.mk kernel_sdk

evm_installer.wasm:: kernel_sdk evm_kernel.wasm
ifdef EVM_CONFIG
	$(eval CONFIG := --setup-file ${EVM_CONFIG})
endif
	@./smart-rollup-installer get-reveal-installer \
	--upgrade-to evm_kernel.wasm \
	--preimages-dir ${EVM_KERNEL_PREIMAGES} \
	--output $@ \
	${CONFIG}

evm_unstripped_installer.wasm:: kernel_sdk evm_kernel_unstripped.wasm
ifdef EVM_CONFIG
	$(eval CONFIG := --setup-file ${EVM_CONFIG})
endif
	@./smart-rollup-installer get-reveal-installer \
	--upgrade-to evm_kernel_unstripped.wasm \
	--preimages-dir ${EVM_UNSTRIPPED_KERNEL_PREIMAGES} \
	--output $@ \
	${CONFIG}

evm_benchmark_kernel.wasm::
	@${MAKE} -f etherlink.mk \
	EVM_KERNEL_FEATURES=benchmark,debug \
	evm_kernel_unstripped.wasm
	cp evm_kernel_unstripped.wasm $@

evm_installer_dev.wasm::
	@${MAKE} -f etherlink.mk EVM_CONFIG=etherlink/config/dev.yaml evm_installer.wasm

.PHONY: build
build: ${KERNELS} evm-evaluation-assessor evm-execution kernel_sdk

.PHONY: clang-supports-wasm
clang-supports-wasm:
	./scripts/kernels_check_clang.sh

.PHONY: build-dev-deps
build-dev-deps: clang-supports-wasm build-deps
	@$(MAKE) -C ${EVM_DIR} build-dev-deps

.PHONY: build-deps
build-deps:
	@$(MAKE) -C ${EVM_DIR} build-deps

.PHONY: test
test:
	@$(MAKE) -C ${EVM_DIR} test

.PHONY: check
check: build-dev-deps
	@$(MAKE) -C ${EVM_DIR} check

	# Check format of all crates
	@exec scripts/check-format-rust.sh

.PHONY: clean
clean:
	@rm -f ${KERNELS}
	@$(MAKE) -C ${EVM_DIR} clean
	@rm -rf ${EVM_KERNEL_PREIMAGES}

sequencer.wasm::
	@${MAKE} -f etherlink.mk EVM_CONFIG=etherlink/config/sequencer.yaml evm_installer.wasm
	@cp evm_installer.wasm sequencer.wasm
back to top