• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ZJU-SPAIL / pipa / 17755914047
70%

Build:
DEFAULT BRANCH: main
Ran 16 Sep 2025 05:47AM UTC
Jobs 1
Files 42
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

16 Sep 2025 05:46AM UTC coverage: 14.917% (+3.3%) from 11.609%
17755914047

push

github

bernard035
fix(pipashu): resolve initialization failures and
refactor parsers

This commit addresses critical bugs in the
`PIPAShuData` initialization process, ensuring it
 runs successfully on modern systems with newer
`perf` versions.

The following fixes and refactors are included:

1.  **Resolved `multiprocessing` Serialization
Error**:
    - Replaced a non-serializable lambda function
     in `PerfScriptData.from_file` with a static
     helper method to ensure compatibility with
     `multiprocessing`.

2.  **Refactored `PerfStatParser` for
Robustness**:
    - The original `PerfStatParser` was fragile
    and failed on newer `perf` versions. It has
     been completely refactored to use a robust
      "pivot-and-melt" algorithm.
    - The new parser correctly handles varying
    column counts, different event orders, and
     maintains backward compatibility.

3.  **Fixed Logic in `PerfStatDataProcessor`**:
    - Corrected the event name matching in
     `get_CPI` and `get_events_overall` from
     exact match (`==`) to prefix match
     (`startswith`) to handle event suffixes
      like `:D`.

4.  **Added Comprehensive Unit Tests**:
    - A new test suite (`test_perf_stat.py`) has
    been added to cover the refactored parser and
     data processor.
    - Tests cover modern, legacy, and aggregated
    `perf stat` formats, as well as edge cases
     like empty and malformed files.
    - This significantly improves the code
    coverage and reliability of the `perf_stat`
     module.

5.  **Incorporated robustness suggestions from
    Copilot review.**
    - Added checks to prevent accessing DataFrame
    rows when empty, avoiding potential runtime
     errors.

These changes collectively make the core data
loading functionality of PIPA significantly more
 robust and reliable, allowing the Quickstart
 guide to be completed successfully.

98 of 148 new or added lines in 3 files covered. (66.22%)

1 existing line in 1 file now uncovered.

378 of 2534 relevant lines covered (14.92%)

0.15 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
2
0.0
0.0% src/pipa/parser/perf_script_call.py
48
0.0
0.0% src/pipa/parser/perf_stat.py

Uncovered Existing Lines

Lines Coverage ∆ File
1
0.0
0.0% src/pipa/parser/perf_stat.py
Jobs
ID Job ID Ran Files Coverage
1 17755914047.1 16 Sep 2025 05:47AM UTC 42
14.92
GitHub Action Run
Source Files on build 17755914047
  • Tree
  • List 42
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #17755914047
  • d778391e on github
  • Prev Build on main (#17755221301)
  • Next Build on main (#17756039208)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc