Search in sources :

Example 36 with ClientStats

use of org.voltdb.client.ClientStats in project voltdb by VoltDB.

the class MOBenchmark method printResults.

/**
     * Prints the results of the voting simulation and statistics
     * about performance.
     *
     * @throws Exception if anything unexpected happens.
     */
public synchronized void printResults() throws Exception {
    ClientStats stats = fullStatsContext.fetch().getStats();
    // 3. Performance statistics
    System.out.print(HORIZONTAL_RULE);
    System.out.println(" Client Workload Statistics");
    System.out.println(HORIZONTAL_RULE);
    long total = mproCount.get() + mprwCount.get() + sproCount.get() + sprwCount.get();
    System.out.printf("SP RO count:                 %,11d txns (%.2f%%)\n", sproCount.get(), (sproCount.get() * 100.0) / total);
    System.out.printf("SP RW count:                 %,11d txns (%.2f%%)\n", sprwCount.get(), (sprwCount.get() * 100.0) / total);
    System.out.printf("MP RO count:                 %,11d txns (%.2f%%)\n", mproCount.get(), (mproCount.get() * 100.0) / total);
    System.out.printf("MP RW count:                 %,11d txns (%.2f%%)\n", mprwCount.get(), (mprwCount.get() * 100.0) / total);
    System.out.printf("Average throughput:            %,9d txns/sec\n", stats.getTxnThroughput());
    System.out.printf("Average latency:               %,9.2f ms\n", stats.getAverageLatency());
    System.out.printf("95th percentile latency:       %,9.2f ms\n", stats.kPercentileLatencyAsDouble(.95));
    System.out.printf("99th percentile latency:       %,9.2f ms\n", stats.kPercentileLatencyAsDouble(.99));
    System.out.print("\n" + HORIZONTAL_RULE);
    System.out.println(" System Server Statistics");
    System.out.println(HORIZONTAL_RULE);
    if (config.autotune) {
        System.out.printf("Targeted Internal Avg Latency: %,9d ms\n", config.latencytarget);
    }
    System.out.printf("Reported Internal Avg Latency: %,9.2f ms\n", stats.getAverageInternalLatency());
    // 4. Write stats to file if requested
    client.writeSummaryCSV(stats, config.statsfile);
}
Also used : ClientStats(org.voltdb.client.ClientStats)

Example 37 with ClientStats

use of org.voltdb.client.ClientStats in project voltdb by VoltDB.

the class OneShotBenchmark method printResults.

/**
     * Prints the results of the voting simulation and statistics
     * about performance.
     *
     * @throws Exception if anything unexpected happens.
     */
