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

ewm7213: Independent Parsing and Child Disk Monitoring #5

Merged
merged 9 commits into from
Oct 23, 2024

Conversation

ktactac-ornl
Copy link

@ktactac-ornl ktactac-ornl commented Oct 9, 2024

mantid-profiler will allow for extra key/value pairs in individual lines of the --infile (called algotimeregister.out by default) so tools can arbitrarily add metadata to lines as needed.

These changes allow passing key/value pairs in arbitrary order.

Child processes are also included in disk monitoring

7213: mantid-profiler improvements

@ktactac-ornl ktactac-ornl changed the title Individually Parse --infile Arguments ewm7213: Independent Parsing and Child Disk Monitoring Oct 21, 2024
@ktactac-ornl ktactac-ornl marked this pull request as ready for review October 21, 2024 18:50
@ktactac-ornl
Copy link
Author

ktactac-ornl commented Oct 21, 2024

Running

PYTHONPATH=path/to/mantid/build/bin python path/to/mantid/repository/Framework/PythonInterface/test/python/mantid/SimpleAPITest.py & python path/to/mantidprofiler/repository/mantidprofiler.py $!

seems to function as expected

As well as

cd path/to/mantid/build
ninja Framework && PYTHONPATH=bin python path/to/mantid/repository/Framework/PythonInterface/test/python/mantid/SimpleAPITest.py& python path/to/mantidprofiler/repository/src/mantidprofiler/mantidprofiler.py $!

Copy link
Member

@peterfpeterson peterfpeterson left a comment

Choose a reason for hiding this comment

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

I'm still trying it out, but the new parsing of the algorithmregister.out is too greedy.

The README is no longer correct for how to start the tool and the algorithmregister.out in the current directory is no longer found. This may be a separate issue.

src/mantidprofiler/algorithm_tree.py Outdated Show resolved Hide resolved
@peterfpeterson
Copy link
Member

More issues when chaining bash commands together (getting rid of the ninja step runs fine other than previously mentioned issues)

 ninja Framework && python vulcanperf/vulcanperf.py & python ~/code/mantid-profiler/src/mantidprofiler/mantidprofiler.py $! --infile algorithmregister.out
[1] 227377
Attaching to process 227377
Exception in thread Thread-1 (monitor):
Traceback (most recent call last):
  File "/opt/anaconda/envs/mantid-developer/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/opt/anaconda/envs/mantid-developer/lib/python3.10/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/home/pf9/code/mantid-profiler/src/mantidprofiler/diskrecord.py", line 88, in monitor
    * (child_disk_after.read_chars - child["disk_before"].read_chars)
AttributeError: 'function' object has no attribute 'read_chars'
[1+1+0=1] Generating ../../bin/mantid.egg-link
Obtaining file:///home/pf9/code/mantid/Framework/PythonInterface
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Checking if build backend supports build_editable: started
  Checking if build backend supports build_editable: finished with status 'done'
  Getting requirements to build editable: started
  Getting requirements to build editable: finished with status 'done'
  Preparing editable metadata (pyproject.toml): started
  Preparing editable metadata (pyproject.toml): finished with status 'done'
Building wheels for collected packages: mantid
  Building editable for mantid (pyproject.toml): started
  Building editable for mantid (pyproject.toml): finished with status 'done'
  Created wheel for mantid: filename=mantid-6.10.20241017.1658.dev108+uncommitted-0.editable-py3-none-any.whl size=3139 sha256=3c1a610bb073d454e6ffdc8fc173dcc6ff5c94e8589ef3ded40087e2211feee7
  Stored in directory: /tmp/pip-ephem-wheel-cache-4m0ki0ek/wheels/c1/a8/78/9d60095d5599365d35b72827b1016e620e9ddb705bd1d50e94
Successfully built mantid
Installing collected packages: mantid
  Attempting uninstall: mantid
    Found existing installation: mantid 6.10.20241017.1658.dev108+uncommitted
    Uninstalling mantid-6.10.20241017.1658.dev108+uncommitted:
      Successfully uninstalled mantid-6.10.20241017.1658.dev108+uncommitted
Successfully installed mantid-6.10.20241017.1658.dev108+uncommitted
FrameworkManager-[Notice] Welcome to Mantid 6.10.20241017.1658.dev108+uncommitted
FrameworkManager-[Notice] Please cite: http://dx.doi.org/10.1016/j.nima.2014.07.029 and this release: http://dx.doi.org/10.5286/Software/Mantid
LoadEventNexus-[Notice] LoadEventNexus started
LoadIDFFromNexus-[Notice] Instrument parameter file: /home/pf9/.mantid/instrument/VULCAN_Parameters.xml has been loaded.
LoadIDFFromNexus-[Notice] 
LoadIDFFromNexus-[Notice] No correction parameter file applies to the date for correction file.
LoadEventNexus-[Notice] LoadEventNexus successful, Duration 21.00 seconds
LoadDiffCal-[Notice] LoadDiffCal started
LoadDiffCal-[Notice] LoadDiffCal successful, Duration 0.92 seconds
AlignAndFocusPowder-[Notice] AlignAndFocusPowder started
AlignAndFocusPowder-[Notice] Could not find property manager
MaskDetectors-[Notice] Masking using workspace indicies
AlignAndFocusPowder-[Notice] AlignAndFocusPowder successful, Duration 19.49 seconds
size=64.5MB
39784 events in 6 spectra
total wksp=85.5MB
['AlignAndFocusPowder', 'AlignAndFocusPowderFromFiles', 'CompressEvents', 'FilterBadPulses', 'LoadDiffCal', 'LoadEventNexus', 'Rebin', 'RemoveInstrumentGeometry', '__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'atexit', 'cal_file', 'cleanupAlgorithmManager', 'cleanupFrameworkManager', 'cleanup_ADS', 'createWorkspace', 'direc', 'memUsage', 'mtd', 'nxs_file', 'time']
Traceback (most recent call last):
  File "/home/pf9/code/mantid-profiler/src/mantidprofiler/mantidprofiler.py", line 393, in <module>
    sys.exit(main())
  File "/home/pf9/code/mantid-profiler/src/mantidprofiler/mantidprofiler.py", line 362, in main
    disk_x = disk_data[:, 0] - sync_time
IndexError: too many indices for array: array is 1-dimensional, but 2 were indexed

Copy link
Member

@peterfpeterson peterfpeterson left a comment

Choose a reason for hiding this comment

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

This works as advertised
image

@ktactac-ornl ktactac-ornl merged commit 0d0cd87 into main Oct 23, 2024
2 checks passed
@ktactac-ornl ktactac-ornl deleted the ewm7213-infile-keyValue-parsing branch October 23, 2024 16:21
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