Skip to contentSkip to conversation

Recent changes (master)

PATCH Jens Axboe 1 participant 1 message Sep 13, 2018

lore
Share & tools
lore

Jens Axboe

author
#0 lore raw

The following changes since commit e8ed50bc3ce67f449714c55c3fbf2f8eb50730c2:

windows: fix the most egregious posix.c style errors (2018-09-11 16:54:39 -0600)

are available in the git repository at:

git://git.kernel.dk/fio.git master

for you to fetch changes up to e26029be10ee2c570cba2c4cc2b1987568306cd2:

Merge branch 'histo-log-dup-timestamp' of https://github.com/parallel-fs-utils/fio (2018-09-12 14:33:04 -0600)

----------------------------------------------------------------
Ben England (1):
filter out records with duplicate timestamps

Jens Axboe (2):
windows: make win_to_posix_error() more resilient
Merge branch 'histo-log-dup-timestamp' of https://github.com/parallel-fs-utils/fio

 os/windows/posix.c                  |  2 ++
 tools/hist/fio-histo-log-pctiles.py | 11 +++++++++++
 2 files changed, 13 insertions(+)

---

Diff of recent changes:

os/windows/posix.c +2 -0
index 5b72bea..fd1d558 100644
@@ -35,6 +35,8 @@ HRESULT WINAPI StringCchPrintfA(char *pszDest, size_t cchDest, const char *pszFo
 int win_to_posix_error(DWORD winerr)
 {
 	switch (winerr) {
+	case ERROR_SUCCESS:
+		return 0;
 	case ERROR_FILE_NOT_FOUND:
 		return ENOENT;
 	case ERROR_PATH_NOT_FOUND:
tools/hist/fio-histo-log-pctiles.py +11 -0
index bb016ea..1e7b631 100755
@@ -64,6 +64,8 @@ def parse_hist_file(logfn, buckets_per_interval):
     with open(logfn, 'r') as f:
         records = [ l.strip() for l in f.readlines() ]
     intervals = []
+    last_time_ms = -1
+    last_direction = -1
     for k, r in enumerate(records):
         if r == '':
             continue
@@ -96,6 +98,15 @@ def parse_hist_file(logfn, buckets_per_interval):
         if len(buckets) != buckets_per_interval:
             raise FioHistoLogExc('%d buckets per interval but %d expected in %s' % 
                     (len(buckets), buckets_per_interval, exception_suffix(k+1, logfn)))
+
+        # hack to filter out records with the same timestamp
+        # we should not have to do this if fio logs histogram records correctly
+
+        if time_ms == last_time_ms and direction == last_direction:
+            continue
+        last_time_ms = time_ms
+        last_direction = direction
+
         intervals.append((time_ms, direction, bsz, buckets))
     if len(intervals) == 0:
         raise FioHistoLogExc('no records in %s' % logfn)