public synchronized void printResults() throws Exception {
    ClientStats stats = fullStatsContext.fetch().getStats();
    // 1. Get/Put performance results
    String display = "\n" + HORIZONTAL_RULE + " KV Store Results\n" + HORIZONTAL_RULE + "\nA total of %,d operations were posted...\n" + " - GETs: %,9d Operations (%,d Misses and %,d Failures)\n" + "         %,9d MB in compressed store data\n" + "         %,9d MB in uncompressed application data\n" + "         Network Throughput: %6.3f Gbps*\n" + " - PUTs: %,9d Operations (%,d Failures)\n" + "         %,9d MB in compressed store data\n" + "         %,9d MB in uncompressed application data\n" + "         Network Throughput: %6.3f Gbps*\n" + " - Total Network Throughput: %6.3f Gbps*\n\n" + "* Figure includes key & value traffic but not database protocol overhead.\n\n";
    double oneGigabit = (1024 * 1024 * 1024) / 8;
    long oneMB = (1024 * 1024);
    double getThroughput = networkGetData.get() + (successfulGets.get() * config.keysize);
    getThroughput /= (oneGigabit * config.duration);
    long totalPuts = successfulPuts.get() + failedPuts.get();
    double putThroughput = networkGetData.get() + (totalPuts * config.keysize);
    putThroughput /= (oneGigabit * config.duration);
    System.out.printf(display, stats.getInvocationsCompleted(), successfulGets.get(), missedGets.get(), failedGets.get(), networkGetData.get() / oneMB, rawGetData.get() / oneMB, getThroughput, successfulPuts.get(), failedPuts.get(), networkPutData.get() / oneMB, rawPutData.get() / oneMB, putThroughput, getThroughput + putThroughput);
    // 2. Performance statistics
    System.out.print(HORIZONTAL_RULE);
    System.out.println(" Client Workload Statistics");
    System.out.println(HORIZONTAL_RULE);
    System.out.printf("Average throughput:            %,9d txns/sec\n", stats.getTxnThroughput());
    System.out.printf("Average latency:               %,9.2f ms\n", stats.getAverageLatency());
    System.out.printf("95th percentile latency:       %,9.2f ms\n", stats.kPercentileLatencyAsDouble(.95));
    System.out.printf("99th percentile latency:       %,9.2f ms\n", stats.kPercentileLatencyAsDouble(.99));
    for (Entry<String, ClientStats> e : fullStatsContext.getStatsByProc().entrySet()) {
        System.out.println("\nPROC: " + e.getKey());
        System.out.printf("Average throughput:            %,9d txns/sec\n", e.getValue().getTxnThroughput());
        System.out.printf("Average latency:               %,9.2f ms\n", e.getValue().getAverageLatency());
        System.out.printf("95th percentile latency:       %,9.2f ms\n", e.getValue().kPercentileLatencyAsDouble(.95));
        System.out.printf("99th percentile latency:       %,9.2f ms\n", e.getValue().kPercentileLatencyAsDouble(.99));
    }
    ClientStats mpstats = mpFullStatsContext.fetch().getStats();
    for (Entry<String, ClientStats> e : mpFullStatsContext.getStatsByProc().entrySet()) {
        System.out.println("\nMP PROC: " + e.getKey());
        System.out.printf("Average throughput:            %,9d txns/sec\n", e.getValue().getTxnThroughput());
        System.out.printf("Average latency:               %,9.2f ms\n", e.getValue().getAverageLatency());
        System.out.printf("95th percentile latency:       %,9.2f ms\n", e.getValue().kPercentileLatencyAsDouble(.95));
        System.out.printf("99th percentile latency:       %,9.2f ms\n", e.getValue().kPercentileLatencyAsDouble(.99));
    }
    System.out.print("\n" + HORIZONTAL_RULE);
    System.out.println(" System Server Statistics");
    System.out.println(HORIZONTAL_RULE);
    System.out.printf("Reported Internal Avg Latency: %,9.2f ms\n", stats.getAverageInternalLatency());
    System.out.printf("Reported Internal Avg MP Latency: %,9.2f ms\n", mpFullStatsContext.getStats().getAverageInternalLatency());
    // 3. Write stats to file if requested
    if (!config.exportStatsfalseSPtrueMP) {
        System.out.println("Exporting SP stats context");
        client.writeSummaryCSV(stats, config.statsfile);
    } else {
        System.out.println("Exporting MP stats context");
        mpClient.writeSummaryCSV(mpstats, config.statsfile);
    }
}
Also used : ClientStats(org.voltdb.client.ClientStats)

Example 38 with ClientStats

use of org.voltdb.client.ClientStats in project voltdb by VoltDB.

the class AsyncBenchmark method printResults.

/**
     * Prints the results of the voting simulation and statistics about
     * performance.
     *
     * @throws Exception
     *             if anything unexpected happens.
     */
