Skip to content

[issue-240] Update Recorder notes to reflect current implementation#930

Open
lnanduri2005 wants to merge 3 commits intoSharedDevelopmentfrom
LikithaDev
Open

[issue-240] Update Recorder notes to reflect current implementation#930
lnanduri2005 wants to merge 3 commits intoSharedDevelopmentfrom
LikithaDev

Conversation

@lnanduri2005
Copy link
Copy Markdown

Closes #240

Description

Updated Recorder documentation to reflect the current implementation.

Changes include:

  • documented Recorder lifecycle and call flow
  • explained variable registration through registerHistoryVariables
  • described CONSTANT vs DYNAMIC behavior
  • documented XmlRecorder and Hdf5Recorder behavior
  • added current examples of recorded data
  • removed outdated legacy/re-engineering details that no longer match the code

Checklist (Mandatory for new features)

  • Added Documentation
  • Added Unit Tests

Testing (Mandatory for all changes)

  • GPU Test: test-medium-connected.xml Passed
  • GPU Test: test-large-long.xml Passed

@lnanduri2005 lnanduri2005 self-assigned this Apr 24, 2026
@lnanduri2005 lnanduri2005 added the documentation Improvements or additions to documentation label Apr 24, 2026
@lnanduri2005 lnanduri2005 requested a review from Copilot April 24, 2026 17:21
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Recorder subsystem notes to align the documentation with the current Graphitti implementation and removes older design material that no longer matches how recording works today.

Changes:

  • Rewrote docs/Notes/RecordersNotes.md to document the current Recorder lifecycle, registration flow, and Xml/HDF5 behaviors.
  • Added a 2026 entry to Contributors.md.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
docs/Notes/RecordersNotes.md Major rewrite of Recorder documentation to reflect current runtime behavior, registration, and output semantics.
Contributors.md Adds a 2026 contributor entry and fixes formatting on the final line.

- `DYNAMIC`: captured once per epoch during simulation

The Recorder system is capable of capturing a wide range of data types using `std::variant` from C++17. The currently supported data types include:
The base class itself does not know anything about neuron spikes, NG911 calls, layouts, or connections. It only manages a file name, a logger, and the abstract lifecycle above.
9. After `finish()`, `Core::runSimulation()` calls `simulator.getModel().getRecorder().term()`.

#### Step 1: Variable Registration in Variable Owner Class
This means the recorder is initialized before vertex creation and connection setup, dynamic data are compiled once per epoch, final output is produced after the run, and the recorder is terminated explicitly at shutdown.
@lnanduri2005 lnanduri2005 linked an issue Apr 24, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Likitha Nanduri to Contributor List Make sure that all of the Recorder class re-engineering materials are captured in documentation

2 participants