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

cylc monitor rewrite #3463

Merged
merged 40 commits into from
Mar 30, 2020
Merged
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
2d6f284
cylc monitor: proof of concept
oliver-sanders Dec 10, 2019
35e6bcf
cylc monitor: job colours
oliver-sanders Dec 10, 2019
fc90e33
cylc monitior: preserve focus
oliver-sanders Dec 11, 2019
e07e3da
cylc monitor: max expand depth
oliver-sanders Dec 11, 2019
2ade9da
cylc monitor: add job icon into task row
oliver-sanders Dec 11, 2019
544cd00
cylc monitor: preserve tree expansion
oliver-sanders Dec 11, 2019
22ae93a
cylc monitor: automatic update and tidy
oliver-sanders Dec 11, 2019
0c09715
cylc monitior: suite status message
oliver-sanders Dec 11, 2019
50039e0
cylc monitor: simplify and document
oliver-sanders Dec 11, 2019
c31c81f
cylc monitor: sort nodes
oliver-sanders Dec 11, 2019
6e92183
cylc monitor: support held state
oliver-sanders Dec 11, 2019
41a204f
cylc monitor: support group statuses for families
oliver-sanders Dec 11, 2019
944131b
cylc monitor: add job info nodes
oliver-sanders Dec 11, 2019
80ee161
cylc monitor: migrate into cylc cli
oliver-sanders Dec 12, 2019
ab63934
cylc monitor: add progress indicators
oliver-sanders Dec 12, 2019
9c48b48
cylc monitor: remove old tests + admin
oliver-sanders Dec 12, 2019
a742890
cylc monitor: add --html option
oliver-sanders Dec 13, 2019
7f45ecf
cylc monitor: visual testing via HTML
oliver-sanders Dec 13, 2019
0accae3
cylc monitor: allow empty families
oliver-sanders Dec 16, 2019
16379de
temp
oliver-sanders Dec 16, 2019
b196514
cylc monitor: fix inherit=None bug
oliver-sanders Jan 27, 2020
ae5ad9f
cylc monitor: fix timeout bug
oliver-sanders Jan 27, 2020
13122e0
cylc monitor: state summary
oliver-sanders Mar 17, 2020
742830f
cylc monitor: filter by task state
oliver-sanders Mar 18, 2020
954920e
cylc monitor: add unit tests
oliver-sanders Mar 18, 2020
32231ec
cylc monitor: remove flaky regression test
oliver-sanders Mar 18, 2020
ba3f703
tui: renamed from cylc monitor
oliver-sanders Mar 18, 2020
be97579
tui: refactor
oliver-sanders Mar 19, 2020
3dbe1a2
tui: centralise key bindings
oliver-sanders Mar 19, 2020
f482dfd
tui: add task and job information to the help screen
oliver-sanders Mar 19, 2020
fdd4f7d
tui: fix filter message
oliver-sanders Mar 19, 2020
dff8538
tui: tweaks and fixes
oliver-sanders Mar 19, 2020
0299579
tui: exit cleanly with ctrl+c
oliver-sanders Mar 20, 2020
a70cf60
tui: use left arrow for collapsing
oliver-sanders Mar 20, 2020
3202987
tui: don't use expand/collapse icons on leaf nodes
oliver-sanders Mar 20, 2020
63b3266
tui: show stopped suites and attempt to reconnect
oliver-sanders Mar 20, 2020
70f2278
tui: add shift+click selection to help
oliver-sanders Mar 20, 2020
38b7f8b
tui: set client timeout
oliver-sanders Mar 26, 2020
24d683a
TODO hmmm
oliver-sanders Mar 26, 2020
6b37f8e
tests: fix broken error messages
oliver-sanders Mar 30, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@ job status message retries (problems that prevent message transmission are
almost never transient, and in practice job polling is the only way to
recover).

