From 3e3d401bb328a586657cac28dfff81fb9afe27b1 Mon Sep 17 00:00:00 2001 From: Stanley Feng <stfeng@google.com> Date: Tue, 24 Nov 2015 19:50:44 -0800 Subject: [PATCH] [core] Incorporate CR feedback - Move the doc (code comment) to workload_template - Minor changes in propery parsing logic and log to System.Err; [core] Incoporate CR comment Missed one comment before. --- .../main/java/com/yahoo/ycsb/DBWrapper.java | 22 +++++++------------ workloads/workload_template | 18 +++++++++++++++ 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/core/src/main/java/com/yahoo/ycsb/DBWrapper.java b/core/src/main/java/com/yahoo/ycsb/DBWrapper.java index e904717a..bba76b1f 100644 --- a/core/src/main/java/com/yahoo/ycsb/DBWrapper.java +++ b/core/src/main/java/com/yahoo/ycsb/DBWrapper.java @@ -35,14 +35,6 @@ public class DBWrapper extends DB DB _db; Measurements _measurements; - // By default we don't track latency numbers for specific error status code. - // We just report latency of all failed operation under one measurement name - // such as [READ-FAILED]. But optionally, user can configure to have either: - // 1) Record and report latency for each and every error status code by - // setting reportLatencyForEachError to true, or - // 2) Record and report latency for a select set of error status codes by - // providing a CSV list of Status codes via the "latencytrackederrors" - // property. boolean reportLatencyForEachError = false; HashSet<String> latencyTrackedErrors = new HashSet<String>(); @@ -79,14 +71,16 @@ public class DBWrapper extends DB this.reportLatencyForEachError = Boolean.parseBoolean(getProperties(). getProperty("reportlatencyforeacherror", "false")); - String latencyTrackedErrors = getProperties().getProperty( - "latencytrackederrors", null); - if (latencyTrackedErrors != null) { - this.latencyTrackedErrors = new HashSet<String>(Arrays.asList( - latencyTrackedErrors.split(","))); + if (!reportLatencyForEachError) { + String latencyTrackedErrors = getProperties().getProperty( + "latencytrackederrors", null); + if (latencyTrackedErrors != null) { + this.latencyTrackedErrors = new HashSet<String>(Arrays.asList( + latencyTrackedErrors.split(","))); + } } - System.out.println("DBWrapper: report latency for each error is " + + System.err.println("DBWrapper: report latency for each error is " + this.reportLatencyForEachError + " and specific error codes to track" + " for latency are: " + this.latencyTrackedErrors.toString()); } diff --git a/workloads/workload_template b/workloads/workload_template index 6aebd64a..de0bbae2 100644 --- a/workloads/workload_template +++ b/workloads/workload_template @@ -138,3 +138,21 @@ histogram.buckets=1000 # Granularity for time series (in milliseconds) timeseries.granularity=1000 + +# Latency reporting. +# +# YCSB records latency of failed operations separately from successful ones. +# Latency of all OK operations will be reported under their operation name, +# such as [READ], [UPDATE], etc. +# +# For failed operations: +# By default we don't track latency numbers of specific error status. +# We just report latency of all failed operation under one measurement name +# such as [READ-FAILED]. But optionally, user can configure to have either: +# 1. Record and report latency for each and every error status code by +# setting reportLatencyForEachError to true, or +# 2. Record and report latency for a select set of error status codes by +# providing a CSV list of Status codes via the "latencytrackederrors" +# property. +# reportlatencyforeacherror=false +# latencytrackederrors="<comma separated strings of error codes>" -- GitLab