From: Shachar Sharon Date: Tue, 20 May 2025 07:27:23 +0000 (+0300) Subject: status: dump only relevant sections of per-share X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7f65710d8ee903c75e1a7fca88000c44692d53a6;p=thirdparty%2Fsamba.git status: dump only relevant sections of per-share Some profile sections are not relevant for per-share profile counters. Ignore non-implemented section with all-zeros (avoid confusion). Signed-off-by: Shachar Sharon Reviewed-by: Volker Lendecke Reviewed-by: Anoop C S --- diff --git a/source3/include/smbprofile.h b/source3/include/smbprofile.h index 0ddf17bb6a8..b45d709b016 100644 --- a/source3/include/smbprofile.h +++ b/source3/include/smbprofile.h @@ -256,6 +256,94 @@ struct tevent_context; \ SMBPROFILE_STATS_END +#define SMBPROFILE_STATS_PERSVC_SECTIONS \ + SMBPROFILE_STATS_START \ + \ + SMBPROFILE_STATS_SECTION_START(syscall, "System Calls") \ + SMBPROFILE_STATS_BASIC(syscall_opendir) \ + SMBPROFILE_STATS_BASIC(syscall_fdopendir) \ + SMBPROFILE_STATS_BASIC(syscall_readdir) \ + SMBPROFILE_STATS_BASIC(syscall_rewinddir) \ + SMBPROFILE_STATS_BASIC(syscall_mkdirat) \ + SMBPROFILE_STATS_BASIC(syscall_closedir) \ + SMBPROFILE_STATS_BASIC(syscall_open) \ + SMBPROFILE_STATS_BASIC(syscall_openat) \ + SMBPROFILE_STATS_BASIC(syscall_createfile) \ + SMBPROFILE_STATS_BASIC(syscall_close) \ + SMBPROFILE_STATS_BYTES(syscall_pread) \ + SMBPROFILE_STATS_BYTES(syscall_asys_pread) \ + SMBPROFILE_STATS_BYTES(syscall_pwrite) \ + SMBPROFILE_STATS_BYTES(syscall_asys_pwrite) \ + SMBPROFILE_STATS_BASIC(syscall_lseek) \ + SMBPROFILE_STATS_BYTES(syscall_sendfile) \ + SMBPROFILE_STATS_BYTES(syscall_recvfile) \ + SMBPROFILE_STATS_BASIC(syscall_renameat) \ + SMBPROFILE_STATS_BYTES(syscall_asys_fsync) \ + SMBPROFILE_STATS_BASIC(syscall_stat) \ + SMBPROFILE_STATS_BASIC(syscall_fstat) \ + SMBPROFILE_STATS_BASIC(syscall_lstat) \ + SMBPROFILE_STATS_BASIC(syscall_fstatat) \ + SMBPROFILE_STATS_BASIC(syscall_get_alloc_size) \ + SMBPROFILE_STATS_BASIC(syscall_unlinkat) \ + SMBPROFILE_STATS_BASIC(syscall_chmod) \ + SMBPROFILE_STATS_BASIC(syscall_fchmod) \ + SMBPROFILE_STATS_BASIC(syscall_fchown) \ + SMBPROFILE_STATS_BASIC(syscall_lchown) \ + SMBPROFILE_STATS_BASIC(syscall_chdir) \ + SMBPROFILE_STATS_BASIC(syscall_getwd) \ + SMBPROFILE_STATS_BASIC(syscall_fntimes) \ + SMBPROFILE_STATS_BASIC(syscall_ftruncate) \ + SMBPROFILE_STATS_BASIC(syscall_fallocate) \ + SMBPROFILE_STATS_BASIC(syscall_fcntl_lock) \ + SMBPROFILE_STATS_BASIC(syscall_fcntl) \ + SMBPROFILE_STATS_BASIC(syscall_linux_setlease) \ + SMBPROFILE_STATS_BASIC(syscall_fcntl_getlock) \ + SMBPROFILE_STATS_BASIC(syscall_readlinkat) \ + SMBPROFILE_STATS_BASIC(syscall_symlinkat) \ + SMBPROFILE_STATS_BASIC(syscall_linkat) \ + SMBPROFILE_STATS_BASIC(syscall_mknodat) \ + SMBPROFILE_STATS_BASIC(syscall_realpath) \ + SMBPROFILE_STATS_BASIC(syscall_get_quota) \ + SMBPROFILE_STATS_BASIC(syscall_set_quota) \ + SMBPROFILE_STATS_BASIC(syscall_get_sd) \ + SMBPROFILE_STATS_BASIC(syscall_set_sd) \ + SMBPROFILE_STATS_BASIC(syscall_brl_lock) \ + SMBPROFILE_STATS_BASIC(syscall_brl_unlock) \ + SMBPROFILE_STATS_BASIC(syscall_brl_cancel) \ + SMBPROFILE_STATS_BYTES(syscall_asys_getxattrat) \ + SMBPROFILE_STATS_SECTION_END \ + \ + SMBPROFILE_STATS_SECTION_START(acl, "ACL Calls") \ + SMBPROFILE_STATS_BASIC(get_nt_acl) \ + SMBPROFILE_STATS_BASIC(get_nt_acl_at) \ + SMBPROFILE_STATS_BASIC(fget_nt_acl) \ + SMBPROFILE_STATS_BASIC(fset_nt_acl) \ + SMBPROFILE_STATS_SECTION_END \ + \ + SMBPROFILE_STATS_SECTION_START(smb2, "SMB2 Calls") \ + SMBPROFILE_STATS_IOBYTES(smb2_negprot) \ + SMBPROFILE_STATS_IOBYTES(smb2_sesssetup) \ + SMBPROFILE_STATS_IOBYTES(smb2_logoff) \ + SMBPROFILE_STATS_IOBYTES(smb2_tcon) \ + SMBPROFILE_STATS_IOBYTES(smb2_tdis) \ + SMBPROFILE_STATS_IOBYTES(smb2_create) \ + SMBPROFILE_STATS_IOBYTES(smb2_close) \ + SMBPROFILE_STATS_IOBYTES(smb2_flush) \ + SMBPROFILE_STATS_IOBYTES(smb2_read) \ + SMBPROFILE_STATS_IOBYTES(smb2_write) \ + SMBPROFILE_STATS_IOBYTES(smb2_lock) \ + SMBPROFILE_STATS_IOBYTES(smb2_ioctl) \ + SMBPROFILE_STATS_IOBYTES(smb2_cancel) \ + SMBPROFILE_STATS_IOBYTES(smb2_keepalive) \ + SMBPROFILE_STATS_IOBYTES(smb2_find) \ + SMBPROFILE_STATS_IOBYTES(smb2_notify) \ + SMBPROFILE_STATS_IOBYTES(smb2_getinfo) \ + SMBPROFILE_STATS_IOBYTES(smb2_setinfo) \ + SMBPROFILE_STATS_IOBYTES(smb2_break) \ + SMBPROFILE_STATS_SECTION_END \ + \ + SMBPROFILE_STATS_END + /* this file defines the profile structure in the profile shared memory area */ diff --git a/source3/utils/status_profile.c b/source3/utils/status_profile.c index 32b9ada598f..8a2f5324af8 100644 --- a/source3/utils/status_profile.c +++ b/source3/utils/status_profile.c @@ -141,7 +141,7 @@ static void status_profile_dump_persvc_stats(struct traverse_state *state, } while (0); #define SMBPROFILE_STATS_SECTION_END #define SMBPROFILE_STATS_END - SMBPROFILE_STATS_ALL_SECTIONS + SMBPROFILE_STATS_PERSVC_SECTIONS #undef __PRINT_FIELD_LINE #undef SMBPROFILE_STATS_START #undef SMBPROFILE_STATS_SECTION_START