chiark / gitweb /
core: expose consumed CPU time per unit
[elogind.git] / shell-completion / zsh / _systemd-analyze
index 13e96c0586caf65a8c467392e339a4974358b306..2c0e5433eb4a963ad9342cc51770ec71c7dfe03d 100644 (file)
@@ -1,5 +1,15 @@
 #compdef systemd-analyze
 
+_systemd_analyze_set-log-level() {
+    local -a _levels
+    _levels=(debug info notice warning err crit alert emerg)
+    _describe -t level 'logging level' _levels || compadd "$@"
+}
+
+_systemd_analyze_verify() {
+    _sd_unit_files
+}
+
 _systemd_analyze_command(){
     local -a _systemd_analyze_cmds
     # Descriptions taken from systemd-analyze --help.
@@ -9,18 +19,40 @@ _systemd_analyze_command(){
         'critical-chain:Print a tree of the time critical chain of units'
         'plot:Output SVG graphic showing service initialization'
         'dot:Dump dependency graph (in dot(1) format)'
+        'dump:Dump server status'
+        'set-log-level:Set systemd log threshold'
+        'verify:Check unit files for correctness'
     )
 
     if (( CURRENT == 1 )); then
         _describe "options" _systemd_analyze_cmds
     else
-        _message "no more options"
+        local curcontext="$curcontext"
+        cmd="${${_systemd_analyze_cmds[(r)$words[1]:*]%%:*}}"
+        if (( $#cmd )); then
+            if (( $+functions[_systemd_analyze_$cmd] )) && (( CURRENT == 2 )); then
+                _systemd_analyze_$cmd
+            else
+                _message "no more options"
+            fi
+        else
+            _message "unknown systemd-analyze command: $words[1]"
+        fi
     fi
 }
 
 _arguments \
-    {-h,--help}'[Show help text.]' \
-    '--user[Shows performance data of user sessions instead of the system manager.]' \
+    {-h,--help}'[Show help text]' \
+    '--version[Show package version]' \
+    '--system[Operate on system systemd instance]' \
+    '--user[Operate on user systemd instance]' \
+    '--no-pager[Do not pipe output into a pager]' \
+    '--man=[Do (not) check for existence of man pages]:boolean:(1 0)' \
     '--order[When generating graph for dot, show only order]' \
     '--require[When generating graph for dot, show only requirement]' \
+    '--fuzz=[When printing the tree of the critical chain, print also services, which finished TIMESPAN earlier, than the latest in the branch]:TIMESPAN' \
+    '--from-pattern=[When generating a dependency graph, filter only origins]:GLOB' \
+    '--to-pattern=[When generating a dependency graph, filter only destinations]:GLOB' \
+    {-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
+    {-M+,--machine=}'[Operate on local container]:machine' \
     '*::systemd-analyze commands:_systemd_analyze_command'