[#3463](https://github.com/cylc/cylc-flow/pull/3463) - cylc tui:
A new terminal user interface to replace the old `cylc monitor`.
An interactive collapsible tree to match the new web interface.

### Fixes

[#3409](https://github.com/cylc/cylc-flow/pull/3409) - prevent cylc-run from
Expand Down
5 changes: 0 additions & 5 deletions cylc/flow/cfgspec/globalcfg.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,11 +94,6 @@
'gui': [VDR.V_STRING, 'gvim -f'],
},

# client
'monitor': {
'sort order': [VDR.V_STRING, 'definition', 'alphanumeric'],
},

# job platforms
'job platforms': {
'__MANY__': {
Expand Down
2 changes: 1 addition & 1 deletion cylc/flow/etc/cylc-bash-completion
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ _cylc() {
cur="${COMP_WORDS[COMP_CWORD]}"
sec="${COMP_WORDS[1]}"
opts="$(cylc print -x -y 2>/dev/null)"
suite_cmds="broadcast|bcast|cat-log|log|check-versions|checkpoint|diff|compare|dump|edit|ext-trigger|external-trigger|get-directory|get-suite-config|get-config|get-suite-version|get-cylc-version|graph|graph-diff|hold|insert|jobscript|kill|list|ls|ls-checkpoints|monitor|nudge|ping|poll|print|register|release|unhold|reload|remove|report-timings|reset|restart|run|start|scan|scp-transfer|search|grep|set-verbosity|show|spawn|stop|shutdown|submit|single|suite-state|test-battery|trigger|validate|view|warranty"
suite_cmds="broadcast|bcast|cat-log|log|check-versions|checkpoint|diff|compare|dump|edit|ext-trigger|external-trigger|get-directory|get-suite-config|get-config|get-suite-version|get-cylc-version|graph|graph-diff|hold|insert|jobscript|kill|list|ls|ls-checkpoints|tui|nudge|ping|poll|print|register|release|unhold|reload|remove|report-timings|reset|restart|run|start|scan|scp-transfer|search|grep|set-verbosity|show|spawn|stop|shutdown|submit|single|suite-state|test-battery|trigger|validate|view|warranty"


if [[ ${COMP_CWORD} -eq 1 ]]; then
Expand Down
7 changes: 5 additions & 2 deletions cylc/flow/scripts/cylc_dump.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,11 @@
"""cylc [info] dump [OPTIONS] ARGS

Print state information (e.g. the state of each task) from a running
suite. For small suites 'watch cylc [info] dump SUITE' is an effective
non-GUI real time monitor (but see also 'cylc monitor').
suite.

For command line monitoring:
* `cylc tui`
* `watch cylc dump SUITE` works for small simple suites

For more information about a specific task, such as the current state of
its prerequisites and outputs, see 'cylc [info] show'.
Expand Down
4 changes: 2 additions & 2 deletions cylc/flow/scripts/cylc_help.py
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ def category_help(category):
information_commands['get-suite-version'] = [
'get-suite-version', 'get-cylc-version']

information_commands['monitor'] = ['monitor']
information_commands['tui'] = ['tui']
information_commands['get-suite-config'] = ['get-suite-config', 'get-config']
information_commands['get-site-config'] = [
'get-site-config', 'get-global-config']
Expand Down Expand Up @@ -337,7 +337,7 @@ def category_help(category):
comsum['show'] = 'Print task state (prerequisites and outputs etc.)'
comsum['cat-log'] = 'Print various suite and task log files'
comsum['extract-resources'] = 'Extract cylc.flow library package resources'
comsum['monitor'] = 'An in-terminal suite monitor'
comsum['tui'] = 'A terminal user interface for suites.'
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
comsum['tui'] = 'A terminal user interface for suites.'
comsum['tui'] = 'A terminal user interface for workflows.'

comsum['get-suite-config'] = 'Print suite configuration items'
comsum['get-site-config'] = 'Print site/user configuration items'
comsum['get-host-metrics'] = 'Print localhost metric data'
Expand Down
Loading