Sergey Ponomarev
491cd85b4d
Additional columns
2020-12-11 21:58:37 +02:00
Sergey Ponomarev
9545dfba31
Extract MetaCol
2020-12-11 20:59:35 +02:00
Sergey Ponomarev
cdcb8b6d99
columns.go: remove redundant type
2020-12-11 20:32:22 +02:00
Sergey Ponomarev
f2c28c5fb0
#243 Fix bug: show ENV variables
...
Previously only last env variable is shown
2020-12-09 23:06:14 +02:00
Sergey Ponomarev
ac76b2eac1
Add Alternatives section
...
This may help users to find more specific tool than ctop
2020-11-30 17:25:40 +02:00
Sergey Ponomarev
c2401cb33a
#128 Set column Name to fixed width 30
2020-11-27 23:12:16 +02:00
Sergey Ponomarev
fa254c652c
Columns settings: add hint for re-order columns
2020-11-27 22:34:55 +02:00
Sergey Ponomarev
a59c7aab3c
Fix: enable pause [p] only for running or paused container
2020-11-27 22:28:58 +02:00
Sergey Ponomarev
4e44c9d5f7
file.go use filepath.Dir()
2020-11-26 12:08:55 +02:00
Sergey Ponomarev
948e7cc9d0
docker_logs.go use SplitN(2)
2020-11-26 12:08:36 +02:00
Sergey Ponomarev
6c662d91fb
docker.go shortName() use TrimPrefix()
2020-11-25 19:17:07 +02:00
Sergey Ponomarev
b4a63f8c60
docker_logs.go: use time.RFC3339Nano constant
2020-11-24 22:19:29 +02:00
Sergey Ponomarev
9a41252764
#207 CPU unscaled column changes color according to system total usage
...
If container uses two cores then CPU column will be always red even if we have dozens of other free cores and CPUS is 1%
2020-11-20 23:24:13 +02:00
Sergey Ponomarev
f377dcaee2
#207 Replace scaleCpu option with dedicated column CPU Scaled
...
The new column is disabled by default.
2020-11-20 23:08:19 +02:00
Sergey Ponomarev
65e9c6dff6
docker connector: refresh() delete container only if it not found but keep on failures
...
If inspect() call was failed due to connection problems then container will be removed anyway as like ot wasn't found.
This is probably almost never happens in real life but still some missed logic bug
2020-11-20 19:44:09 +02:00
Sergey Ponomarev
df0d8b7892
#187 "created" action is handled separately in watchEvents()
2020-11-20 19:26:02 +02:00
Sergey Ponomarev
53a6b36bf5
exec shell: detect default shell
...
Instead of using configured shell (e.g. bash) we can autodetect default container user's shell and execute it.
This is much safer because not all containers may have installed shell that is configured in ctop.
2020-11-20 10:42:52 +02:00
Sergey Ponomarev
5ec02f760e
exec shell: remove shell config or option
...
The option is never worked and can't properly work because almost all containers anyway using Ash/Dash from /bin/sh
2020-11-20 10:39:28 +02:00
Sergey Ponomarev
83a422933a
exec shell: on error show a status message instead of fatal exit
2020-11-20 10:33:44 +02:00
Sergey Ponomarev
7679d4a7fd
exec shell: fix shell config
...
Currently each time when ctop started it overwrites "shell" config with default value of program argument.
This means that in fact default shell config is never worked at all.
2020-11-20 10:31:00 +02:00
Sergey Ponomarev
e34afceb5f
logging: log to file
...
New env var CTOP_DEBUG_FILE to specify a path to log file
2020-11-19 20:11:46 +02:00
Sergey Ponomarev
29d90cfdd9
logging: start server after log is configured
...
Without this "logging server started" is written to stderr
2020-11-19 11:21:27 +02:00
Sergey Ponomarev
ba126e6e7c
events handling: early skipping of extremely frequent exec_* events
...
The exec_create, exec_start, exec_die and other events are generated by health checks
2020-11-18 23:04:29 +02:00
Sergey Ponomarev
009201ed0c
actionToStatus: catch more generic die instead of kill
2020-11-18 23:04:29 +02:00
Sergey Ponomarev
2c07cab59c
logging: skip timer events e.g. /timer/1s
...
Each second we receive the timer event which makes little sense but log is bloated with the event.
To make logs more readable we can disable logging of this event
2020-11-18 23:04:29 +02:00
Sergey Ponomarev
e64edbdc36
logging: skip timer events e.g. /timer/1s
...
Each second we receive the timer event which makes little sense but log is bloated with the event.
To make logs more readable we can disable logging of this event
2020-11-18 11:25:20 +02:00
Sergey Ponomarev
4c280cee56
Improve docker events handling: separate channel for status updates
...
Instead of calling a heavy inspect api call we can easily changing status just by knowing an action.
Let's do this in a separate channel decouple UI update from basic event loop.
2020-11-17 22:00:03 +02:00
Sergey Ponomarev
b65e970a83
Improve docker events handling
...
Firstly check health updates because it will be a lot of them especially when a container is unstable.
Clearly handle create event to create a container even if it wasn't started.
Instead of die event handle more precise events like oom, kill and only then trigger refresh.
Lookup the state from a map.
2020-11-17 21:50:25 +02:00
Sergey Ponomarev
957cabba2d
docker.go: watchEvents() optimize actionName extraction
...
Split(e.Action, ":") creates and array but we can avoid this.
2020-11-17 12:06:34 +02:00
Sergey Ponomarev
5aacdc3772
docker.go: logging of events
...
Add log.IsEnabledFor(logging.DEBUG) guard to avoid unnecessary memory allocations. Debug level is usually disabled.
Inline "destroy"
2020-11-17 11:42:45 +02:00
Sergey Ponomarev
3a29c94833
Use percent() function to calc CPU usage
2020-11-13 11:02:14 +02:00
Sergey Ponomarev
a22d99fefb
file.go: remove duplicated trim
...
The s var was already trimmed on line 67
2020-11-12 21:23:18 +02:00
Sergey Ponomarev
2bcfc365f7
Single Container View: truncate ID
...
Truncation Id inside of NewSingle() doesn't work.
It even doesn't have any effect.
Instead truncate the ID inside of NewMeta() call
2020-11-03 14:11:58 +02:00
Sergey Ponomarev
41c04fefa2
text.go: to do not manually truncate id and name columns
...
This truncation is already handled by termui
2020-10-26 15:43:55 +02:00