public synchronized void printResults() throws Exception {
    ClientStats stats = fullStatsContext.fetch().getStats();
    // 3. Performance statistics./tests/test_apps/live-rejoin-consistency/src/AsyncBenchmark.java~:
    log.info(HORIZONTAL_RULE);
    log.info(" Client Workload Statistics");
    log.info(HORIZONTAL_RULE);
    System.out.printf("Async total: %d successful: %d\n", totalAsync.get(), successfulAsync.get());
    System.out.printf("Adhoc total: %d\n", totalAdHoc.get());
    System.out.print("\n" + HORIZONTAL_RULE);
    System.out.printf("Average throughput:            %,9d txns/sec\n", stats.getTxnThroughput());
    System.out.printf("Average latency:               %,9.2f ms\n", stats.getAverageLatency());
    System.out.printf("95th percentile latency:       %,9.2f ms\n", stats.kPercentileLatencyAsDouble(.95));
    System.out.printf("99th percentile latency:       %,9.2f ms\n", stats.kPercentileLatencyAsDouble(.99));
    log.info(HORIZONTAL_RULE);
    log.info(" System Server Statistics");
    log.info(HORIZONTAL_RULE);
    if (config.autotune) {
        System.out.printf("Targeted Internal Avg Latency: %,9d ms\n", config.latencytarget);
    }
    System.out.printf("Reported Internal Avg Latency: %,9.2f ms\n", stats.getAverageInternalLatency());
    // 4. Write stats to file if requested
    client.writeSummaryCSV(stats, config.statsfile);
}
Also used : ClientStats(org.voltdb.client.ClientStats)

Example 39 with ClientStats

use of org.voltdb.client.ClientStats in project voltdb by VoltDB.

the class SyncBenchmark method printResults.

/**
     * Prints the results of the voting simulation and statistics
     * about performance.
     *
     * @throws Exception if anything unexpected happens.
     */
public synchronized void printResults() throws Exception {
    ClientStats stats = fullStatsContext.fetch().getStats();
    // 1. Get/Put performance results
    String display = "\n" + HORIZONTAL_RULE + " KV Store Results\n" + HORIZONTAL_RULE + "\nA total of %,d operations were posted...\n" + " - GETs: %,9d Operations (%,d Misses and %,d Failures)\n" + "         %,9d MB in compressed store data\n" + "         %,9d MB in uncompressed application data\n" + "         Network Throughput: %6.3f Gbps*\n" + " - PUTs: %,9d Operations (%,d Failures)\n" + "         %,9d MB in compressed store data\n" + "         %,9d MB in uncompressed application data\n" + "         Network Throughput: %6.3f Gbps*\n" + " - Total Network Throughput: %6.3f Gbps*\n\n" + "* Figure includes key & value traffic but not database protocol overhead.\n\n";
    double oneGigabit = (1024 * 1024 * 1024) / 8;
    long oneMB = (1024 * 1024);
    double getThroughput = networkGetData.get() + (successfulGets.get() * config.keysize);
    getThroughput /= (oneGigabit * config.duration);
    long totalPuts = successfulPuts.get() + failedPuts.get();
    double putThroughput = networkGetData.get() + (totalPuts * config.keysize);
    putThroughput /= (oneGigabit * config.duration);
    System.out.printf(display, stats.getInvocationsCompleted(), successfulGets.get(), missedGets.get(), failedGets.get(), networkGetData.get() / oneMB, rawGetData.get() / oneMB, getThroughput, successfulPuts.get(), failedPuts.get(), networkPutData.get() / oneMB, rawPutData.get() / oneMB, putThroughput, getThroughput + putThroughput);
    // 2. Performance statistics
    System.out.print(HORIZONTAL_RULE);
    System.out.println(" Client Workload Statistics");
    System.out.println(HORIZONTAL_RULE);
    System.out.printf("Average throughput:            %,9d txns/sec\n", stats.getTxnThroughput());
    System.out.printf("Average latency:               %,9.2f ms\n", stats.getAverageLatency());
    System.out.printf("10th percentile latency:       %,9.2f ms\n", stats.kPercentileLatencyAsDouble(.1));
    System.out.printf("25th percentile latency:       %,9.2f ms\n", stats.kPercentileLatencyAsDouble(.25));
    System.out.printf("50th percentile latency:       %,9.2f ms\n", stats.kPercentileLatencyAsDouble(.5));
    System.out.printf("75th percentile latency:       %,9.2f ms\n", stats.kPercentileLatencyAsDouble(.75));
    System.out.printf("90th percentile latency:       %,9.2f ms\n", stats.kPercentileLatencyAsDouble(.9));
    System.out.printf("95th percentile latency:       %,9.2f ms\n", stats.kPercentileLatencyAsDouble(.95));
    System.out.printf("99th percentile latency:       %,9.2f ms\n", stats.kPercentileLatencyAsDouble(.99));
    System.out.printf("99.5th percentile latency:     %,9.2f ms\n", stats.kPercentileLatencyAsDouble(.995));
    System.out.printf("99.9th percentile latency:     %,9.2f ms\n", stats.kPercentileLatencyAsDouble(.999));
    System.out.printf("99.999th percentile latency:   %,9.2f ms\n", stats.kPercentileLatencyAsDouble(.99999));
    System.out.print("\n" + HORIZONTAL_RULE);
    System.out.println(" System Server Statistics");
    System.out.println(HORIZONTAL_RULE);
    System.out.printf("Reported Internal Avg Latency: %,9.2f ms\n", stats.getAverageInternalLatency());
    System.out.print("\n" + HORIZONTAL_RULE);
    System.out.println(" Latency Histogram");
    System.out.println(HORIZONTAL_RULE);
    System.out.println(stats.latencyHistoReport());
    // 3. Write stats to file if requested
    client.writeSummaryCSV(stats, config.statsfile);
}
Also used : ClientStats(org.voltdb.client.ClientStats)

Example 40 with ClientStats

use of org.voltdb.client.ClientStats in project voltdb by VoltDB.

the class SyncBenchmark method printStatistics.

/**
     * Prints a one line update on performance that can be printed
     * periodically during a benchmark.
     */
public synchronized void printStatistics() {
    ClientStats stats = periodicStatsContext.fetchAndResetBaseline().getStats();
    // Print an ISO8601 timestamp (of the same kind Python logging uses) to help
    // log merger correlate correctly
    System.out.print(LOG_DF.format(new Date(stats.getEndTimestamp())));
    System.out.printf(" Throughput %d/s, ", stats.getTxnThroughput());
    System.out.printf("Aborts/Failures %d/%d, ", stats.getInvocationAborts(), stats.getInvocationErrors());
    System.out.printf("Avg/99.999%% Latency %.2f/%.2fms\n", stats.getAverageLatency(), stats.kPercentileLatencyAsDouble(0.99999));
    logMetric(stats);
}
Also used : ClientStats(org.voltdb.client.ClientStats) Date(java.util.Date)

Aggregations

ClientStats (org.voltdb.client.ClientStats)65 VoltTable (org.voltdb.VoltTable)8 FileWriter (java.io.FileWriter)4 IOException (java.io.IOException)4 ArrayList (java.util.ArrayList)4 Date (java.util.Date)4 CallableStatement (java.sql.CallableStatement)3 ClientStatsContext (org.voltdb.client.ClientStatsContext)3 IVoltDBConnection (org.voltdb.jdbc.IVoltDBConnection)3 PreparedStatement (java.sql.PreparedStatement)2 Timer (java.util.Timer)2 TimerTask (java.util.TimerTask)2 ClientAffinityStats (org.voltdb.client.ClientAffinityStats)2 NoConnectionsException (org.voltdb.client.NoConnectionsException)2 BoneCPConfig (com.jolbox.bonecp.BoneCPConfig)1 BoneCPDataSource (com.jolbox.bonecp.BoneCPDataSource)1 ComboPooledDataSource (com.mchange.v2.c3p0.ComboPooledDataSource)1 HikariConfig (com.zaxxer.hikari.HikariConfig)1 HikariDataSource (com.zaxxer.hikari.HikariDataSource)1 File (java.io.File)1