diff options
author | Stefan Metzmacher <metze@samba.org> | 2014-11-05 15:54:02 +0100 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2014-11-19 20:51:37 +0100 |
commit | 86a951b4ff9b3a1bbe03b3448d45f9750c949c00 (patch) | |
tree | d5e7587700733208a1d5b1b885e6d51353af3fa7 /source3/include/smbprofile.h | |
parent | 297d1877614b4f4f33f7e19f2d107feb5fe460ed (diff) | |
download | samba-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.h | 22 |
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; |