LedgerHQ / LedgerHQ/vanadium

Add timestamps to the execution trace

Open
#85 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

performance tests
Dominant language
Rust
Stars
44
Forks
7
Avg merge
17h 58m
Merged PRs (30d)
3

Description

After #84, a trace feature is available to produce an execution trace, and the vanalyze tool can produce some profiling info based on it. However, the result of the tool is based solely on instruction counts (but some instructions, especially some ECALL, can have a much larger running time).

Adding timestamps to the execution trace would be useful, as vanalyze could be modified to produce a report of the total time spent in each function call, instead of the instruction count.

Since the trace feature uses speculos semihosting feature, probably a change in speculos would be needed in order to support this feature.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the trace feature introduced in #84 and the vanalyze profiling flow. Then inspect how the trace uses Speculos semihosting and determine where timestamp support would need to be coordinated. Done means the execution trace carries timestamps and vanalyze can report total time per function call.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
performance, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.