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

pandalyzer #37

Draft
wants to merge 28 commits into
base: main
Choose a base branch
from
Draft

pandalyzer #37

wants to merge 28 commits into from

Conversation

matthiasdiener
Copy link
Member

@matthiasdiener matthiasdiener commented Nov 28, 2020

Here is how it looks like:

$ pandalyzer foo.sqlite
Pandalyzer running on Python3.8.6 | packaged by conda-forge | (default, Oct  7 2020, 18:42:56)
Run help() to see help for 'magic' commands.
>>> help()

Commands:
 help()       show this help message
 runprops()   show a list of run properties
 quantities() show a list of time-dependent quantities
 warnings()   show a list of warnings
 dump()       show an SQL table

Plotting:
 dbplot()     plot list of quantities.

Available Python symbols:
    db        the database

>>> runprops()
Property       | Value
---------------+----------------------------------
id             | 1
dirname        |
filename       | mpi-log.dat-rank0-TRBefX
schema_version | 2
is_parallel    | 1
unique_run_id  | cb5b07f831d311ebb4ba784f435f24cb
rank_count     | 4
myconst        | 0.6468262878955677
cmdline        | log-mpi.py
machine        | MDmbp
date           | Sat, 28 Nov 2020 17:45:28 CST
unixtime       | 1606607128.460344
>>> quantities()
id | name    | unit | description                 | rank_aggregator
---+---------+------+-----------------------------+-----------------
1  | t_step  | s    | Time step duration          | None
2  | t_2step | s    | Step-to-step duration       | None
3  | t_cpu   | s    | Wall time                   | None
4  | t_log   | s    | Time spent updating the log | None
5  | step    | 1    | Timesteps                   | None
6  | t_sim   | s    | Simulation Time             | None
7  | dt      | s    | Simulation Timestep         | None
8  | t_vis   | s    | Time spent visualizing      | None
>>> dbplot(["step", "t_vis", "t_step"], kind="line")
<AxesSubplot:xlabel='step [1]', ylabel='t_vis [s], t_step [s]'>
>>>
now exiting PandalyzerConsole...

image

@inducer
Copy link
Collaborator

inducer commented Nov 30, 2020

It's not obvious to me why this functionality needs to be separate from the existing tooling. If branding is important to you, then sure, kill runalyzer, and let this survive.

@matthiasdiener
Copy link
Member Author

It's not obvious to me why this functionality needs to be separate from the existing tooling. If branding is important to you, then sure, kill runalyzer, and let this survive.

This PR is just me playing around with the pandas functionality to see if it might be useful. Imho, even if we decide to merge this at one point, keeping both runalyzer and this around could be useful (e.g., for people used to the runalyzer API).

- set file extension for examples to ".sqlite"
  - works better with file name completion and clarifies what the file is
- when using mode 'wu', create unique file name based on time stamp and broadcast name from head rank;
  - makes file ordering more natural
  - make it clear which files belong together
- make sure that file extension is last thing of file name
Base automatically changed from master to main March 5, 2021 18:24
@matthiasdiener matthiasdiener self-assigned this Apr 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants