diff --git a/cassandra/README.md b/cassandra/README.md index bee44c8d8c41a36f459d0b38b54d35422dddac1a..a25b18e6426edb6a0382de705ddf38ce0f6e2a0a 100644 --- a/cassandra/README.md +++ b/cassandra/README.md @@ -77,4 +77,7 @@ For keyspace `ycsb`, table `usertable`: * Defaults for max and core connections can be found here: https://datastax.github.io/java-driver/2.1.8/features/pooling/#pool-size. Cassandra 2.0.X falls under protocol V2, Cassandra 2.1+ falls under protocol V3. * `cassandra.connecttimeoutmillis` * `cassandra.readtimeoutmillis` - * Defaults for connect and read timeouts can be found here: https://docs.datastax.com/en/drivers/java/2.0/com/datastax/driver/core/SocketOptions.html. \ No newline at end of file + * Defaults for connect and read timeouts can be found here: https://docs.datastax.com/en/drivers/java/2.0/com/datastax/driver/core/SocketOptions.html. +* `cassandra.tracing` + * Default is false + * https://docs.datastax.com/en/cql/3.3/cql/cql_reference/tracing_r.html \ No newline at end of file diff --git a/cassandra/src/main/java/com/yahoo/ycsb/db/CassandraCQLClient.java b/cassandra/src/main/java/com/yahoo/ycsb/db/CassandraCQLClient.java index d4dc8c7707b429f090561967d35acaa5052c4cac..ee2dd8f5417ec38be9b1667c8b78238f4e0812f9 100644 --- a/cassandra/src/main/java/com/yahoo/ycsb/db/CassandraCQLClient.java +++ b/cassandra/src/main/java/com/yahoo/ycsb/db/CassandraCQLClient.java @@ -85,6 +85,9 @@ public class CassandraCQLClient extends DB { public static final String READ_TIMEOUT_MILLIS_PROPERTY = "cassandra.readtimeoutmillis"; + public static final String TRACING_PROPERTY = "cassandra.tracing"; + public static final String TRACING_PROPERTY_DEFAULT = "false"; + /** * Count the number of times initialized to teardown on the last * {@link #cleanup()}. @@ -93,6 +96,8 @@ public class CassandraCQLClient extends DB { private static boolean debug = false; + private static boolean trace = false; + /** * Initialize any state for this DB. Called once per DB instance; there is one * DB instance per client thread. @@ -116,7 +121,8 @@ public class CassandraCQLClient extends DB { debug = Boolean.parseBoolean(getProperties().getProperty("debug", "false")); - + trace = Boolean.valueOf(getProperties().getProperty(TRACING_PROPERTY, TRACING_PROPERTY_DEFAULT)); + String host = getProperties().getProperty(HOSTS_PROPERTY); if (host == null) { throw new DBException(String.format( @@ -254,7 +260,10 @@ public class CassandraCQLClient extends DB { if (debug) { System.out.println(stmt.toString()); } - + if (trace) { + stmt.enableTracing(); + } + ResultSet rs = session.execute(stmt); if (rs.isExhausted()) { @@ -343,7 +352,10 @@ public class CassandraCQLClient extends DB { if (debug) { System.out.println(stmt.toString()); } - + if (trace) { + stmt.enableTracing(); + } + ResultSet rs = session.execute(stmt); HashMap<String, ByteIterator> tuple; @@ -432,7 +444,10 @@ public class CassandraCQLClient extends DB { if (debug) { System.out.println(insertStmt.toString()); } - + if (trace) { + insertStmt.enableTracing(); + } + session.execute(insertStmt); return Status.OK; @@ -465,7 +480,10 @@ public class CassandraCQLClient extends DB { if (debug) { System.out.println(stmt.toString()); } - + if (trace) { + stmt.enableTracing(); + } + session.execute(stmt); return Status.OK;