Edit file File name : ChangeLog Content :commit db3454393c07f73462df89d39e722fb1d82e5609 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat May 13 10:17:41 2023 +0200 Prepare for atop 2.9 M atopconvert.c A prev/photoproc_29.h A prev/photosyst_29.h commit fab95e9104a08ff23ab73f3490d63bdaa36094e7 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat May 13 10:16:56 2023 +0200 Avoid compiler warning by limiting PSI average M showsys.c commit 6a5dc86e2db59c8cfa954a6738c50b6d03b1a1dc Merge: 6423e5d e5f9489 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sun May 7 16:55:30 2023 +0200 Merge pull request #258 from bytedance/PAG_STEAL add man for PAG steal commit 6423e5d0276de2da3c794839996a5b5489ada60c Merge: 0e0a4f5 1e10331 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sun May 7 16:49:45 2023 +0200 Merge branch 'bytedance-atopacct_fail' commit 1e10331add3ffb94f43e017835a4943c99865462 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sun May 7 16:47:47 2023 +0200 Install cleanup function to avoid termination of parent process M atopacctd.c commit e5f9489fba326d3db9ff914bc9972afef0ccca74 Author: liutingjieni <liuting.0xffff@bytedance.com> Date: Sat May 6 11:52:00 2023 +0800 add man for PAG steal M man/atop.1 commit ef4eaba7aefcf166e869ffd474ef61bb2ef765f6 Merge: 0e0a4f5 22bebc9 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Apr 29 23:04:59 2023 +0200 Merge branch 'atopacct_fail' of github.com:bytedance/atop into bytedance-atopacct_fail commit 0e0a4f5af9bb9c6a66388add69161d5aa9caabeb Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Apr 29 10:07:07 2023 +0200 Oomkills event should not remain orange after boot values M drawbar.c commit 9517b682ff6729a4e7d810720ea7ba2a0b20e8a2 Merge: 967a629 a8082ea Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Fri Apr 28 15:57:42 2023 +0200 Merge pull request #249 from natoscott/fix-warnings Resolve compiler warnings from latest versions of GCC commit 967a629645eb7170af6b6dac155b8abfc3439271 Merge: 75f8e14 8d18a52 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Fri Apr 28 15:52:02 2023 +0200 Merge pull request #246 from Algebra970/clean-versdate Added versdate.h to make clean target commit 75f8e144fcf2790959811e8a746d2f11f9d50cfb Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sun Apr 23 22:22:38 2023 +0200 Clarified atop man page M man/atop.1 commit 2dd526cb1ac6ba5f0e23cf7bcb27083aa4bc2b6e Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sun Apr 23 12:15:42 2023 +0200 Closing bracket missing in synopsis M man/atop.1 commit dd16cc037c1dc2d24b721d5f3186a2ac5a4870c2 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Apr 22 12:24:25 2023 +0200 Add highlight concerning bar graph mode M README.md commit 2bc0a169330215b3d5bae3dff0b9d38aa1ff8814 Merge: 2eeed8b 57851a8 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Apr 22 12:11:54 2023 +0200 Merge branch 'bargraph' commit 57851a8032cd79460536d2a5314d4384ea2aef81 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Apr 22 11:12:30 2023 +0200 Introduce bar graph mode Besides all detailed information that is supplied by atop on system and process level, a (character-based) bar graph can be shown about the utilization of the most critical system resources, i.e. processors, disks, network interfaces and memory. The original interface of atop is still compatible and is called 'text mode' from now on, while the additional interface is called 'bar graph mode'. Atop will still be started in 'text mode' unless the '-B' flag is used. Within an interactive atop session, the 'B' key can be used to switch between the two modes. The bar graph mode can be used for live monitoring as well as for viewing of raw files. M Makefile M atop.c M atop.h A drawbar.c M man/atop.1 M man/atoprc.5 M parseable.c M showgeneric.c M showgeneric.h M showlinux.c M showprocs.c M showsys.c commit 2eeed8b8ff907ac330459b6ca0a2b3a8b2860ae2 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Mon Apr 3 08:35:36 2023 +0200 Freeing ethlink should depend of ifdef M ifprop.c commit 5f5a41407222a407add06d59da46b5e64a3f763d Merge: 0c7ce67 e34e936 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Apr 1 22:19:08 2023 +0200 Merge branch 'bytedance-recollect-nprocexit-by-reacquire-acctfd' commit e34e9366c6ce4bf0de2b9f875e0e8375618bdd1e Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Apr 1 22:18:28 2023 +0200 Added reset to indicate shadow file to be closed M acctproc.c commit 22bebc9fc2a3d83799072d711aa2a977d4f7c481 Author: Ting Liu <liuting.0xffff@bytedance.com> Date: Thu Mar 23 20:50:43 2023 +0800 fix atopacctd.c: failed to start atopacct.service The type of atopacct.service is "forking". If the parent process does not exit within 90 seconds after starting, the service is considered to have failed to start. After executing fork(), there is a situation where the child process gets scheduled before the parent process. When the child process reaches the kill() function and sends a signal to the parent process, the parent process has not yet been scheduled. After receiving the signal, the parent process executes the signal handling function but has not yet reached the pause() function. As a result, the parent process gets stuck in the pause() function and does not exit, causing the atopacct.service to fail to start. M atopacctd.c commit 90efc4bea781b71cc8f77f8f9484c80fbfd21b49 Author: Fei Li <lifei.shirley@bytedance.com> Date: Mon Jan 16 17:40:23 2023 +0800 acctatop: reacquire acctfd to collect nprocexit for some bad cases In current code, the acctfd value in acctproc.c will not be updated once atop runs. This can cause 'nprocexit is zero' problem when atopacct.service restarts but atop.service not, in which case, the previous shadow file that atop read is being '(deleted)'. As acctfd does not change, atop will continue reading that obsolete file whose size will never grow, leading to get a wrong number of exited process, e.i. always be zero from now on until atop.service restarts. Fix this by reacquiring the new shadow file fd after atopacct.service restarts. By the way, only reacquire for atopacct case; as for other cases that directly read from acct() file, restarting service does not make the nprocexit a wrong value. Besides, if the atopacct or (p)acct service is stopped for a while, ignore this situation too, as we are not sure if the action is on purpose or not. Signed-off-by: Fei Li <lifei.shirley@bytedance.com> M acctproc.c commit 6f4761381c6f669613a5339542fa2e6cbac41adf Author: Fei Li <lifei.shirley@bytedance.com> Date: Fri Jan 13 21:16:58 2023 +0800 Calibrate nprocexit to avoid atop coredumps unexpectedly There's a case that the shadow file becomes larger than its limit, e.i. (maxshadowrec * acctrecsz), and then suddenly atopacct.service restarts suddenly. In current logic supposing atopacct.service does not restart, we will continue to read a new shadowpath whose sequence is one greater than the fulled one. But this does not work if atopacct.service restarts, as the new shadowpath's sequence number will be started with zero, leading to a negative value when comparing with the fulled one. And thus return the unsigned long 'nprocexit' as a very huge positive number. What's more, after acctphotoproc(), we get a wrong acctsize (including reset acctsize to zero), and thus a dummy huge 'curpexit' struct whose partial attributes like gen/cpu/mem/disk are still zeroed. Then later, the same as 'devtstat' struct. Finally, these zeroed attributes will cause a glibc sort() coredump like "*a = 0" during compcpu(), compmem() and so on. To fix this case, - firstly, return numrecs as zero once detecting atopacct.service restarts or other bad cases, regarding as an incomplete sample; - secondly, to avoid other bad cases, calibrate nrexit during acctphotoproc(), re-calculate the real 'nprocexit' to avoid the "*a = 0" error. Signed-off-by: Fei Li <lifei.shirley@bytedance.com> Co-authored-by: Ting Liu <liuting.0xffff@bytedance.com> M acctproc.c commit 0c7ce67ab72041f1829ef71cfa00f4b7bfa630d6 Merge: 7a917f3 8390f4d Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Mar 25 12:23:06 2023 +0100 Merge pull request #248 from bytedance/fix-json-lvm json.c: fix avque counters output commit 7a917f3e20980d1488ddb8a111a5f1f460561843 Merge: 6b9691a 6809e6f Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Mar 25 12:22:03 2023 +0100 Merge pull request #245 from xixiliguo/fix-paging-stat fix calculation for scan and steal commit 6b9691a4248e933ef608bad59ca89302a1fc154d Merge: eb158ef a273887 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Mar 25 12:09:08 2023 +0100 Merge pull request #239 from pizhenwei/fix-memory-leak ifprop.c: Fix possible memory leak commit 8390f4d028c328ee4d9ca604ec2f14930ddb1ac7 Author: Fei Li <lifei.shirley@bytedance.com> Date: Mon Mar 6 11:37:24 2023 +0800 json.c: fix avque counters output Fixes: 6cc222a8c528 ("Add avque counters to json data") Signed-off-by: Fei Li <lifei.shirley@bytedance.com> M json.c commit a8082ea0c401a8a5dc70b62be0027f3e7324b5d5 Author: Nathan Scott <nathans@redhat.com> Date: Mon Mar 6 14:42:56 2023 +1100 Resolve compiler warnings from latest versions of GCC Fix an incorrect struct array null test on bdev names, i.e. "warning: the comparison will always evaluate as ‘true’ for the address of ‘name’ will never be NULL [-Waddress]" in disk, LVM and MD block device deviate.c calculations. M deviate.c commit eb158ef2b2a48607788c5cd0a8213100d6df12f8 Merge: 5073b66 4f04c2c Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Fri Mar 3 16:48:57 2023 +0100 Merge pull request #243 from Algebra970/master only call str.decode if nvml returned bytes commit 8d18a52efd8e77ac48cc5758f8ff5bf686f0142b Author: elad <soffer.elad@gmail.com> Date: Wed Mar 1 18:17:26 2023 +0200 Added versdate.h to make clean target M Makefile commit 4f04c2ca5695e025413357c608abf9e2d0397a0f Author: elad <soffer.elad@gmail.com> Date: Wed Mar 1 18:14:10 2023 +0200 Revert "Added versdate.h to make clean target" This reverts commit 2973c8ee71d1cc23853fc79c503571b257ae97a8. M Makefile commit 2973c8ee71d1cc23853fc79c503571b257ae97a8 Author: elad <soffer.elad@gmail.com> Date: Wed Mar 1 18:07:52 2023 +0200 Added versdate.h to make clean target M Makefile commit 6809e6f22c29435a244fe797e28328f37728b101 Author: peter wang <wangbo.red@gmail.com> Date: Wed Mar 1 21:33:46 2023 +0800 fix calculation for scan and steal M photosyst.c commit 69bf04e1a1f5e8ba7c99da1dc56a3e022ccf83c6 Author: elad <elad@uveye.com> Date: Sun Feb 26 15:39:00 2023 +0200 only call str.decode if nvml returned bytes M atopgpud commit 5073b66c6945d7b22acdbd9c5ed0f353cf8e0eb9 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Feb 25 14:49:42 2023 +0100 Add exit epoch to parseable output PRG (solves issue #242) M man/atop.1 M parseable.c commit 9e3b62584ae5cc710f222aaa1f52aa3e25cff49c Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Feb 25 14:23:20 2023 +0100 Minor correction in man page for NVCSW/NIVCSW M man/atop.1 commit 788cb32fcd7693f5773f5f4b361908146501a943 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Feb 25 14:13:42 2023 +0100 Context switches (voluntary and involuntary) on process level incorrect. The context switches on process level only concern the values of the main thread instead of all threads. Corrected by accumulating values of all threads. M photoproc.c commit 999103c4983260cfdcbaad30f78030a88358ed16 Merge: 71a8690 b870681 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Feb 25 14:01:33 2023 +0100 Merge branch 'bytedance-photoproc-ctxSwitch' commit b870681434b8df10667f837a8d5cce5bb9d555ec Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Feb 25 13:56:58 2023 +0100 Various modifications releated to (non)voluntary context switches. - new counters should be added at the end of line for parseable output - document parseable counters (man page) - field descriptions in alphabetical order (man page) - use val2valstr() for counters with a fixed column width M man/atop.1 M parseable.c M showlinux.c M showprocs.c commit d3eea820addf0e943bb08b2934f4cb0a7a900dad Merge: 71a8690 e22b934 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Feb 25 13:23:06 2023 +0100 Merge branch 'photoproc-ctxSwitch' of github.com:bytedance/atop into bytedance-photoproc-ctxSwitch commit 71a8690bccbce5b8b7794336b74eb12261214ce9 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Feb 25 13:12:27 2023 +0100 Merging macro protection in header files (pull request #215) M acctproc.h M atop.h M atopacctd.h M ifprop.h M mkdate M netatop.h M netatopd.h M netstats.h M parseable.h M photoproc.h M rawlog.h M showgeneric.h M showlinux.h M version.h commit e22b934636935e973136b6d1bc3285e83ddb2451 Author: Fei Li <lifei.shirley@bytedance.com> Date: Wed Nov 23 14:51:24 2022 +0800 Add nvcsw and nivcsw for each process As we all know, too much context switches can lead to poor performance. Besides, sometimes one same process deployed in two places may behave different. Thus it's necessary to collect the - nvcsw (number of times that the program was context-switched voluntarily, for instance while waiting for an I/O operation to complete) and - nivcsw (number of times the process was context-switched involuntarily, e.g. the time slice expired) two indicators to monitor the performance. Signed-off-by: Fei Li <lifei.shirley@bytedance.com> M deviate.c M json.c M man/atop.1 M parseable.c M photoproc.c M photoproc.h M showgeneric.c M showlinux.c M showlinux.h M showprocs.c commit a273887b2defb457e0e5b1c58c5c906683b58921 Author: zhenwei pi <pizhenwei@bytedance.com> Date: Wed Feb 22 11:19:56 2023 +0800 ifprop.c: Fix possible memory leak Once 'ioctl(sockfd, SIOCETHTOOL, &ifreq)' fails, the dynamically allocated memory buffer(ethlink points to) gets orphan. Signed-off-by: zhenwei pi <pizhenwei@bytedance.com> M ifprop.c commit 416e955f7c8e6872dc27512b3084b1528e62163c Merge: 3cd21d0 99a2581 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Feb 18 16:56:26 2023 +0100 Merge branch 'master' of github.com:Atoptool/atop commit 3cd21d05c690f9c0fd871bf3651c7936ff887d85 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Feb 18 16:55:51 2023 +0100 Code cleanup and prototype additions M Makefile M acctproc.c M atop.c M atop.h M atopacctd.c M atopconvert.c M atopsar.c M json.c M netlink.c M parseable.c M photosyst.c M photosyst.h M procdbase.c M showgeneric.c M showgeneric.h M showlinux.c M showlinux.h M showprocs.c M showsys.c M various.c M version.h commit 99a25812e50cbecdcad71fccec6d4a625b04436e Merge: ca9d6d9 6180aba Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Feb 18 15:04:30 2023 +0100 Merge pull request #231 from bytedance/fix-atop-rotate atop-rotate.service: use restart instead of try-restart commit ca9d6d9f902ae73c1b9b78ff937900648ebfead1 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Feb 4 12:34:20 2023 +0100 Consistency check on number of threads (solves issue #232) M photoproc.c commit 6180aba57e07544c85dc9f8ba5d052e8bc719851 Author: Fei Li <lifei.shirley@bytedance.com> Date: Fri Jul 15 20:01:08 2022 +0800 atop-rotate.service: use restart instead of try-restart `man systemctl` says the 'try-restart' pattern: 'Restart one or more units specified on the command line if the units are running. This does nothing if units are not running.' That means atop can not be started successfully by daily atop-rotate.timer if it is already exited. Fix this by changing try-restart to restart. Signed-off-by: Fei Li <lifei.shirley@bytedance.com> M atop-rotate.service commit 72f361df6ae11d63443cf562fee1bdeb0f6218bd Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Jan 7 19:42:31 2023 +0100 Add link to atophttpd M README.md commit 5bc3edc64ca01dd46922b34402c67c6f286399aa Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Jan 7 14:27:52 2023 +0100 Version 2.8.1 M version.h commit a2c45992f59ce6110b24b22fc9bf65028197e96d Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Jan 7 12:21:03 2023 +0100 Solve compiler warnings about format-truncation M various.c commit b93546d1ed03ec5b6e0c747a2571820129d60771 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Jan 7 12:02:37 2023 +0100 Avoid buffer overflows during value formatting M various.c commit 490c73ce516bff6dd53786e2be29bbcbc4185071 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Jan 7 12:00:36 2023 +0100 Correct NUMA conversion in logfiles from version 2.7 to 2.8 M atopconvert.c commit ed17722fa50f3a0be4d1d4a86336180a38a69109 Author: Gerlof Langeveld <gerlof.langeveld@atoptool.nl> Date: Sat Jan 7 11:16:42 2023 +0100 Added contributor M AUTHORS Save