@@ -7,11 +7,47 @@ The most common way for obtaining traces from actual workflow executions is to p
77execution logs. As part of the WorkflowHub project, we are constantly developing
88parsers for commonly used workflow management systems.
99
10- Each parser class is derived from the :class: `~workflowhub.trace.logs.abstract_logs_parser.LogsParser `
11- class. Thus, each parser provides a
10+ Each parser class is derived from the abstract
11+ :class: `~workflowhub.trace.logs.abstract_logs_parser.LogsParser ` class. Thus, each
12+ parser provides a
1213:meth: `~workflowhub.trace.logs.abstract_logs_parser.LogsParser.build_workflow `
1314method.
1415
16+ Makeflow
17+ --------
18+
19+ `Makeflow <http://ccl.cse.nd.edu/software/makeflow/ >`_ is a workflow system for
20+ executing large complex workflows on clusters, clouds, and grids. The Makeflow
21+ language is similar to traditional Make, so if you can write a Makefile, then you
22+ can write a Makeflow. A workflow can be just a few commands chained together, or
23+ it can be a complex application consisting of thousands of tasks. It can have an
24+ arbitrary DAG structure and is not limited to specific patterns. Makeflow is used
25+ on a daily basis to execute complex scientific applications in fields such as data
26+ mining, high energy physics, image processing, and bioinformatics. It has run on
27+ campus clusters, the Open Science Grid, NSF XSEDE machines, NCSA Blue Waters, and
28+ Amazon Web Services. Makeflow logs provide time-stamped event traces from these
29+ executions. The following example shows the analysis of Makeflow execution logs,
30+ stored in a local folder (execution dir), for a workflow execution using the
31+ :class: `~workflowhub.trace.logs.makeflow.MakeflowLogsParser ` class: ::
32+
33+ from workflowhub.trace import MakeflowLogsParser
34+
35+ # creating the parser for the Makeflow workflow
36+ parser = MakeflowLogsParser(execution_dir='/path/to/makeflow/execution/dir/blast/chameleon-small-001/'
37+ resource_monitor_logs_dir='/path/to/makeflow/resource/monitor/logs/dir')
38+
39+ # generating the workflow trace object
40+ workflow = parser.build_workflow('workflow-test')
41+
42+ # writing the workflow trace to a JSON file
43+ workflow.write_json('workflow.json')
44+
45+ .. note ::
46+ The :class: `~workflowhub.trace.logs.makeflow.MakeflowLogsParser ` class requires
47+ that Makeflow workflows to run with the
48+ `Resource Monitor <https://cctools.readthedocs.io/en/latest/resource_monitor/ >`_
49+ tool (e.g., execute the workflow using the :code: `--monitor=logs `).
50+
1551Pegasus WMS
1652-----------
1753
@@ -39,9 +75,8 @@ class: ::
3975 # writing the workflow trace to a JSON file
4076 workflow.write_json('workflow.json')
4177
42- .. note ::
43-
78+ .. warning ::
4479 By default, the :class: `~workflowhub.trace.logs.pegasus.PegasusLogsParser `
45- class assumes that the submit dir is from a Pegasus execution with version 5.0 or later.
46- To enable parsing of Pegasus execution logs from version 4.9 or earlier, the option
47- :code: `legacy=True ` should be used.
80+ class assumes that the submit dir is from a Pegasus execution with ** version 5.0 **
81+ or later. To enable parsing of Pegasus execution logs from version 4.9 or earlier,
82+ the option :code: `legacy=True ` should be used.
0 commit comments