SMBPROFILE_STATS_BASIC(set_sec_ctx) \
SMBPROFILE_STATS_BASIC(set_root_sec_ctx) \
SMBPROFILE_STATS_BASIC(pop_sec_ctx) \
+ SMBPROFILE_STATS_COUNT(num_sessions) \
+ SMBPROFILE_STATS_COUNT(num_tcons) \
+ SMBPROFILE_STATS_COUNT(num_files) \
SMBPROFILE_STATS_SECTION_END \
\
SMBPROFILE_STATS_SECTION_START(syscall, "System Calls") \
#include "lib/tdb_wrap/tdb_wrap.h"
#include <tevent.h>
#include "../lib/crypto/crypto.h"
+#include "source3/smbd/globals.h"
#ifdef HAVE_SYS_RESOURCE_H
#include <sys/resource.h>
rself.ru_stime.tv_usec;
#endif /* HAVE_GETRUSAGE */
+ if (sconn != NULL) {
+ /*
+ * Sessions, tcons and files don't add up, they are
+ * transient counters
+ */
+ profile_p->values.num_sessions_stats.count = sconn->num_users;
+ profile_p->values.num_tcons_stats.count =
+ sconn->num_connections;
+ profile_p->values.num_files_stats.count = sconn->num_files;
+ }
+
tdb_store(smbprofile_state.internal.db->tdb, key,
(TDB_DATA) {
.dptr = (uint8_t *)profile_p,
smbprofile_stats_accumulate(&acc, &s);
+ /*
+ * Sessions, tcons and files don't add up, they are transient.
+ */
+ acc.values.num_sessions_stats.count = 0;
+ acc.values.num_tcons_stats.count = 0;
+ acc.values.num_files_stats.count = 0;
+
acc.magic = profile_p->magic;
acc.summary_record = true;