From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686851980; x=1689443980; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=rJVFh7E19dwYTeJbX/HcIX2M0iNAfjVXF9xtn6QjUFM=; b=oVPrCzQn14mLcCIBPO5eW0NEhV7vf28wKztmUKsZXc2MIL3QUgO36Pj+VxXtbFz8Pd VIcpSnlUcZfbg5Cd84kCw323chzheVFdY96WFXjzH8GU9iiD6l56v5HICt70QdZyfO5n rb81Auf+mgli1g0Hs0vcn4SSjG8280yOLSsu4ZqfrFgBIOgTRydZolVwzncBn99THGwn Trb3SpRxzCRRbEGB+dmmlyqHxIv8w7c1R8wbRbe4IU+EbHSPbTgLI4AKGv28Vwns2gJM yrOQGO8Ss624HpYEM7261ytNjZzEfgzWuDtJZoUrlGRX8JMlK9Tu5rIrhFedZE7N+MpS fykA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686851980; x=1689443980; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=rJVFh7E19dwYTeJbX/HcIX2M0iNAfjVXF9xtn6QjUFM=; b=G2Y2MwrW8U0G7bEJqCxjDHeKoyL7/ebeuDDwL1kP4s5QJPnV+emODrR1YUEjCVNq0O BrI8Lo10oqO2WYqYHGmtdB5qsG0kX8ztHPPSw8yO9RbsmyoWFD6uF7ANWj98uQhqwIsE mBA4C1tfRuZiUirZJDreWGuPyy7U+qsxkhqeemtFnd+NPCmZmdTM3nRVnBT09rwJnOhk u36KM69g+Cr3QCkj3jjFPQqbs+/mRg8eNRk4IAgjsS+LS9aKRWWvg830MNXqWM9bhSGi OVFd1fLJIyPjXgDObUZ5XgB0bjvM6k2LV4Ngf2cE+xuW/QzlsINm/xmMMk+NBfAEIp2i CPfw== X-Gm-Message-State: AC+VfDyMFwsdN9rQpv8tq98iV25cjdLkhUDQkJ9dH7hu0Q32GsvFezh1 ASShkzj8h+rN22Z8m05nuC+6ADU/Dh4= X-Google-Smtp-Source: ACHHUZ5MvTMjEoRnXtyqXcJ7mrqL8x8g1qB4RDg7MsrqAQpGIfFu1GVWlKZ7ANdOhgDudr8Tj+9u0w== X-Received: by 2002:a05:6512:32ba:b0:4f3:b07e:7eb8 with SMTP id q26-20020a05651232ba00b004f3b07e7eb8mr10047516lfe.29.1686851979819; Thu, 15 Jun 2023 10:59:39 -0700 (PDT) From: Alexey Gladkov To: make-initrd@lists.altlinux.org Date: Thu, 15 Jun 2023 19:59:09 +0200 Message-Id: X-Mailer: git-send-email 2.33.8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [make-initrd] [PATCH v1 00/11] Add accounting feature X-BeenThere: make-initrd@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: make-initrd@lists.altlinux.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Jun 2023 17:59:42 -0000 Archived-At: List-Archive: Привет! Я написал фичу для отладки initramfs. Фича добавляет в бэкграунде процесс аккаунтинга, который запускается на самых ранних этапах загрузки и собирает данные о процессах. Перед запуском системного init формируется отчёт по интересующим критериям. Фича предназначена для отладки в тестах. Я хочу поразбираться, кто тратит больше всего времени или cpu/memory. А то сейчас очень профилировать очень сложно. Получилось сложнее, чем обычный acct(2), потому что я хотел получать не только comm процесса т.к. у шелльных скриптов это bash. Хотелось максимально поймать полный cmdline выполняемой программы. Alexey Gladkov (11): feature/procacct: New feature to debug initramfs feature/procacct: Use epoll feature/procacct: Use default rcvbufsz feature/procacct: Track more values feature/procacct: Use msgtemplate instead of custom struct feature/procacct: Use nonblocking per-call feature/procacct: Add bpf helper feature/procacct: Add accounting report feature/procacct: Wait until procacct is initialized feature/procacct: Make procacct optional feature/procacct: Add to testing Makefile.in | 10 + configure.ac | 36 + data/etc/rc.d/rc.sysexec | 12 + data/etc/rc.d/rc.sysinit | 26 +- features/debug-procacct/README.md | 3 + features/debug-procacct/config.mk | 1 + .../debug-procacct/data/bin/procacct-report | 117 ++++ .../data/etc/initrd/cmdline.d/procacct | 1 + features/debug-procacct/rules.mk | 1 + features/debug-procacct/src/Makefile.mk | 16 + features/debug-procacct/src/procacct-bpf.c | 57 ++ features/debug-procacct/src/procacct.c | 634 ++++++++++++++++++ features/debug-procacct/src/procacct.h | 13 + testing/packages-altlinux | 3 +- testing/test-root-btrfs-subvol.cfg | 2 +- testing/test-root-efi-partition.cfg | 2 +- testing/test-root-efi-reqpartition.cfg | 2 +- testing/test-root-luks+crypttab+noparam.cfg | 2 +- testing/test-root-luks+lukskey-noparam.cfg | 2 +- testing/test-root-luks+lukskey-plain.cfg | 2 +- testing/test-root-luks+lukskey-raw.cfg | 2 +- testing/test-root-luks-over-lvm.cfg | 2 +- testing/test-root-luks-over-raid1.cfg | 2 +- testing/test-root-luks.cfg | 2 +- testing/test-root-lvm+luks.cfg | 2 +- testing/test-root-lvm.cfg | 2 +- testing/test-root-partition+usr.cfg | 2 +- testing/test-root-partition.cfg | 2 +- testing/test-root-pipeline.cfg | 2 +- testing/test-root-raid1+raid5.cfg | 2 +- testing/test-root-raid1-degraded.cfg | 2 +- testing/test-root-raid1.cfg | 2 +- testing/test-root-raid5.cfg | 2 +- testing/test-root-sshfs-network-dhcp.cfg | 2 +- testing/test-root-sshfs-network-static1.cfg | 2 +- testing/test-root-zfs-partition.cfg | 2 +- testing/testing-altlinux-local | 9 + testing/testing-ks-initrd.cfg | 1 + 38 files changed, 955 insertions(+), 29 deletions(-) create mode 100644 features/debug-procacct/README.md create mode 100644 features/debug-procacct/config.mk create mode 100755 features/debug-procacct/data/bin/procacct-report create mode 100644 features/debug-procacct/data/etc/initrd/cmdline.d/procacct create mode 100644 features/debug-procacct/rules.mk create mode 100644 features/debug-procacct/src/Makefile.mk create mode 100644 features/debug-procacct/src/procacct-bpf.c create mode 100644 features/debug-procacct/src/procacct.c create mode 100644 features/debug-procacct/src/procacct.h -- 2.33.8