Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Event logging #331

Open
JohnJacobsonIII opened this issue Aug 7, 2020 · 0 comments
Open

Event logging #331

JohnJacobsonIII opened this issue Aug 7, 2020 · 0 comments
Assignees
Labels
c++ Involves touching c++ code documentation Involves touching documentation good first issue A good place to start make Involves touching GNU Makefiles python Involves touching python code tests Involves touching tests

Comments

@JohnJacobsonIII
Copy link
Collaborator

Feature Request

Description:

Adding more extensive logging functionality will allow a better understanding of the performance of individual components (aiding in the development of a performance model,) be a potential means of troubleshooting issues, and enable identification of the critical path of FLiT. This information may be used to predict performance for potential adopters, as well as to direct future development of the tool.

Suggested change:

Add command line option --enable-logging for flit and flit_bisect to log individual events.

For safety in concurrency, unique logs can be written to $FLIT_PATH/data/event_logs from each process and later aggregated for processing. Each file name should have a unique identifier for the node and process writing to it, and should contain at least:

  1. Event name / identifier
  2. Timestamp, in nanosecond resolution
  3. Notes (for any other relevant information in a given event)

Log entries may be written in JSON (or perhaps in tab-delimited plaintext,) manually wrapped around relevant events within their respective files using:

  • Python: logging library
  • C++: chrono library
  • Make files: echo directly into log files

These files can either be aggregated into a single complete.log file utilizing the same format with an additional identifier field denoting the process identifiers, or into a sqlite database to match the style of existing data processing with FLiT results.

@JohnJacobsonIII JohnJacobsonIII added good first issue A good place to start python Involves touching python code c++ Involves touching c++ code make Involves touching GNU Makefiles documentation Involves touching documentation tests Involves touching tests labels Aug 7, 2020
@JohnJacobsonIII JohnJacobsonIII self-assigned this Aug 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++ Involves touching c++ code documentation Involves touching documentation good first issue A good place to start make Involves touching GNU Makefiles python Involves touching python code tests Involves touching tests
Projects
None yet
Development

No branches or pull requests

1 participant