Commit Graph

178 Commits

Author SHA1 Message Date
Carsten Grohmann
c1a5ed3420 Add support for systems w/o swap
Suggested-by: Mikko Rantalainen <mikko.rantalainen@gmail.com>
2021-10-09 22:06:16 +02:00
Carsten Grohmann
8ed7678a74 Add support for manually triggered OOM
Suggested-by: Mikko Rantalainen <mikko.rantalainen@gmail.com>
2021-10-04 20:46:43 +02:00
Carsten Grohmann
7af0c1d7e8 Restructure code to analyse OOM
This code changes should simplify future extension of the analysis and
calculation code.
2021-09-27 21:06:47 +02:00
Carsten Grohmann
f0b4ac895c Extend JS MOC objects 2021-09-20 20:21:39 +02:00
Carsten Grohmann
cce4d65c4f Escape special characters in notification box 2021-09-14 20:23:56 +02:00
Carsten Grohmann
6528b96adb Restructure regex for better error messages 2021-09-14 20:19:32 +02:00
Carsten Grohmann
dd8b806bd3 Use different color set for swap usage diagram 2021-09-12 13:37:54 +02:00
Carsten Grohmann
0473dbcc7d Convert OOM URL to clickable link 2021-09-04 23:24:52 +02:00
Carsten Grohmann
f088d861e2 Fix wrong domain in email address 2021-09-04 22:49:48 +02:00
Carsten Grohmann
dd2efedc55 Add a border around both memory diagrams 2021-08-04 18:19:39 +02:00
Carsten Grohmann
022a5977fc Use SVG <use/> to show small triangular icons 2021-07-29 02:39:59 +02:00
Carsten Grohmann
9a5dbbc255 Fix the order of processing #012/LF
Remove unnecessary columns first and unwind #012 (octal replacement of
LF) second. Otherwise, important content would be lost.
2021-07-29 02:28:16 +02:00
Carsten Grohmann
08f7669654 Simplify code to unwind #012/LF 2021-07-29 02:28:00 +02:00
Carsten Grohmann
7fbbeace61 Remove overseen debug code 2021-07-28 21:00:14 +02:00
Carsten Grohmann
cd832461b6 Add tooltips to memory SVGs 2021-07-25 08:42:39 +02:00
Carsten Grohmann
2c111144cc Report uncaught errors to the user 2021-07-24 11:50:22 +02:00
Carsten Grohmann
f53e8c6b55 Add dependencies to Makefile 2021-07-24 08:43:48 +02:00
Carsten Grohmann
41a51a7e2a Rework removal of unused information
The columns left to the oom are not used. With this change, the
algorithm becomes more robust and can better handle known special
cases like "kernel:<processname>".
2021-07-24 00:28:38 +02:00
Carsten Grohmann
1abf455711 Use Webdriver Manager for browser compatibility
Version mismatch between browser and selenium driver breaks the tests.
The Webdriver manager automatically ensures the compatibility by
downloading the right driver for the installed browser.
2021-07-21 22:40:41 +02:00
Carsten Grohmann
c9b665b464 Rework extracting a block from the OOM 2021-07-21 21:43:16 +02:00
Carsten Grohmann
db64b42393 Extend unit tests 2021-07-21 21:31:18 +02:00
Carsten Grohmann
e859317685 Show a warning if a RE finds nothing 2021-07-21 21:06:20 +02:00
Carsten Grohmann
000b6635ec Typos 2021-07-21 21:04:11 +02:00
Carsten Grohmann
e283ff2019 Fix to allow process names with spaces 2021-07-18 14:29:40 +02:00
Carsten Grohmann
1f087b7cd9 Change killed process from java to mysqld
The process has been renamed to use a one-to-one name. This makes it
easier to change the name in a test case.
2021-07-18 14:17:07 +02:00
Carsten Grohmann
04002ab6e6 Extent unit tests 2021-07-17 22:36:04 +02:00
Carsten Grohmann
bddbb3b149 Remove unnecessary semicolons in JS code 2021-07-15 20:34:13 +02:00
Carsten Grohmann
d5f07c92ad Using yay to install packages for test setup 2021-07-15 19:47:36 +02:00
Carsten Grohmann
ecf9ba11fd Add selenium based unit tests 2021-07-15 06:51:17 +02:00
Carsten Grohmann
6858d09eda Rename two variables to prevent shadowing
Shadowing isn't the problem here, but IDEs checker is complaining ...
2021-07-12 20:56:14 +02:00
Carsten Grohmann
e4629bf97b Disable optimizations to speedup build process 2021-07-12 20:49:27 +02:00
Carsten Grohmann
204c60e118 Pin transcrypt to version 3.7.16
The current version transcrypt version 3.9.0 is broken.
2021-07-12 20:16:10 +02:00
Carsten Grohmann
b720297b89 Improve SVG chart colour palette 2021-07-11 22:02:29 +02:00
Carsten Grohmann
f8f1b0358e Rearrange OMM summary 2021-03-12 20:34:15 +01:00
Carsten Grohmann
98c99fa57f Update copyright years 2021-02-05 17:04:09 +01:00
Carsten Grohmann
d4a90ec1bb Start new development cycle 2020-12-10 13:57:33 +01:00
Carsten Grohmann
eb0cee8c57 Bump version number to 0.4.0 2020-12-10 13:51:51 +01:00
Carsten Grohmann
6af2e7cba9 Bump version number to 0.4.0 2020-12-10 13:51:39 +01:00
Carsten Grohmann
79368cca05 Update documentation 2020-12-10 13:36:29 +01:00
Carsten Grohmann
5d305307fe Restructure build recipe 2020-12-08 11:49:32 +01:00
Carsten Grohmann
1292d4f1e2 Pin build process to Python 3.7
After a package update, transcrypt produces incomplete JS:
__target__/OOMAnalyser.js (147:15)
145:       }
146:       if (cols_to_strip) {
147:         var line = ;
                        ^
148:       }
149:       if (line.startswith ('kernel:')) {

instead of
 146       if (cols_to_strip) {
 147         var line = __getitem__ ((function () {
 148           var __accu0__ = line;
 149           return __call__ (__accu0__.py_split, __accu0__, '     ', cols_to_strip);
 150         }) (), __neg__ (1));
 151       }
 152       if (line.startswith ('kernel:')) {

A temporary pinning of Transcrypt to Python 3.7 solves this issue.
2020-12-08 10:50:40 +01:00
Carsten Grohmann
5945fb2d37 Convert hard coded values to variables 2020-12-07 15:05:02 +01:00
Carsten Grohmann
d964d657ba Allow all non-whitespace chars in program names
Program names in Posix can contain all characters expect the null byte.
The code allows \S (all non-whitespaces) and spaces in program names.
This excluded some allowed characters like \n, \r and \t. No negative
effects should arise from this.
2020-12-07 14:00:20 +01:00
Carsten Grohmann
7ef53b3ba2 Add missing explanations
for free, free_cma, free_pcp and "total pagecache pages"
2020-11-22 13:09:31 +01:00
Carsten Grohmann
967d231be5 Use transcrypt --sform to enable string formatting
The Python string formatting mini language isn't enabled by default.
"{}".format(42) works fine but "{0:x}.format(42)" returns "{0:x}"
instead of "2a" if the mini language isn't enabled.
2020-11-20 21:51:33 +01:00
Carsten Grohmann
ad2bcfd551 Add drag-and-drop support for files 2020-11-20 15:20:52 +01:00
Carsten Grohmann
c55a4d018e Pressing "Reset" cleans the text area also 2020-11-20 10:28:21 +01:00
Carsten Grohmann
4d31b9ad3d Use a better describing name for VIRTUAL_ENV
Rename variable from VIRTUAL_ENV to VIRTUAL_ENV_DIR.
2020-11-19 15:11:25 +01:00
Carsten Grohmann
674ea295a8 Line "Killed process" can contain the process UID
Newer Red Hat 7 releases changes the output of the OOM a little bit. The
last output line "Killed process" contains the process UID now.

Old:
    Killed process 6576 (java) total-vm:33914892kB, \
    anon-rss:20629004kB, file-rss:0kB, shmem-rss:0kB

New:
    Killed process 6576 (java), UID 12345, total-vm:33914892kB, \
    anon-rss:20629004kB, file-rss:0kB, shmem-rss:0kB
2020-11-19 14:58:39 +01:00
Carsten Grohmann
cceb2fa21e Process names can contains - signs also
Valid process names can consist of \w ([a-zA-Z0-9_]), minus and spaces.
2020-11-19 14:50:01 +01:00