]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-fs: Added write_bytes to statistics
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Tue, 14 Jun 2016 19:32:36 +0000 (22:32 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Sun, 19 Jun 2016 23:31:08 +0000 (02:31 +0300)
src/lib-fs/fs-api.c
src/lib-fs/fs-api.h

index dc892d2014f577dfadfadf1325db4638633a908a..7bd981eb3b00e702afde6d7b74b9d3d8f7ea5653 100644 (file)
@@ -608,6 +608,7 @@ int fs_write(struct fs_file *file, const void *data, size_t size)
                } T_END;
                if (!(ret < 0 && errno == EAGAIN)) {
                        file->fs->stats.write_count++;
+                       file->fs->stats.write_bytes += size;
                        fs_file_timing_end(file, FS_OP_WRITE);
                }
                return ret;
@@ -674,6 +675,7 @@ int fs_write_stream_finish(struct fs_file *file, struct ostream **output)
                                     o_stream_get_error(file->output));
                        success = FALSE;
                }
+               file->fs->stats.write_bytes += file->output->offset;
        }
        return fs_write_stream_finish_int(file, success);
 }
index 2f8da389cc84c8818d69503ef7fa765055e2061c..21979d4b14c070cb7cd3a4345e280c0c782e29b3 100644 (file)
@@ -175,6 +175,9 @@ struct fs_stats {
        /* Number of fs_iter_init() calls. */
        unsigned int iter_count;
 
+       /* Number of bytes written by fs_write*() calls. */
+       uint64_t write_bytes;
+
        /* Cumulative sum of usecs spent on calls - set only if
           fs_settings.enable_timing=TRUE */
        struct timing *timings[FS_OP_COUNT];