Skip to content

chore!: drop Darshan and Recorder support#67

Merged
izzet merged 1 commit into
llnl:developfrom
izzet:chore/drop-darshan-recorder
Jul 26, 2026
Merged

chore!: drop Darshan and Recorder support#67
izzet merged 1 commit into
llnl:developfrom
izzet:chore/drop-darshan-recorder

Conversation

@izzet

@izzet izzet commented Jul 26, 2026

Copy link
Copy Markdown
Collaborator

Removes the Darshan and Recorder analyzers. Darshan and Recorder analysis remains available in WisIO, which carries its own copies of both analyzers and the recorder2parquet converter.

Why

DFAnalyzer is a DFTracer tool by identity — it ships as dftracer-analyzer and installs into the dftracer.analyzer namespace. Trace reading has moved to the native C++ Indexer, which darshan.py and recorder.py bypass entirely with their own read_trace, so both drift further from the core with every release. Every recent feature — the fact engine, category-layer discovery, agentic presets — is DFTracer-shaped.

Recorder support was already partial: the analyzer only reads parquet (dd.read_parquet), and raw Recorder traces required the bundled C++ converter first.

Darshan is also actively costing us. pydarshan has no cp313 wheel, and its sdist builds without a bundled libdarshan-util.so, so import darshan raises RuntimeError at runtime — which the except ModuleNotFoundError guard in __init__.py does not catch, taking down the entire dftracer.analyzer import rather than just darshan support. Removing it unblocks Python 3.13.

Removed

  • darshan.py, recorder.py, and their analyzer= config groups
  • tools/ (recorder2parquet) and the backward-cpp, cpp-logger and recorder meson subprojects it pulled in
  • the enable_tools, enable_tests and link_shared meson options, which existed only for that tool
  • the darshan extra, 4 test fixtures, and the darshan/recorder e2e matrix entries
  • CI's apache-arrow apt source plus the arrow, MPI, ncurses, readline, parquet and hdf5 system dependencies, needed only by the C++ tool

32 files, −2,164 lines.

Verification

pytest -m full — 159 passed, 22 deselected, in a clean non-editable venv. init_hydra_config_store() now exposes exactly one analyzer group: dftracer.

Note

tools/meson.build defined a test_recorder2parquet meson test consuming recorder-posix-raw.tar.gz; that goes away with the tool.

Merge order

Please merge before the Meson removal, which builds on this branch.

@izzet
izzet force-pushed the chore/drop-darshan-recorder branch from 51a03dc to aaa153e Compare July 26, 2026 01:07
@izzet izzet self-assigned this Jul 26, 2026
@izzet izzet added the enhancement New feature or request label Jul 26, 2026
@rayandrew

rayandrew commented Jul 26, 2026

Copy link
Copy Markdown
Collaborator

i think it is intersected with #68 right?

DFAnalyzer is a DFTracer tool by identity -- it ships as dftracer-analyzer
and installs into the dftracer.analyzer namespace. Trace reading moved to
the native C++ Indexer, which darshan.py and recorder.py bypassed with
their own read_trace, so both drifted further from the core with every
release. Recorder support was already partial: the analyzer only read
parquet, and raw traces needed the bundled C++ converter first.

pydarshan also has no cp313 wheel, and its sdist builds without a bundled
libdarshan-util.so, so `import darshan` raises RuntimeError at runtime --
which the ModuleNotFoundError guard in __init__.py did not catch, taking
down the whole package import. Removing it unblocks Python 3.13.

Removed:
  - darshan.py, recorder.py and their analyzer config groups
  - tools/ (recorder2parquet) and the backward-cpp, cpp-logger and
    recorder meson subprojects it pulled in
  - the enable_tools, enable_tests and link_shared meson options, which
    existed only for that tool
  - the darshan extra, 4 test fixtures, and the darshan/recorder e2e cases
  - CI's arrow apt source plus the arrow, MPI, ncurses, readline, parquet
    and hdf5 system dependencies, needed only by the C++ tool

Darshan and Recorder analysis remains available in WisIO, which carries
its own copies of these analyzers.
@izzet
izzet force-pushed the chore/drop-darshan-recorder branch from aaa153e to e1758e4 Compare July 26, 2026 04:36
@izzet
izzet merged commit e97560f into llnl:develop Jul 26, 2026
4 checks passed
@izzet
izzet deleted the chore/drop-darshan-recorder branch July 26, 2026 04:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants