summaryrefslogtreecommitdiff
path: root/source3/include/smbprofile.h
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2014-11-05 15:54:02 +0100
committerJeremy Allison <jra@samba.org>2014-11-19 20:51:37 +0100
commit86a951b4ff9b3a1bbe03b3448d45f9750c949c00 (patch)
treed5e7587700733208a1d5b1b885e6d51353af3fa7 /source3/include/smbprofile.h
parent297d1877614b4f4f33f7e19f2d107feb5fe460ed (diff)
downloadsamba-86a951b4ff9b3a1bbe03b3448d45f9750c949c00.tar.gz
s3:smbd: improve writecache profiling
In order to have useful profiling counters should never be decremented. We need a separate counter for deallocation events. The current value can be calculated by allocations - deallocations. We also use better names and avoid having an array for the flush reasons. This will simplify further profiling improvements a lot. The value writecache_num_write_caches (this was similar to writecache_allocations) is replaced by writecache_cached_writes, which counts the amount of writes which were completely handled by the cache. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/include/smbprofile.h')
-rw-r--r--source3/include/smbprofile.h22
1 files changed, 15 insertions, 7 deletions
diff --git a/source3/include/smbprofile.h b/source3/include/smbprofile.h
index 1afd97c163a..26a2ed190d0 100644
--- a/source3/include/smbprofile.h
+++ b/source3/include/smbprofile.h
@@ -789,16 +789,24 @@ struct profile_stats {
unsigned statcache_hits;
/* write cache counters */
- unsigned writecache_read_hits;
- unsigned writecache_abutted_writes;
+ unsigned writecache_allocations;
+ unsigned writecache_deallocations;
+ unsigned writecache_cached_reads;
unsigned writecache_total_writes;
+ unsigned writecache_init_writes;
+ unsigned writecache_abutted_writes;
unsigned writecache_non_oplock_writes;
unsigned writecache_direct_writes;
- unsigned writecache_init_writes;
- unsigned writecache_flushed_writes[SAMBA_NUM_FLUSH_REASONS];
- unsigned writecache_num_perfect_writes;
- unsigned writecache_num_write_caches;
- unsigned writecache_allocated_write_caches;
+ unsigned writecache_cached_writes;
+ unsigned writecache_perfect_writes;
+ unsigned writecache_flush_reason_seek;
+ unsigned writecache_flush_reason_read;
+ unsigned writecache_flush_reason_readraw;
+ unsigned writecache_flush_reason_write;
+ unsigned writecache_flush_reason_oplock;
+ unsigned writecache_flush_reason_close;
+ unsigned writecache_flush_reason_sync;
+ unsigned writecache_flush_reason_sizechange;
};
extern struct profile_stats *profile_p;