Carsten Grohmann
fd3372b54b
Filter out non-existent elements from SVG making
2021-10-20 21:32:57 +02:00
Carsten Grohmann
c8a6f74d03
Move more configuration to class BaseKernelConfig
2021-10-09 23:22:12 +02:00
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
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
cd832461b6
Add tooltips to memory SVGs
2021-07-25 08:42:39 +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
c9b665b464
Rework extracting a block from the OOM
2021-07-21 21:43:16 +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
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
b720297b89
Improve SVG chart colour palette
2021-07-11 22:02:29 +02: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
6af2e7cba9
Bump version number to 0.4.0
2020-12-10 13:51:39 +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
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
c55a4d018e
Pressing "Reset" cleans the text area also
2020-11-20 10:28:21 +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
Carsten Grohmann
b2b5a1b1db
Move GFP flags to class KernelConfig
2020-10-31 14:45:32 +01:00
Carsten Grohmann
2d55b800dc
Unify ps table column names in class KernelConfig
2020-10-31 14:40:02 +01:00
Carsten Grohmann
26610a709e
Pep8
2020-10-30 20:58:57 +01:00
Carsten Grohmann
0bc541ff11
Prefix CSS class mem-usage__svg with js-
...
This class is used within JS code.
2020-10-30 14:14:03 +01:00
Carsten Grohmann
468991a31b
Use textarea placeholder instead of own code
...
<textarea placeholder="..."> is more simple that writing own code.
Thereby the own code / logic has been removed.
2020-07-15 21:10:37 +02:00
Carsten Grohmann
230cddae19
Fix: Trigger process isn't part of process table
2020-07-15 20:43:44 +02:00
Carsten Grohmann
d670dbef45
Use class instead of type selector
...
for memory usage diagrams. This allows a better separation between
different SVG usages.
2020-04-07 17:26:29 +02:00
Carsten Grohmann
a8772ab94e
Remove unused code
2020-04-07 14:52:59 +02:00
Carsten Grohmann
7b80e1b23a
Bad indentation and tailing whitespaces
2020-04-07 14:51:34 +02:00
Carsten Grohmann
23f064f2b7
Add sorting process table
2020-04-05 14:28:37 +02:00
Carsten Grohmann
54e4f566a4
Replace plain text process table by an HTML table
...
and mark the trigger process and the killed process.
2020-03-26 13:46:20 +01:00
Carsten Grohmann
da77369418
Convert score automatically to integer
...
Convert killed_proc_score and trigger_proc_oomscore to integer values
2020-02-04 20:30:11 +01:00
Carsten Grohmann
1ac0bd8fe9
Don't clean elements when set back to defaults
...
The elements are not shown, thereby a cleanup isn't necessary. When the
elements are shown again, new values are set and overwrite the old one.
2020-02-03 21:22:44 +01:00
Carsten Grohmann
ff725e9235
Fix issue that prevents units from being copied
...
Units have been placed with the ::after selector. Content showing with
this pseudo-element can't be selected and copied.
Now the units are automatically added when the value is set.
2020-02-03 21:15:47 +01:00
Carsten Grohmann
527eaa4cf6
Use classes selectors to simplify handling
2020-02-03 06:18:40 +01:00
Carsten Grohmann
9470c552e6
Add percentage of memory usage to analysis summary
2020-01-31 22:10:11 +01:00
Carsten Grohmann
27e811979c
Add suffix "_pages" to process table items
2020-01-09 06:28:34 +01:00
Carsten Grohmann
13afe5247b
Rollback changed interpretation of last OOM line
...
This is a logical rollback because I was wrong about the
interpretation of this line.
2020-01-08 20:59:20 +01:00
Carsten Grohmann
3dc965e8ff
Set a single value to several places
...
Prior this change items are set to html elements with id of the same
name. Now OOMDisplay._set_item() searches for elements with same-named
id or with item name listed in class attribute.
This allows to set one value to several places to once.
Additional suffixes for pages and kbytes are added in the singular or
plural automatically.
2020-01-06 22:11:51 +01:00
Carsten Grohmann
fe3aed9815
Fix calculation of requested memory in kBytes
2020-01-05 01:12:58 +01:00
Carsten Grohmann
cd00996583
Rename item according to the naming convention
2020-01-05 01:10:35 +01:00
Carsten Grohmann
374cc2e910
Fix interpretation of the last OOM line
...
The memory statistics in the last OOM line (total-vm, anon-rss,
file-rss, shmem-rss) are overall and not related to the killed process.
2020-01-05 01:00:02 +01:00
Carsten Grohmann
85308f6d03
Typos
2020-01-05 00:52:13 +01:00
Carsten Grohmann
5b384a4d8f
Add a textual summary of the analysis
2020-01-04 14:25:41 +01:00
Carsten Grohmann
a8344d3656
Update copyright years
2020-01-02 20:58:01 +01:00
Carsten Grohmann
606d0d6769
Use negative slicing with operator overloading
...
Positive numbers in slices works well, but for negative numbers you
have to activate operator overloading. This has a (unknown) speed
penalty.
2019-12-03 06:54:27 +01:00
Carsten Grohmann
dfcbe56fa6
Start new development cycle
2019-12-03 06:49:44 +01:00
Carsten Grohmann
281d7f4258
Bump version number to 0.3.0
2019-11-24 11:00:08 +01:00
Carsten Grohmann
0d0fe27fca
Prefix CSS classes text--default* with js-
...
These classes are used within JS code to control the visibility during
the web page will set to the default.
2019-11-24 10:23:57 +01:00
Carsten Grohmann
6f1245bd15
Show h2 headline in TOC only if id attr is set
...
There are two conditions to show a h2 headline in TOC:
* the headline is visible
* the id attribute is set
Thereby the css style js-flag-hide-from-toc won't be used anymore.
2019-11-21 08:14:12 +01:00
Carsten Grohmann
9d9e1d9d6e
Add to the right an automatically generated TOC
2019-11-16 10:53:07 +01:00
Carsten Grohmann
9e35bf8596
Use a better describung name for class OOMState
...
and rename it to OOMEntityState
2019-11-14 06:31:00 +01:00
Carsten Grohmann
58f06caede
Use return value from OOMAnalyser.analyse() directly
2019-11-13 20:57:25 +01:00
Carsten Grohmann
b0abc7f3c0
Empty results for new extract run
2019-11-13 20:52:12 +01:00
Carsten Grohmann
138022beae
Use CSS to show/hide elements in default view
2019-11-13 20:48:44 +01:00
Carsten Grohmann
824e8365e6
Clarify comment in OOMDisplay.analyse_and_show()
2019-11-13 06:39:37 +01:00
Carsten Grohmann
5305326069
Use a better describing name for OOMAnalyser.oom
2019-11-12 21:05:42 +01:00
Carsten Grohmann
adeaef5161
Use a better describing name for class OOM
2019-11-12 21:02:30 +01:00
Carsten Grohmann
6a8b484006
Add check/state for empty an OOM block
2019-11-12 20:50:07 +01:00
Carsten Grohmann
1c2290b371
Add an enum to track the completeness of an OOM
2019-11-12 20:42:06 +01:00
Carsten Grohmann
217a0f9ee4
Clear the OOM textarea if it gets the focus
...
Clear the area onfocusin only if this just contains the usage hint.
2019-11-05 20:45:55 +01:00
Carsten Grohmann
f8cc21809b
Eliminate duplicate statement to hide notifications
2019-11-05 20:31:18 +01:00
Carsten Grohmann
9fc006e227
Eliminate duplicate code to show the notification box
2019-11-05 20:29:02 +01:00
Carsten Grohmann
5140713c99
Unescape line feeds escaped by rsyslog
2019-11-04 21:04:23 +01:00
Carsten Grohmann
c2199bc029
Ignore elements w/o values in SVG generation
...
If the OOM format has changed and the regular expression doesn't match,
the values are None (js: undefined). Ignore such values now.
2019-11-02 21:19:04 +01:00
Carsten Grohmann
23b33e3763
Strip columns left to the message automatically
...
Just count the columns leftside of the OOM message instead of defining
their format/content and position.
This is more flexible.
2019-11-01 21:38:34 +01:00
Carsten Grohmann
7e637aa3f8
Update date format regex
...
This regex will be used to cut off the leading timestamp.
2019-10-30 21:46:26 +01:00
Carsten Grohmann
ea2e674998
Update copyright years
2019-02-07 20:52:37 +01:00
Carsten Grohmann
dd75da31c0
Move distribution guessing into own function
2018-11-08 20:53:52 +01:00
Carsten Grohmann
b7ca1fdec5
Add kernel signature for Oracle Linux 7 UEK
2018-11-08 20:46:05 +01:00
Carsten Grohmann
f1591ed8f9
Don't add suffixes "kBytes" and "pages" twice
2018-10-16 19:59:46 +02:00
Carsten Grohmann
5a89d46034
Use CSS classes to control the visibility
2018-10-16 19:50:33 +02:00
Carsten Grohmann
32126bf735
Use better names for CSS selectors
2018-10-13 19:00:09 +02:00
Carsten Grohmann
2dac4e2c48
Rename OOMAnalyser.details to OOMAnalyser.results
2018-09-11 19:55:29 +02:00
Carsten Grohmann
c6c2361310
Remove redundant character escape in RE
2018-09-11 19:51:01 +02:00
Carsten Grohmann
85a82a4770
Separate analysis and visualisation
...
Extract code to display details from code to analyse/split the OOM.
This should simplify later extensions as well as later written unit
tests.
2018-09-11 19:49:39 +02:00
Carsten Grohmann
ffd77573d6
Use a more speaking name for the index in OOM class
2018-08-27 20:02:06 +02:00
Carsten Grohmann
8764399e2b
Update docstrings
2018-08-27 19:58:43 +02:00
Carsten Grohmann
d03db8f8ad
Bump version number to 0.2.0
2018-08-12 14:22:55 +02:00
Carsten Grohmann
e34c5ab909
Show the requested memory additionally in kBytes
...
Till now the requested memory has been shown in pages only.
2018-08-12 14:18:09 +02:00
Carsten Grohmann
d7456383a2
Hide full OOM message at and of the table
...
Since all elements are extracted and shown already. The original OOM
text is faded out. Click to notice next by the head line to expand
the full message again.
2018-08-12 13:34:24 +02:00
Carsten Grohmann
ae7ace8798
Use pragma 'jsiter' to write more pythonic code
2018-08-10 21:03:30 +02:00
Carsten Grohmann
08fa63010c
Analyse the complete line "invoked oom-killer"
...
Analyse and show the GFP mask, the nodemask (is available), the
number of requested pages (order) and the adjusted OOM score.
2018-08-08 20:41:26 +02:00
Carsten Grohmann
2cdd3a98ed
Change handling of not found elements
2018-05-06 11:01:40 +02:00
Carsten Grohmann
e3558a911f
Hide table rows w/o values instead of showing "<not found>"
2018-04-16 21:06:20 +02:00
Carsten Grohmann
0b3beb07c6
Merge handling of regular expressions using the same pattern
2018-04-15 21:07:14 +02:00
Carsten Grohmann
3e6d4c8662
Display "<not found>" for all values that are not part of the OOM
2018-04-15 20:54:24 +02:00
Carsten Grohmann
e29bf05efd
Integrate memory page details
2018-04-15 20:14:29 +02:00
Carsten Grohmann
51ca9b8347
Change distribution labels
2018-04-10 18:08:39 +02:00
Carsten Grohmann
a5de90ca2a
Rotate colours if more elements in SVG diagram than colours
2018-04-06 22:20:26 +02:00