{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":210154784,"defaultBranch":"master","name":"zps","ownerLogin":"orhun","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-09-22T13:47:55.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/24392180?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1705699373.0","currentOid":""},"activityList":{"items":[{"before":"f15cd845c1a5a259e66401dcdbb7ea082d7c9b5d","after":"76ffe8051248c3327d624fda6c005948ae2b4056","ref":"refs/heads/master","pushedAt":"2024-01-19T21:03:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"orhun","name":"Orhun Parmaksız","path":"/orhun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/24392180?s=80&v=4"},"commit":{"message":"Improve performance and code style, refactor, partial rewrite (#17)\n\n* Improve readability (uniformity, naming, includes)\r\n\r\n* De-cluttering, new types, reduced usage of globals\r\n\r\n* Introduce new enums, change format functions\r\n\r\n* Change to realtime clock\r\n\r\n* Improve performance and style, partial rewrite\r\n\r\nThis commit addresses TODO#2 by universalizing the functions handling\r\nthe zombie processes and sending `SIGCHLD` in the case where the\r\nuser did not explicitly tell the program to reap zombies (reflected\r\nin the `terminate` member of our settings. Whenever a signal\r\nis sent, the used signal is displayed to the user.\r\n\r\nSome parts of old functions were put into new functions to also\r\nimprove readability.\r\n\r\nThe most substantial improvement lies in the performance aspect\r\nof the program. The use of `nftw()` in the old code was the\r\nbiggest bottleneck, as an insane, unnecessary number of syscall\r\nare issued for each process. Thus, the directory and file reading\r\npart was adapted, using manual `readdir()` calls. As the `-f` flag\r\ndid not make sense to have in the program anyway (and could lead\r\nto OOM kill), it was also dropped.\r\n\r\nRegex was also dropped, as its use was unnecessary and complicated\r\nthings, and the parsing of `\"/proc//stat\"` was rewritten.\r\n\r\nAs kernel processes were not excluded in the program before,\r\nthis commit checks for processes which should be left out\r\nof our considerations (PID `2`, as well as its children;\r\n`init` is also excluded).\r\n\r\nDisplay widths for the output are now defined in the accompanying\r\nheader, and should be in line with the `proc(5)` documentation.\r\n\r\nThe code for the prompt was improved with respect to the handling\r\nof invalid user input and coloring.\r\n\r\nFinally, to completely remove the unnecessary globals, a vector\r\nstructure was defined in the header, which can dynamically grow.\r\nAs the old version of the code did not check for overflows in this\r\ncontext, this is also a great improvement.\r\n\r\n* Add newline at end of file in Dockerfile\r\n\r\n* Adapt code in `zproc.c` to match `zps.{c,h}`\r\n\r\n* Update manpage to match source\r\n\r\n* Remove the `-f` flag test\r\n\r\n* Remove unnecessary comments and update category\r\n\r\n* Add missing newline at EOF in `CMakeLists.txt`\r\n\r\n* Remove notions of `-f` from the READMEs\r\n\r\n* Add a `.clang-format` file consistent with sources\r\n\r\n* Remove the other `-f` test\r\n\r\n* Add missing `` include\r\n\r\n* Use custom signal abbreviation function\r\n\r\n* Remove `stdlib.h.gcov` from `rm` command\r\n\r\n* Change array to `static`\r\n\r\n* Remove redundant print (will never happen (`proc(5)`)\r\n\r\n* Add `const` qualifiers to be more clear\r\n\r\n* Add even more `const` qualifiers\r\n\r\n* Change function pre-conditions to `assert()` calls\r\n\r\n* Bump version\r\n\r\nCo-authored-by: Orhun Parmaksız \r\n\r\n* Drop unused macro\r\n\r\n* Define `NDEBUG` in `CMakeLists.txt` and `Makefile`\r\n\r\nThis will disable the pre-condition assertions in all functions,\r\nwhich should never be false for releases anyway.\r\n\r\n* Extend color functionality, refactor CLI options\r\n\r\nThis commit ...\r\n\r\n* allows users to directly specify signals to\r\nsend to zombie parents (using common signal\r\nnumbers, abbreviations and abbreviations with\r\n\"sig\" in front of them (case-insensitive)\r\n\r\n* changes existing command-line options to simpler\r\nones\r\n\r\n* places constraints on the possible combinations\r\nof command-line options used\r\n\r\n* adds functionality to detect if the program's\r\noutput is, for example, piped to another program\r\nthat will automatically disable ANSI color codes\r\n\r\n* adds a `--no-color` option to manually disable\r\nthe default coloring\r\n\r\nThe manual page and READMEs would still need\r\nto be updated.\r\n\r\n* Update tested flags\r\n\r\n* Update demos, READMEs and help texts\r\n\r\n* Bump year\r\n\r\n* Improve code clarity and remove TODOs (issues TBA)\r\n\r\n* Disable runtime assertions for the `Dockerfile`\r\n\r\n---------\r\n\r\nCo-authored-by: Matthäus Wininger \r\nCo-authored-by: Orhun Parmaksız ","shortMessageHtmlLink":"Improve performance and code style, refactor, partial rewrite (#17)"}},{"before":"018374f2efe92bebbb7d997cd05a56d3a949f460","after":"f15cd845c1a5a259e66401dcdbb7ea082d7c9b5d","ref":"refs/heads/master","pushedAt":"2023-11-17T05:15:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"orhun","name":"Orhun Parmaksız","path":"/orhun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/24392180?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"db08482f674484e3914b635152f2eb8b9d2415fa","after":"018374f2efe92bebbb7d997cd05a56d3a949f460","ref":"refs/heads/master","pushedAt":"2023-11-17T05:12:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"orhun","name":"Orhun Parmaksız","path":"/orhun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/24392180?s=80&v=4"},"commit":{"message":"Add instructions for Alpine Linux","shortMessageHtmlLink":"Add instructions for Alpine Linux"}},{"before":"1e91a9d13b6529a9063b693affc472efd58e5261","after":"db08482f674484e3914b635152f2eb8b9d2415fa","ref":"refs/heads/master","pushedAt":"2023-11-17T05:10:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"orhun","name":"Orhun Parmaksız","path":"/orhun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/24392180?s=80&v=4"},"commit":{"message":"Support Buy Me a Coffee as funding option","shortMessageHtmlLink":"Support Buy Me a Coffee as funding option"}},{"before":"83f38fd2e37b6b88df1a631849c82a97a42bb135","after":"1e91a9d13b6529a9063b693affc472efd58e5261","ref":"refs/heads/master","pushedAt":"2023-11-17T05:08:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"orhun","name":"Orhun Parmaksız","path":"/orhun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/24392180?s=80&v=4"},"commit":{"message":"Format documentation","shortMessageHtmlLink":"Format documentation"}},{"before":"503a11006a74e4ce0aecdbfcaad4ed9afc7add46","after":"83f38fd2e37b6b88df1a631849c82a97a42bb135","ref":"refs/heads/master","pushedAt":"2023-11-13T01:27:19.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"orhun","name":"Orhun Parmaksız","path":"/orhun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/24392180?s=80&v=4"},"commit":{"message":"Add `#include` guards to prevent double inclusion","shortMessageHtmlLink":"Add #include guards to prevent double inclusion"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMS0xOVQyMTowMzo0OS4wMDAwMDBazwAAAAPkWas9","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMS0xOVQyMTowMzo0OS4wMDAwMDBazwAAAAPkWas9","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0xMS0xM1QwMToyNzoxOS4wMDAwMDBazwAAAAOtb5b_"}},"title":"Activity · orhun/zps"}