Changelog#
Next release#
Feature#
doc/setup.rst: Put the config fragment in a separate file
doc/setup.rst: Remove manual and in-tree module build doc
doc: Add api_ai_descs.json generation
doc: Set html_baseurl
install_base.sh: Add --install-kernel-build-dependencies
install_base.sh: Avoid sudo invocation when running as root
ipynb/examples/analysis_plots.ipynb: Use polars
ipynb/examples/typical_experiment.ipynb: Convert to polars
lisa-build-asset: Add x86 and ppc64le arch
lisa-buildroot-update-kernel-config: Do not run make command
lisa._assets,kmodules.lisa: Add cpp!() macro
lisa._assets.binaries: Remove pahole
lisa._assets.kmodules.lisa: Add DEFINE_TP_DEPRECATED_EVENT_FEATURE
lisa._assets.kmodules.lisa: Add ERR_PTR() bindings
lisa._assets.kmodules.lisa: Add FromContained trait
lisa._assets.kmodules.lisa: Add JSON schema
lisa._assets.kmodules.lisa: Add MODULE_DESCRIPTION()
lisa._assets.kmodules.lisa: Add PMU feature
lisa._assets.kmodules.lisa: Add Rust runtime
lisa._assets.kmodules.lisa: Add Rust support
lisa._assets.kmodules.lisa: Add equivalent of tracepoint_string()
lisa._assets.kmodules.lisa: Add fs bindings
lisa._assets.kmodules.lisa: Add incomplete_opaque_type!()
lisa._assets.kmodules.lisa: Add parsec module
lisa._assets.kmodules.lisa: Add support for CONFIG_SHADOW_CALL_STACK=y
lisa._assets.kmodules.lisa: Add thermal feature
lisa._assets.kmodules.lisa: Add workqueue bindings
lisa._assets.kmodules.lisa: Allow C type introspection
lisa._assets.kmodules.lisa: Allow JSON metadata in Rust code
lisa._assets.kmodules.lisa: Allow attaching probe to multiple tracepoints
lisa._assets.kmodules.lisa: Allow cargo test
lisa._assets.kmodules.lisa: Allow disabling lockdep
lisa._assets.kmodules.lisa: Allow more flexible lifetime in work items
lisa._assets.kmodules.lisa: Allow sharing lockdep class key
lisa._assets.kmodules.lisa: Avoid unnecessary __typeof__() use in generated code
lisa._assets.kmodules.lisa: Check for exported symbols and types
lisa._assets.kmodules.lisa: Ensure all features are Send + Sync
lisa._assets.kmodules.lisa: Extend type introspection to the entire kernel
lisa._assets.kmodules.lisa: FFI bindings for negative errors
lisa._assets.kmodules.lisa: Flesh out the Rust runtime
lisa._assets.kmodules.lisa: Implement new Python/kmod interface
lisa._assets.kmodules.lisa: Improve FFI bindings
lisa._assets.kmodules.lisa: Log content of module sources
lisa._assets.kmodules.lisa: Make a synthetic vmlinux for in-tree builds
lisa._assets.kmodules.lisa: Move pixel6 feature to Rust
lisa._assets.kmodules.lisa: Reduce event sizes
lisa._assets.kmodules.lisa: Report PMU event state
lisa._assets.kmodules.lisa: Report effective config upon features start
lisa._assets.kmodules.lisa: Rework traceevent bindings
lisa._assets.kmodules.lisa: Rework tracepoints bindings
lisa._assets.kmodules.lisa: Show compilation warning when introspection info is not available
lisa._assets.kmodules.lisa: Support lockdep subclasses
lisa._assets.kmodules.lisa: Support structural pinning for locks
lisa._assets.kmodules.lisa: Use variably-sized strings for event fields
lisa._assets.kmodules.sched_tp: Add "lisa__" prefix to all event names
lisa._assets.kmodules.sched_tp: Add device field to pixel6_emeter
lisa._assets.kmodules.sched_tp: Change subsystem of ftrace events
lisa._assets.kmodules.sched_tp: Extend pixel6_emeter to support all channels
lisa._assets.kmodules: Add kallsyms introspection support
lisa._assets: Add ABI_BINARIES_FOLDER
lisa._btf: Add BTF parser
lisa._cli_tools.lisa_load_kmod: Add --no-enable-all parameter
lisa._cli_tools.lisa_load_kmod: Display events supported by the module
lisa._cli_tools.lisa_load_kmod: Rework legacy features integration
lisa._generic: Add OneOf
lisa._kmod: Add build-env settings
lisa._kmod: Add fuse-overlayfs overlay backend
lisa._kmod: Add util_est_unified trace events
lisa._kmod: Bump Alpine release to 3.21.3
lisa._kmod: Cache build of Rust code
lisa._kmod: Capture dmesg output when loading kmod
lisa._kmod: Decouple configuring features and enabling them
lisa._kmod: Dissociate Alpine chroot install and Rust install
lisa._kmod: Ensure kernel tree is clean
lisa._kmod: Give priority to toolchain that was used for the kernel
lisa._kmod: Improve toolchain detection logging
lisa._kmod: KmodSrc: Separate checksum and checksum_sources
lisa._kmod: LISAFtraceDynamicKmod: Detect modules built in-tree
lisa._kmod: Log KmodSrc file list
lisa._kmod: Refactor toolchain selection
lisa._kmod: Remove CONFIG_CFI_CLANG check in FtraceDynamicKmod
lisa._kmod: Rename LISAFtraceDynamicKmod to LISADynamicKmod
lisa._kmod: Restrict toolchain location when toolchain-path is set
lisa._kmod: Upgrade default alpine version to 3.20
lisa._kmod: Use Alpine 3.18 for the chroot
lisa._kmod: Use rmmod -f if rmmod failed
lisa._typeclass: Implement FromString for Optional[List[str]]
lisa.analysis._pixel: Add "energy" column to df_power_meter()
lisa.analysis._pixel: Allow plotting energy from plot_power_meter()
lisa.analysis.base: Make TraceAnalysisBase.cache() more powerful
lisa.analysis.frequency: Add plot_cpu_frequencies(overutilized=True) parameter
lisa.analysis.frequency: Convert plot_cpu_frequencies() to polars
lisa.analysis.latency: Make LatencyAnalysis.plot_latency_bands() a lot faster
lisa.analysis.load_tracking: Implement unified util_est
lisa.analysis.notebook: Add NotebookAnalysis.df_all_events(error='raise') parameter
lisa.analysis.pixel6: Add GPU to emeter channel names
lisa.analysis.status: Convert StatusAnalysis to polars
lisa.analysis.status: Make StatusAnalysis.plot_overutilized() a lot faster
lisa.analysis.tasks: Convert df_rt_tasks() to polars
lisa.conf: Add DelegatedLevelKeyDesc
lisa.conf: Add FilteredDeferredValue
lisa.conf: Add MultiSrcConf.add_src(inplace=True) parameter
lisa.conf: Add VariadicLevelKeyDesc
lisa.conf: Allow LevelKeyDesc to accept leaf values
lisa.conf: Improve FilteredDeferredValue display
lisa.conf: Support typing.Union
lisa.conf: Use typeguard to validate conf key types
lisa.conf: Use unicode for MultiSrcConf display
lisa.datautils: Add series_update_duplicates()
lisa.datautils: Enable polars in df_refit_index() and df_add_delta()
lisa.datautils: Enable some functions for polars objects
lisa.datautils: Speedup df_refit_index()
lisa.notebook: Add plot_signal(window=...) parameter
lisa.notebook: Allow passing a dataframe mapping to _hv_link_dataframes()
lisa.notebook: Allow polars LazyFrame in plot_signal()
lisa.notebook: Make plot_signal() work with polars.DataFrame
lisa.notebook: Support polars dataframe in _hv_link_dataframes()
lisa.target: Add Target._from_devlib_target()
lisa.target: Add Target.closing()
lisa.target: Allow passing a key to Target.cached_pull()
lisa.target: Allow repeated --conf in TargetConf.from_cli()
lisa.target: Forward kwargs to ctor in Target.from_conf()
lisa.target: Make Target.res_dir lazily created
lisa.target: Split module build conf
lisa.target: Switch Target(lazy_platinfo=...) default to True
lisa.target: Use lisa._generic.OneOf in TargetConf
lisa.tests.staging.utilclamp: Add expected signal plot
lisa.trace: Add Trace(..., namespaces=("lisa", None)) parameter
lisa.trace: Add TraceBase.with_time_offset()
lisa.trace: Add TraceView(process_df=...) parameter
lisa.trace: Add _Trace._parse_all()
lisa.trace: Allow preloading all available events
lisa.trace: Allow str sources for meta events
lisa.trace: Allow trace parsers to return a list of name for each addr in symbols-address
lisa.trace: Do not apply event namespace if the event is already namespaces
lisa.trace: Fall back on DirCache if we cannot create a swap next to the trace path.
lisa.trace: Gather the list of available events from the parser
lisa.trace: Generalize TraceCache to other data type
lisa.trace: Improve MissingTraceEventError display
lisa.trace: Make Trace a context manager
lisa.trace: Make all parser metadata cacheable
lisa.trace: Make metadata writing non-blocking
lisa.trace: Only show closest matches in MissingTraceEventError
lisa.trace: Preload trace metadata
lisa.trace: Simplify the decision to write a dataframe to swap
lisa.trace: Switch to TraceDumpTraceParser by default
lisa.utils.Serializable: Allow !call to take positional args
lisa.utils: Add !untrusted and !include-untrusted YAML tags to Serializable
lisa.utils: Add DirCache(fmt_version=...) parameter
lisa.utils: Add is_link_dead()
lisa.utils: Add mp_spawn_pool()
lisa.utils: Add subprocess_detailed_excep() context manager
lisa.utils: Add typing hint support to get_cls_name()
lisa.utils: Add update_params_from()
lisa.utils: Allow using delegate_getattr() in __getattribute__
lisa.utils: Generalize group_by_value()
lisa.utils: Improve resolve_dotted_name()
lisa.utils: Log the DirCache key and token upon lookup
lisa.utils: Make DirCache(populate) parameter optional
lisa.utils: Make get_sphinx_name() work with modules
lisa.utils: Make set_nested_key() return mapping
lisa.utils: Merge get_cls_name() and get_sphinx_name() into get_obj_name()
lisa.utils: Normalize DirCache keys
lisa.utils: Read LISA_CACHE_HOME env var
lisa.wa.plugins: Add LISA kmod workload-automation plugin
lisa.wlgen.rta: Add WloadPropertyBase.__rmul__()
lisa.wlgen.rta: Use ComposableMultiConcretePropertyBase._ATTRIBUTES types
lisa/_assets/kmodules/lisa: Add version check
lisa/_assets/kmodules/lisa: Assert alignment of Rust allocation
lisa/_assets/kmodules/lisa: Support in-tree builds
lisa: Remove matplotlib dependency
lisa: Rename the module to "lisa" across all workflows
lisa_tests.test_example: Comment-out a return annotation to hide it to exekall
setup.py: Bump required Python to >= 3.8
shell/lisa_shell: Accomodate vscode wonky venv support
tests/test_trace.py: Add trace metadata unit tests
tests: Add BTF tests
tools/batch-rebase: Add topics/*/nr-commits key
tools/buildroot_config: Sync rootfs to devlib busybox & add '-o nice' to ps
tools/exekall: Add run --dependency option
tools/exekall: Handle namespace packages
tools/kmodules: Add helpers for in-tree module builds
tools/lisa-buildroot-update-kernel-config: Apply the LISA module kernel fragment
tools/lisa-make-preview: Rename to lisa-combine-pr and add CLI args
tools/recipes/pahole.recipe: Update pahole recipe
tools/recipes/rt-app.recipe: Update rt-app
tools/trace-parser/trace-tools: Improve pretty printing error display
tools/trace-parser/trace-tools: Make trace.dat support a cargo feature
tools/trace-parser/trace-tools: Recognize uint8_t as binary data
tools/trace-parser/trace-tools: Show event ID in check-header command
tools/trace-parser/traceevent: Simplify bitmap printing
tools/trace-parser: Add Rust trace.dat parser
tools/trace-parser: Allow adjustable row-group size
tools/trace-parser: Allow changing compression on CLI
tools/trace-parser: Allow changing the chunk size on CLI
tools/trace-parser: Only compile-in compression codec that are used
tools/trace-parser: Return impl Iterator rather than impl IntoIterator
tools/trace-parser: Scan the trace for metadata
tools/trace-parser: Support use of kallsyms in C expression
Fix#
.github: Use alternate gitlab clone URL
.gitignore: Ignore devmode_extra_requirements.txt
.gitlab-ci.yml: Avoid upgrading packages after source init_env
.gitlab-ci.yml: Fix github pages recipe
Fix a couple of GroupBy.apply() deprecations
doc/conf.py: Disable version switcher for local builds.
doc/conf.py: Ensure we fetch tags when building doc
doc/conf.py: Workaround ipywidget intersphinx inventory issue
doc/conf.py: prepare() only once per build
doc/contributors_guide.rst: Remove some definition lists
doc/kernel_tests.rst: Fix reStructuredText warning
doc/setup.rst: Remove broken indentation
doc/setup.rst: Remove useless sudo
doc/setup.rst: Update the manual module build documentation
doc/traces: Amend trace_pixel6.dat to avoid dropped events
doc/workloads.rst: Turn definition list into bullet list
doc: Fix caching of rendered notebooks
doc: Fix class name typo
doc: Fix plot caching
doc: Fix warning when copying notebook from cache
doc: Support inheritance for plot methods
doc: Use best effort import of lisa submodules
doc: re-enable Sphinx nitpicky mode
exekall: Add missing f-string prefix
exekall: Fix handling of parametrized classes
exekall: Only consider callables in the packages under test
install_base.sh: Add copyright statement
install_base.sh: Add pahole to --kernel-build-dependencies
install_base.sh: Address shellcheck findings
install_base.sh: Fix default value of devlib parameters
install_base.sh: Fix pahole dependency
install_base.sh: Fixup devlib parameter handling
install_base.sh: Offload Android SDK/tools installation to devlib
install_base.sh: Remove a useless print
install_base.sh: follow symlink when trying determining JAVA_HOME
ipynb/examples/typical_experiment.ipynb: Refresh doc URLs
ipynb/tests/synthetics_example.ipynb: Fix use of deprecated APIs
ipynb: Ensure all example notebooks have a title
lisa._assets.binaries: Update pahole
lisa._assets.binaries: Update trace-cmd
lisa._assets.kmodules.kconfig_fragment.config: Add CONFIG_FTRACE=y
lisa._assets.kmodules.lisa: Adapt to new locations of some macros
lisa._assets.kmodules.lisa: Add include guard to private_types.h
lisa._assets.kmodules.lisa: Allow module-specific make variables
lisa._assets.kmodules.lisa: Check return value of kernel_write()
lisa._assets.kmodules.lisa: Compat with old CFI
lisa._assets.kmodules.lisa: Compat with old kernels APIs
lisa._assets.kmodules.lisa: Create temp file in $(MODULE_OBJ)
lisa._assets.kmodules.lisa: Do not set a global allocator when running tests
lisa._assets.kmodules.lisa: Ensure warnings dont break build
lisa._assets.kmodules.lisa: Fail module init if unknown feature is requested
lisa._assets.kmodules.lisa: Fix Rust cconstant!() for 0 value
lisa._assets.kmodules.lisa: Fix and improve parsec.h
lisa._assets.kmodules.lisa: Fix conditional presence of lisa__sched_cpu_capacity.capacity_orig field
lisa._assets.kmodules.lisa: Fix exported symbols detection
lisa._assets.kmodules.lisa: Fix generated C shims header usage
lisa._assets.kmodules.lisa: Fix introspect_header.py
lisa._assets.kmodules.lisa: Fix lisa__sched_overutilized.overutilized field type
lisa._assets.kmodules.lisa: Fix module checksum
lisa._assets.kmodules.lisa: Fix module compilation on 6.13 kernel
lisa._assets.kmodules.lisa: Fix pixel6 emeter sampling rate
lisa._assets.kmodules.lisa: Fix race condition in Makefile
lisa._assets.kmodules.lisa: Fix rq->uclamp guards
lisa._assets.kmodules.lisa: Fix sha1sum invocation
lisa._assets.kmodules.lisa: Harden current CPU capacity computation
lisa._assets.kmodules.lisa: Load all features by default
lisa._assets.kmodules.lisa: Make error location accurate in Rust's cfunc bodies
lisa._assets.kmodules.lisa: Make introspect_header.py a no-op when imported
lisa._assets.kmodules.lisa: Makefile: Fix grouped rule
lisa._assets.kmodules.lisa: Makefile: Fix objcopy and objdump invocations
lisa._assets.kmodules.lisa: Makefile: Workaround llvm-objdump and llvm-objcopy bugs
lisa._assets.kmodules.lisa: Pass mod to filp_open()
lisa._assets.kmodules.lisa: Refcount explicit feature enabling
lisa._assets.kmodules.lisa: Rename CFS_UCLAMP into RQ_UCLAMP
lisa._assets.kmodules.lisa: Rename feature event__pixel6_emeter to event__lisa__pixel6_emeter
lisa._assets.kmodules.lisa: Rename some helpers to remove lisa_ prefix
lisa._assets.kmodules.lisa: Replace strlcpy() with strscpy()
lisa._assets.kmodules.lisa: Replace synthetic trace event bindings with TRACE_EVENT()
lisa._assets.kmodules.lisa: Rework wq bindings
lisa._assets.kmodules.lisa: Shield against KBUILD_ABS_SRCTREE
lisa._assets.kmodules.lisa: Shield against missing arch_freq_scale
lisa._assets.kmodules.lisa: Support Linux kernel >= v6.16
lisa._assets.kmodules.lisa: Support older linkers
lisa._assets.kmodules.lisa: Update tracepoint probes prototype
lisa._assets.kmodules.lisa: Use const char* for &CStr binding
lisa._assets.kmodules.lisa: Use introspect_header.py to avoid type name clash
lisa._assets.kmodules.lisa: Use kallsyms symbol address
lisa._assets.kmodules.lisa: Workaround broken ld.lld
lisa._assets.kmodules.lisa: Workaround llvm-nm bug
lisa._assets.kmodules: Rename lisa__pixel6_emeter feature to event__lisa__pixel6_emeter
lisa._btf: Ensure padding members in nested anonymous struct/union have unique names
lisa._btf: Ensure stable layout for structs from BTF
lisa._btf: Ensure the BTF types are dumped as deeply as possible when forward decls are used
lisa._btf: Fix alignment inference
lisa._btf: Fix anonymous struct/union specifiers
lisa._btf: Fix comment
lisa._btf: Fix nested anonymous struct/union dumping
lisa._btf: Fix renaming of BTFForwardDecl
lisa._cli_tools.lisa_polars_pkg: Resist coredumps
lisa._doc.helpers: Fix "exec" directive
lisa._doc.helpers: Fix analysis method listings
lisa._doc.helpers: Fix dataframe analysis listing
lisa._doc.helpers: Fix regex pattern
lisa._doc.helpers: Improve AI API index
lisa._git: Default to including binary files in patches
lisa._git: Fix get_uncommited_patch() output decoding
lisa._git: Fix get_uncommited_patch(path=...)
lisa._git: Rename get_uncommited_patch() to get_uncommitted_patch
lisa._git: Use core.checkStat=minimal
lisa._kmod: Add missing "perl" chroot kernel build dependency
lisa._kmod: Add more autodetected toolchain triplets
lisa._kmod: Add overlay-backend to kernel_overlays DirCache key
lisa._kmod: Add x86 32bit support
lisa._kmod: Allow aarch64-none-elf- toolchain autodetection
lisa._kmod: Allow more module source layout flexbility
lisa._kmod: Autodetect arm-none-eabi- toolchain for armv7
lisa._kmod: Avoid conflict in kernel tree cache keys
lisa._kmod: Avoid handling TargetStableCalledProcessError
lisa._kmod: Avoid raising exception when target ABI is unknown
lisa._kmod: Cache compilation on cc --version
lisa._kmod: Check for file availibity rather than kernel config
lisa._kmod: Cleanly disconnect from Target in subprocess
lisa._kmod: Deal with tarfile API change
lisa._kmod: Do not download kernel.org tarball for rc kernels
lisa._kmod: Do not include __pycache__ in kmodule sources
lisa._kmod: Do not install gcc explicitly on clang Alpine chroot
lisa._kmod: Do not raise if a tested compiler binary does not exist
lisa._kmod: Do not use module symbols from kallsyms
lisa._kmod: Do not warn based on an idea of the "perfect toolchain".
lisa._kmod: Ensure all module sources are checksumed
lisa._kmod: Ensure cross_compiles list is always populated
lisa._kmod: Ensure we select clang-XYZ over clang on Alpine
lisa._kmod: Filter kallsyms from lisa module symbols
lisa._kmod: Fix Alpine build env when manual package list is selected.
lisa._kmod: Fix Alpine clang package name
lisa._kmod: Fix an error path in CC inference
lisa._kmod: Fix atomic headers sha1 fixup
lisa._kmod: Fix cargo caching for Alpine build
lisa._kmod: Fix overlayfs mount on some hosts
lisa._kmod: Fix pre-existing .ko loading
lisa._kmod: Fix pre-installed module detection
lisa._kmod: Fix preinstalled kmod path when base path exists
lisa._kmod: Fix toolchain-path support
lisa._kmod: Fix typo in an error message
lisa._kmod: Fix use of arch vs abi
lisa._kmod: Fixup Alpine chroot binary names
lisa._kmod: Forbid empty toolchain-path
lisa._kmod: Force tools when LLVM=-N is used
lisa._kmod: Give priority to bare "clang" over "clang-XYZ"
lisa._kmod: Harden against KCONFIG_CONFIG != .config
lisa._kmod: Honor LLVM=-XXX in alpine build env
lisa._kmod: Make it clear that some module setup are unsupported
lisa._kmod: Make toolchain selection reproducible
lisa._kmod: Propagate TMPDIR to subprocesses
lisa._kmod: Rationalize the Alpine chroot arch selection
lisa._kmod: Remove duplicates in cross_compiles list
lisa._kmod: Repair atomic headers fixup
lisa._kmod: Rework pre-installed module detection
lisa._kmod: Sanitize CC and make vars handling
lisa._kmod: Support paths for CC make var
lisa._kmod: Use busybox insmod
lisa._kmod: Use kernel version info when choosing alpine toolchain
lisa._kmod: Use rust spec as part of Alpine chroot cache key
lisa._kmod: Use target.pull(as_root=True) when necessary
lisa._kmod: Use versioned LLVM tools in Alpine
lisa._kmod: Warn about non ideal toolchain in more situations
lisa._kmod: Workaround new rustup behavior
lisa._typeclass: Fix BuiltinFromStringInstance
lisa._typeclass: Make all instances private
lisa._unshare: Ensure logging is setup before unpickling function
lisa.analysi._proxy: Fix _AnalysisPreset unpickling
lisa.analysis.base: Disable undo/redo bokeh tools
lisa.analysis.base: Fix TraceAnalysisBase.cache()
lisa.analysis.base: Fix broken import
lisa.analysis.base: Fix pandas index inference
lisa.analysis.base: Set default options for all holoviews item that accept it
lisa.analysis.base: Set plot height with output="ui"
lisa.analysis.rta: Add missing pandas DataFrame index name
lisa.analysis.status: Fix use of pl.Expr.shift(fill_value=...)
lisa.analysis.tasks: Address polars warning
lisa.analysis.tasks: Fix df_rt_tasks(min_prio=...) default value
lisa.analysis.tasks: Fix plot_task_residency()
lisa.analysis.tasks: Fix plot_tasks_activation()
lisa.analysis.tasks: Fix plot_tasks_activation() duty cycle and duration display
lisa.analysis.tasks: Fix stringify_task_state_series()
lisa.analysis.tasks: Handle correct exception in get_task_ids()
lisa.analysis.tasks: Replace task_rename pid field with __pid
lisa.analysis.tasks: Support polars 1.15.0
lisa.analysis: Add missing polars/pandas conversion
lisa.analysis: Do not force the first column to be the index on polars -> pandas conversions
lisa.analysis: Fix NO_INDEX usage
lisa.conf: Deal with import errors more cleanly.
lisa.conf: Fix LevelKeyDesc.get_help() reST output
lisa.conf: Fix YAML comments in SimpleMultiSrcConf.to_yaml_map()
lisa.conf: Fix an exception message
lisa.conf: Forward memo in __deepcopy__
lisa.conf: Remove debug logging when getting/setting a key
lisa.datautils: Convert all polars Duration to float in pandas
lisa.datautils: Fix _pandas_find_unique_bool_vector()
lisa.datautils: Fix _polars_window_signals compress_init=True
lisa.datautils: Fix pandas/polars dataframe conversion index handling
lisa.datautils: Update for pandas 2.1.0
lisa.energy_model: Add missing events decorator to EnergyModel.estimate_from_trace
lisa.energy_model: Handle recent pandas
lisa.notebook: Allow passing no dataframes in _hv_link_dataframes()
lisa.pelt: Fix plet_settling_time()
lisa.platforms.platinfo: Handle better unknown cpu-capacities/writeable
lisa.target: Add missing f-string
lisa.target: Allow mount to work on Android
lisa.target: Fix adb-over-ip connection
lisa.target: Improve Target.from_cli() --conf handling
lisa.target: Resolve known_hosts path when strict_host_check=True
lisa.tests.base: Fix FtraceTestBundle.trace events namespaces
lisa.tests.base: Iterate over Categorical Series rather than .apply()
lisa.tests.base: Use non-deprecated datetime functions
lisa.tests.staging.utilclamp: Avoid overlapping CPU capacities
lisa.tests.staging.utilclamp: Choose uclamp so that freq is in the middle of a band
lisa.tests.staging.utilclamp: Fix UtilClamp expected frequency
lisa.tests.staging.utilclamp: Fix debug plot
lisa.tests.staging.utilclamp: Fix uclamp value type
lisa.tests.starting.utilclamp: Use square brackets for df column access
lisa.trace: Allow best-effort swap writing
lisa.trace: Allow parsers to return LazyFrames based on scans of files not in the cache
lisa.trace: Avoid error log when dataframe cannot be serialized to cache
lisa.trace: Avoid errors when dropping non-existent columns
lisa.trace: Bind "path" in TraceParserBase.__init__()
lisa.trace: Compress cached parquet files
lisa.trace: Do not query parser if available events set is known
lisa.trace: Do not use pl.Expr.str on Categorical
lisa.trace: Ensure MissingTraceEventError has accurate event info
lisa.trace: Ensure Trace.window has a (Timestamp, Timestamp) type
lisa.trace: Ensure TxtTraceParser.from_data(events=None) works
lisa.trace: Ensure _TraceProxy has a __deallocator attribute
lisa.trace: Ensure the dataframe cache preserves the index column
lisa.trace: Fix FtraceCollector error when non-existant event is required
lisa.trace: Fix FtraceCollector(events=['print'])
lisa.trace: Fix FtraceConf merging
lisa.trace: Fix FtraceConf.add_merged_src()
lisa.trace: Fix FtraceConf.merge()
lisa.trace: Fix MockTraceParser time range inference
lisa.trace: Fix Trace attributes init order
lisa.trace: Fix Trace data swap size estimation
lisa.trace: Fix TraceEventCheckerBase.check_events() DynamicTraceEventChecker handling
lisa.trace: Fix TraceEventCheckerBase.check_events() with namespaces
lisa.trace: Fix caching for Trace(normalize_time=...) views
lisa.trace: Fix cpus-count metadata on trace-cmd parser
lisa.trace: Fix dataframe prefiltering for userspace ftrace events
lisa.trace: Fix meta event availability detection
lisa.trace: Fix parquet loading from cache
lisa.trace: Fix parser identification
lisa.trace: Fix parser metadata handling
lisa.trace: Fix parser parquet stealing
lisa.trace: Fix polars LazyFrame caching
lisa.trace: Fix polars exception import
lisa.trace: Fix polars scan path handling
lisa.trace: Fix support for Polars 1.32
lisa.trace: Fix task comm extraction
lisa.trace: Fix text trace parser regex
lisa.trace: Fix trace-id metadata
lisa.trace: Hide polars streaming engine DeprecationWarning
lisa.trace: Hide warnings related to LazyFrame JSON serialization
lisa.trace: Improve missing optional events FtraceCollector reporting
lisa.trace: Only update metadata JSON if necessary
lisa.trace: Reduce FtraceConf.add_merged_src() debug output
lisa.trace: Remove dataframe columns that should not be exposed
lisa.trace: Rename FtraceConf event-namespaces key
lisa.trace: Run trace events discovery as root
lisa.trace: Support polars 1.2.0
lisa.trace: Support polars 1.7.0
lisa.trace: Treat DynamicTraceEventChecker as optional in FtraceCollector
lisa.trace: Update Trace.df_event() docstring
lisa.utils.Serializable: Only allow custom YAML tags in unsafe mode.
lisa.utils: Avoid abbreviating code in get_obj_name()
lisa.utils: Avoid using tempfile.TemporaryDirectory(delete) parameter
lisa.utils: Fix DirCache temporary cleanup
lisa.utils: Fix YAML constructor handling
lisa.utils: Fix deprecate() decorator handling of import errors
lisa.utils: Fix inspect.getsource() for newtype() in Python 3.13
lisa.utils: Fix optional_kwargs __doc__ forwarding
lisa.utils: Hide warnings in import_all_submodules()
lisa.utils: Make memoized decorator thread-safe
lisa.utils: Stop using ruamel.yaml.YAML(typ='unsafe')
lisa.utils: Strip whitespaces in get_short_doc()
lisa.version: Check if we are inside a git repository
lisa.version: Make VERSION_TOKEN only depend on lisa sources
lisa.version: Take binary files diff into account
lisa.wa.plugins._kmod: Fix lisa-kmod instrument
lisa.wa: Fix WATraceCollector.traces
lisa.wlgen.rta: Fix ComposableMultiConcretePropertyBase._ATTRIBUTES type hint
lisa.wlgen.rta: Fix PeriodicWload(run_wload=...) expected type
lisa.wlgen.rta: Fix PeriodicWload.unscaled_duty_cycle_pct()
lisa.wlgen.rta: Fix docstring of PeriodicWload
lisa.wlgen.rta: Fix double self parameter passing
lisa.wlgen.rta: Fix rt-app calibration debug logging
lisa/_assets//binaries/*/rt-app: Update rt-app
lisa/_assets/kmodules/lisa: Add symbol namespace for kernel_read()
lisa/_assets/kmodules/lisa: Fix typo __worqueue
lisa/analysis: Customize power rails for Pixel-9
lisa: Add pyproject.toml
lisa: Address some pandas FutureWarning
lisa: Ensure DirCache always has fmt_version set
lisa: Fix __dir__ implementations
lisa: Fix pl.LazyFrame.rename() uses
lisa: Fix use of inspect.BoundArguments.arguments
lisa: Remove block quote from docstrings
lisa: Remove dependency on nest_asyncio
lisa: Remove use of pandas.Series.fillna(method=...)
lisa: Replace np.NaN with np.nan
lisa: Shield __getattr__() implementations from infinite recursion
lisa: Silence polars fork warning
lisa: Upgrade code for polars 1.0.0
lisa: Use typing.Sequence instead of typing.List
lsia.trace: Fix events-namespaces FtraceConf key type
shell/lisa_shell: Avoid error if ANDROID_HOME does not exist
shell/lisa_shell: Better report which virtual env is disabled
shell/lisa_shell: Create git hooks dir
shell/lisa_shell: Fix error message when tkinter is not installed
shell/lisa_shell: Fix hook install in git worktrees
shell/lisa_shell: Propagate pip errors in lisa-install
shell: Fix git hook install location
target_conf.yml: analysis: Fix trivial typos
tests: Fix task PID/comm mapping unit test
tests: Fix test_get_task_id
tools/batch-rebase: Allow any branch name
tools/batch-rebase: Always try YAML load and display an error if ruamel.yaml is not installed
tools/batch-rebase: Cherry pick commits in correct order
tools/batch-rebase: Fix cherry picking in some scenarios
tools/batch-rebase: Fix content of .batch-rebase-state when a conflict occured
tools/batch-rebase: Improve error message when parsing configuration
tools/batch-rebase: Support Path in json dump
tools/batch-rebase: Use typing instead of lisa._generic
tools/batch-rebase: require subcommand in CLI
tools/bisector: Fix ruamel usage of DEFAULT_MAPPING_TAG
tools/buildroot_config: Remove deprecated config
tools/check-setuppy: Allow running without LISA_HOME env var set
tools/exekall: Allow imported modules to manipulate sys.modules
tools/exekall: Do not consider inherited methods defined outside of the package set
tools/exekall: Fix use of Path as str
tools/exekall: Restrict selected callables
tools/lisa-build-asset: Assume BROKEN_CROSS_COMPILATION=1
tools/lisa-build-asset: Avoid emptying --build-dir
tools/lisa-build-asset: Fix --build-dir and TMPDIR handling
tools/lisa-build-asset: Try harder to remove bind mounts
tools/lisa-build-asset: Use lazy umount
tools/lisa-combine-gitlab-mr: Use merge request reference
tools/lisa-combine-pr: Use logging module
tools/lisa-make-preview: Fix case where there is no preview PR
tools/lisa-make-preview: Use branch sha1 for remote name
tools/lisa-plot: Ensure we never silently consume an exception
tools/lisa-version: Make lisa-version work regardless of current working directory
tools/recipes/busybox.recipe: Fix insmod applet
tools/recipes/pahole.manifest.yaml: Add typedef fix
tools/recipes/rt-app.manifest.yaml: Rebase topics and fix uclamp-reset range
tools/recipes/trace-cmd.recipe: Avoid building shared object
tools/recipes/trace-cmd.recipe: Enable zlib
tools/trace-parser/trace-tools: Fix parquet conversion
tools/trace-parser/trace-tools: Fix trace_printk() schema inference
tools/trace-parser/trace-tools: Limit amount of reported errors
tools/trace-parser/traceevent: Make attempt to build a decoder for some type an error
tools/trace-parser: Allow more than one symbol to share an address
tools/trace-parser: Allow trailing whitespaces in trace_printk events
tools/trace-parser: Better error handling for truncated files
tools/trace-parser: Display more precise error in some cases
tools/trace-parser: Do not emit event info key if event did not occur
tools/trace-parser: Fix %zu, %zd and %zx support
tools/trace-parser: Fix __print_flags() display
tools/trace-parser: Fix event selection
tools/trace-parser: Fix parsing of __typeof__(<type>)
tools/trace-parser: Fix symbol size display
tools/trace-parser: Propagate writer thread error
tools/trace-parser: Relax kallsyms filter
tools/trace-parser: Remove double indirections
tools: Add missing __init__.py
tools: Remove main() call
Breaking change#
install_base.sh: Remove --install-bisector-dbus
lisa._assets.kmodules.lisa: Avoid unnecessary string copies
lisa._kmod: Do not uninstall() kmod before installing it
lisa.datautils: Disallow df_window(clip_window=False)
lisa.datautils: Enforce string for column names in converted dataframes
lisa.datautils: Remove df_refit_index(method=...) parameter
lisa.notebook: Do not initialize holoviews
lisa.trace: Convert TxtTraceParserBase internals to polars
lisa.trace: Make TraceCache private
lisa.trace: Make event namespaces simple prefixes
lisa.trace: Move event sanitization to parser classes
lisa.trace: Remove Trace.df_event(raw=...) parameter
lisa.trace: Remove TrappyTraceParser
lisa.trace: Remove cpumask sanitization
lisa.trace: Remove optional field support in meta events
lisa.trace: Remove trace_printk@ meta event bputs support
lisa.trace: Use Categorical for polars LazyFrame string columns
lisa.wa_results_collector: Remove the module
lisa: Move test application code into its own package
lisa: Remove matplotlib options for holoviews plots
lisa: Remove support for Vagrant
lisa_tests: Split off lisa_tests
v3.1.0#
Feature#
lisa._assets.kmodules.sched_tp: Add Pixel 6 integrated energy meter support
lisa._assets: Make HOST_PATH depend on LISA_USE_SYSTEM_BIN
lisa._kmod: Add DynamicKmod.mod_name property
lisa._kmod: Add a from_proc_config() kernel tree loader
lisa._kmod: Bump Alpine to v3.16
lisa._kmod: Bump to Alpine v3.17.3
lisa._kmod: Explicitly pass module/kernel path when building module
lisa._kmod: Improve kernel tree preparation exception reporting
lisa._kmod: Update Alpine to v3.17.1
lisa.analysis.latency: Include CPUs in latency DFs
lisa.analysis: Add Pixel 6 analysis
lisa.notebook: Add dimension parameter to plot_signal
lisa.target: Add Target.from_custom_cli(description=...)
lisa.target: Expose devlib's Target(max_async=...)
lisa.tests.base.RTATestBundle: Add rtapp_profile_kwargs ctor param
lisa.trace: Allow CollectorBase.get_data(path=None)
lisa.trace: Collect metadata when using concurrent parsing
lisa.trace: Improve FtraceCollector docstring
lisa.trace: Improve FtraceCollector kmod build error error reporting
lisa.trace: Use lisa._assets.get_bin() for trace-cmd
lisa.utils: Add LazyMapping
lisa.utils: Add destroyablecontextmanager
lisa.utils: Add ignore_exceps() context manager combinator
lisa.wa: Expose jobs, outputs in WAOutput & traces in WATraceCollector
lisa.wlgen.rta: Add RTA(log_level=None) parameter
shell/lisa_shell: Allow lisa-install to upgrade venv
tools/check-setuppy: Allow watching multiple patterns
tools/exekall: Support PEP 673 Self return annotation
tools/lisa-whatsnew: Add lisa-whatsnew
tools/recipes/rt-app.recipe: Update versions
tools/recipes/trace-cmd.recipe: Update to trace-cmd 3.1.5
tools/recipes/trace-cmd.recipe: Update to trace-cmd to use libtraceevent 1.7.0
tools/recipes: Add rt-app.manifest.yaml
Fix#
.gitignore: Add cache/ and kernel module artifacts
doc/conf.py: Fix holoviews intersphinx inventory location
install_base.sh: Do not install selenium geckodriver on recent Ubuntu
ipynb: Update hv.extension() calls
lisa.__init__: Ignore pending deprecation warnings in matplotlib
lisa._assets.kmodules.sched_tp: Add MODULE_IMPORT_NS()
lisa._assets.kmodules.sched_tp: Fix symbol namespace extraction
lisa._git: Avoid warning when git notes are not available
lisa._kmod: Enable KBUILD_MODPOST_WARN=1
lisa._kmod: Fix try_loaders() exception handling
lisa._kmod: Ignore non-existing include/linux/atomic
lisa._kmod: Workaround broken atomic headers in IKHEADERS
lisa.analysis.pixel6: Fix df_power_meter() with pandas 2.0.0
lisa.analysis.rta: Silence pandas warning
lisa.analysis.tasks: Fix plot_tasks_activation() with trace window
lisa.analysis: Fix doc comments relating to task_states
lisa.analysis: Fix lisa.trace.Trace doc links
lisa.conf: Avoid kwargs in exceptions
lisa.datautils: Fix :type ...: in docstrings
lisa.datautils: Speedup and fix df_update_duplicates()
lisa.monad: Fix module docstring
lisa.notebook: Disable pagination in Tabulator
lisa.notebook: Fix plot UI table scroll
lisa.target: Fix TargetConf max-async key type
lisa.target: Fix max_async=None
lisa.target: Fix nargs=argparse.REMAINDER in Target.from_custom_cli()
lisa.target: Pass max_async to devlib Target
lisa.target: Restore compat with non-async devlib
lisa.tests.scheduler.load_tracking: Add missing noise check
lisa.tests.scheduler.load_tracking: Fix noise check usage
lisa.tests.scheduler.sanity: Fix use of collector
lisa.trace: Add compatiblity with recent trace-cmd
lisa.trace: Avoid broken trace in FtraceCollector.get_data()
lisa.trace: Avoid nested multiprocessing.Pool
lisa.trace: Ensure FtraceCollector context manager is reusable
lisa.trace: Fix HRTxtTraceParser regex parsing
lisa.trace: Fix Trace.from_target() with kernel module
lisa.trace: Fix TxtEventParser regex for named ring buffer
lisa.trace: Fix automatic Trace parser detection
lisa.trace: Fix cpuhp_enter fun field dtype
lisa.trace: Preserve time-range metadata in TxtTraceParserBase
lisa.trace: Update HRTxtTraceParser skeleton regex
lisa.trace: Use SysTraceParser.from_html() for .html files
lisa.utils: Fix PartialInit.__getattribute__
lisa.utils: Fix destroyablecontextmanager exception handling
lisa.wa: Fix caching of _get_job_df()
lisa.wa: Fix getting jobs in WACollectorBase
lisa.wlgen.sysbench: Fix docstring
lisa: Avoid using DataFrame.iteritems()
lisa: Fix iteration over DataFrame.groupby([x])
lisa: Fix pandas warnings
lisa: Specify DataFrame/Series.groupby(group_keys=False)
lisa: Use lisa.utils.destroyablecontextmanager
pytest.ini: Ignore deprecation warnings comming from devlib
pytest.ini: Ignore deprecation warnings in dependencies
pytest.ini: Ignore some Jupyterlab internal deprecation warnings
tools/check-setuppy: Fix CLI path detection
tools/check-setuppy: Watch git hooks
tools/exekall/exekall/engine.py: Fix support of typing.Self
tools/exekall: Allow class without __init__
Breaking change#
lisa.analysis.pixel6: Change df_power_meter() "value" column to "power"
v3.0.1#
Fix#
doc: Set Sphinx language
exekall.engine: Fix FrozenExprVal.callable_ property
lisa._assets.kmodules.sched_tp: Fix Makefile vmlinux.h dependency
lisa._doc.helpers: Escape changelog entries
v3.0.0#
Feature#
.github: Add Python 3.10 workflow
doc/changes.rst: Add Versioning section
doc/changes.rst: Document instance attributes stability
doc/changes.rst: Document release process
doc/setup.rst: Add paragraph on Python version requirement.
lisa-version: Display LISA python package version
lisa._assets.kmodules.sched_tp: Do not fail module load when no feature was manually selected
lisa._assets.kmodules.sched_tp: Refactor kernel module
lisa._assets: Add HOST_PATH
lisa._doc.helpers: Make use of refs/notes/changelog
lisa._git: Add find_root()
lisa._git: Allow get_commit_message to display notes
lisa._kmod: Add FtraceDynamicKmod
lisa._kmod: Add LISAFtraceDynamicKmod
lisa._kmod: Allow passing parameters to insmod
lisa._kmod: Introduce dynamic kernel module building
lisa._kmod: Rename lisa kernel module to "lisa"
lisa._kmod: Speedup copy overlay backend
lisa._kmod: Use LLVM make var to infer CC
lisa._unshare: Add lisa._unshare module
lisa.fuzz: Add lisa.fuzz module
lisa.monad: Replace the State monad implementation
lisa.notebook: Use Tabulator panel widget
lisa.target: Add Target.cached_pull()
lisa.target: Add Target.get_kmod()
lisa.target: Allow pickling Target
lisa.tests.scheduler.eas_behaviour: Frequency based duty cycle
lisa.trace: Add DynamicTraceEventChecker
lisa.trace: Add TraceEventCheckerBase.check_events(..., optional=False)
lisa.trace: Add modules/auto-load key to FtraceConf
lisa.trace: Allow TraceEventCheckerBase for FtraceCollector events
lisa.trace: Allow TraceEventCheckerBase in Trace(events=...)
lisa.trace: Hook LISAFtraceDynamicKmod into FtraceCollector
lisa.trace: Log missing optional events in FtraceCollector
lisa.trace: Make TraceEventCheckerBase a Sequence
lisa.trace: Make kmod build failure an error when possible
lisa.trace: Try building the kmod for optional events
lisa.trace: Use kmod features in FtraceCollector._get_kmods()
lisa.utils: Add DirCache class
lisa.utils: Add LISA_CACHE_HOME
lisa.utils: Add LISA_HOST_ABI
lisa.utils: Add SerializeViaConstructor class
lisa.utils: Add chain_cm() helper
lisa.utils: Add instancemethod decorator
lisa.utils: Add subprocess_log
lisa.version: Allow overriding VERSION_TOKEN
lisa.wlgen.rta: Add RTAPhaseBase.get_rtapp_repr(no_force_default_keys=None)
lisa.wlgen.rta: Add async API
lisa.wlgen.rta: Add leaf_precedence()
tools/batch-rebase: Make "name" topic key optional
tools/batch-rebase: Make "rr-cache" key optional
tools/recipes/pahole.recipe: Add pahole binary to LISA
tools/recipes/pahole: Add the batch-rebase conf and update it
Fix#
.github: Add read permissions to debugfs
bisector: Do not return None in Report.load()
bisector: Use the new location for exekall's ExceptionPickler
doc/conf.py: Fix matplotlib intersphinx inventory URL
doc/setup.rst: Fix manual kmod setup instruction
doc: Fix broken matplotlib docstring xref
doc: Ignore some broken references
exekall._utils: Fix ExceptionPickler memory leak
exekall: Add missing import
exekall: Fix standalone module handling passed on CLI
exekall: Set package attribute when importing submodule
external/subtrees.conf: Revert to devlib master
lisa-doc-build: Handle change in argparse --help output
lisa-version: Fix python version display
lisa.__init__: Ignore spurious CryptographyDeprecationWarning
lisa._assets.binaries: Update rt-app
lisa._assets.kmodules.sched_tp: Fix failed feature dependency
lisa._assets.kmodules.sched_tp: tp.h: Fix tp feature init
lisa._assets.kmodules: Add missing static in sched_helpers.h
lisa._kmod: Avoid broken split .BTF section in .ko
lisa._kmod: Control env vars
lisa._kmod: Fix DynamicKmod._do_compile()
lisa._kmod: Fix KernelTree docstring
lisa._kmod: Fix PATH in Alpine chroot
lisa._kmod: Fix copy overlay backend
lisa._kmod: Fix misleading log
lisa._kmod: Fix module with subfolders build
lisa._kmod: Fix undefined variable in DynamicKmod
lisa._kmod: Forward kwargs in KmodSrc.from_path()
lisa._kmod: Handle non-str make variables
lisa._kmod: Propagate overlay_backend to _make_chroot()
lisa.analysis.frequency: Add missing type annotation for plot_peripheral_frequency
lisa.analysis.frequency: Fix df_peripheral_clock_effective_rate
lisa.analysis.tasks: Best effort in plot_tasks_activations()
lisa.analysis.tasks: Fix plot_tasks_activation()
lisa.conf: Allow empty levels in YAML
lisa.datautils: Add SignalDesc for clk_* events
lisa.datautils: Avoid deprecated use of Index.__and__
lisa.datautils: Replace pd.Float64Index by pd.Index
lisa.energy_model: Fix estimate_from_trace
lisa.fuzz: Update docstring
lisa.stats: Fix plot_stats() X scale
lisa.target: Allow None for target-conf/kernel/src config
lisa.target: Fix tools install
lisa.target: Remove adb rooting attempt
lisa.tests.base: Add OptionalFtraceTestBundle
lisa.tests.base: Fix FtraceTestBundle docstring
lisa.tests.base: Fix as_root value passed to wload
lisa.tests.base: Use Series.str.replace(regex=False)
lisa.tests.hotplug: Fix HotplugRollback MRO
lisa.tests.scheduler.eas_behaviour: Use a custom RTAPhase Buffer
lisa.trace: Add TraceEventCheckerBase.__bool__
lisa.trace: De-hardcode tracefs location
lisa.trace: Ensure Trace.trace_path is a string or None
lisa.trace: Fix parsing of sched_pelt_se/sched_util_est_se
lisa.trace: Fix parsing of thermal events
lisa.utils: Fix PartialInit param binding
lisa.utils: Fix SimpleHash.__eq__
lisa.utils: Fix sig_bind()
lisa.utils: Speedup Loggable.get_logger()
lisa.wlgen.rta: Cope with broken ulimit -Hr
lisa.wlgen.rta: Fix PlaceHolderValue.__str__()
lisa.wlgen.rta: Fix recursive calibration
lisa.wlgen.rta: Fix with_props() examples
lisa.wlgen.rta: Use a separate result folder for each CPU calibration workload
lisa/_assets/kmodules/sched_tp/Makefile: Do not use pahole --forward_decl
lisa: Ban DataFrame.append
lisa: Fix uses of Index.get_indexer()
lisa: Remove deprecated use of pandas.Index.get_loc()
tests.__init__: Move test-specific setup from lisa to tests
tests/test_wlgen_rtapp.py: Fix workload cleanup
tools/batch-rebase: Fix git cherry-pick --continue error handling
tools/batch-rebase: Fix tag action
tools/kmodules/: Make a symlink per file
tools/recipes/pahole.manifest.yaml: Add pointer size fix
Breaking change#
lisa.fuzz: Port lisa.fuzz.Gen over the new lisa.monad API
lisa.monad: Replace the State monad implementation
lisa.target_script: Remove deprecated module
lisa.tests.base: Require root for ftrace
lisa.trace: Drop df.name attribute
lisa.utils: Replace serialized_whitelist/blacklist/placeholders by ATTRIBUTES_SERIALIZATION
v2.0.0#
Breaking change#
lisa-plot: Update to use refurbished analysis plot backends
lisa.analysis.base: Move COLOR_CYCLES to notebook and rename to COLOR_CYCLE
lisa.analysis.functions: Move ksym resolution from event sanitization to analysis
lisa.analysis.functions: Rename FunctionsAnalysis
lisa.analysis.rta: Rename RTAEventsAnalysis.tasks_window() into task_window()
lisa.analysis.status: Move sched_overutilized synthetic "len" column to analysis
lisa.analysis.tasks: Make df_task_activation() duty_cycle aware of preemption
lisa.assets: Rename to lisa._assets
lisa.colors: Remove lisa.colors as it is unused
lisa.datautils: Update df_window_signals to take a list of signals
lisa.doc: Rename to lisa._doc
lisa.generic: Move generic classes from lisa.conf to lisa.generic
lisa.generic: Rename to lisa._generic
lisa.git: Rename to lisa._git
lisa.platforms.platinfo: Change cpu-capacities key
lisa.proxy: Rename to lisa._proxy
lisa.stats: Use holoviews for plots
lisa.stats: rename Stats.plot_histogram nbins parameter to bins
lisa.tests.base: Add TestConfBase class
lisa.tests.base: Add buffer phase in get_rtapp_profile()
lisa.tests.base: Remove CannotCreateError
lisa.tests: Pass a composed collector to _from_target()
lisa.trace: Add text trace parser
lisa.trace: Remove barely used Trace.df_events(rename_cols=True) option
lisa.trace: Remove big/LITTLE assumption in events sanitization
lisa.trace: Remove sanitization for cpu_frequency event
lisa.trace: Rename 'func' column to 'ip' for print events
lisa.trace: TxtTraceParserBase: rename __time into __timestamp
lisa.trace: Use HRTxtTraceParser by default for .txt trace
lisa.trace: Use trace-cmd raw report for unknown events
lisa.typeclass: Rename to lisa._typeclass
lisa.wlgen.rta: Introduce new wlgen rt-app API
lisa.wlgen.rta: Port RTA to the new Workload API
lisa.wlgen.sysbench: Port Sysbench to the new Workload API
lisa.wlgen.workload: Fix long standing Workload API issues
lisa.wlgen.workload: Rename required_tools to REQUIRED_TOOLS
lisa.wlgen: Make Workload 'name' parameter optional
tools: lisa-plot: Rename --platinfo into --plat-info