Test Execution Time Profiler
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Test Execution Time Profiler is a developer-focused tool that analyzes test execution times from CI pipeline logs to identify slow tests and performance bottlenecks. It takes test logs with timing information as input, parses each test name and its duration, then calculates statistics including total execution time, average time, min and max times, and classifies tests as slow, medium, or fast based on dynamic thresholds (tests exceeding 2x the average are considered slow, tests under 0.5x average are fast). Results are displayed with visual timing bars, color-coded by speed category, and a summary showing test counts in each category. The tool provides recommendations for optimizing slow tests, helping developers improve CI pipeline performance and reduce feedback cycles.
HOW TO USE
Paste test execution logs with timing information into the input area. Each line should contain a test name and its duration in milliseconds, using formats like "test/MyTest.js: should transfer tokens - 245ms", "test/MyTest.js: should mint tokens: 189ms", or "245ms - test/MyTest.js: should approve tokens". Click "Profile execution times" to analyze the data. The tool will display a summary showing the total number of tests, total execution time, average time, and counts of slow, medium, and fast tests. Each test is displayed with its duration, a visual timing bar, and a color-coded classification (red for slow, amber for medium, green for fast). Recommendations are provided if slow tests are detected.
TECHNICAL NOTE: DURATION PARSING AND STATISTICAL CLASSIFICATION
The tool uses a multi-format parser to extract test names and durations from log lines. It supports several common test output formats: "test_name - 123ms", "test_name: 123ms", "test_name took 123ms", and "123ms - test_name". The tool calculates the average duration of all tests and uses dynamic thresholds to classify tests: tests with duration greater than 2x the average are classified as slow, tests with duration less than 0.5x the average as fast, and tests in between as medium. This adaptive classification ensures the tool works effectively across different test suites with varying performance characteristics. Visual timing bars are normalized to the slowest test for consistent comparison.
WHAT IT CANNOT SEE
The tool cannot profile tests without timing data in the logs; it requires explicit duration information. It is limited to the accuracy of the provided timing information; logs with imprecise or missing timings will affect the results. It cannot detect performance regressions without historical data or multiple runs. The tool is limited to the test frameworks and formats supported by the parser; custom log formats may not be parsed correctly. It cannot profile tests that are not executed or included in the logs. It cannot profile tests on non-EVM chains.
PLEASE NOTE
This tool is designed for analyzing test logs from smart contract CI pipelines but can be used with any test logs in the supported format. The tool is read-only and does not execute tests or modify any state. Profiling results depend on the quality and completeness of the test logs. The tool provides recommendations but does not automatically optimize tests. Always verify slow test detection manually and investigate the root cause. The tool provides no warranty that the profiling results are complete or accurate; users should supplement with additional performance analysis.