Hello community, here is the log from the commit of package sysbench for openSUSE:Factory checked in at 2017-08-18 15:05:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sysbench (Old) and /work/SRC/openSUSE:Factory/.sysbench.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sysbench" Fri Aug 18 15:05:49 2017 rev:14 rq:517371 version:1.0.8 Changes: -------- --- /work/SRC/openSUSE:Factory/sysbench/sysbench.changes 2017-06-12 15:28:30.589548139 +0200 +++ /work/SRC/openSUSE:Factory/.sysbench.new/sysbench.changes 2017-08-18 15:05:52.213764182 +0200 @@ -1,0 +2,14 @@ +Thu Aug 17 12:15:49 UTC 2017 - mplus...@suse.com + +- Update to version 1.0.8: + * fixed api_report test for slow machines (thanks to @jcfp) + * fileio: suggest to run prepare step on missing files (thanks to + Heinrich Schuchardt) + * JSON reports: removed an erroneous trailing comma (GH-139) + * added events per second to the CPU benchmark report (GH-140) + * fixed db_connect() in legacy SQL API to use the default value + for --db-driver (GH-146) + * removed busy-wait in the bounded event generation mode (--rate) + to avoid CPU hogging + +------------------------------------------------------------------- Old: ---- sysbench-1.0.7.tar.gz New: ---- sysbench-1.0.8.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sysbench.spec ++++++ --- /var/tmp/diff_new_pack.iqSUv1/_old 2017-08-18 15:05:53.717552388 +0200 +++ /var/tmp/diff_new_pack.iqSUv1/_new 2017-08-18 15:05:53.721551825 +0200 @@ -17,7 +17,7 @@ Name: sysbench -Version: 1.0.7 +Version: 1.0.8 Release: 0 Summary: A MySQL benchmarking tool License: GPL-2.0 @@ -65,7 +65,6 @@ rm -rf %{buildroot}%{_datadir}/doc/sysbench %files -%defattr(-,root,root) %doc COPYING ChangeLog README.md doc/manual.html %{_bindir}/sysbench %{_datadir}/sysbench ++++++ sysbench-1.0.7.tar.gz -> sysbench-1.0.8.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysbench-1.0.7/ChangeLog new/sysbench-1.0.8/ChangeLog --- old/sysbench-1.0.7/ChangeLog 2017-05-15 16:09:33.000000000 +0200 +++ new/sysbench-1.0.8/ChangeLog 2017-07-04 20:55:46.000000000 +0200 @@ -1,3 +1,16 @@ +2017-07-04 Alexey Kopytov <akopy...@gmail.com> + + * version 1.0.8 + * fixed api_report test for slow machines (thanks to @jcfp) + * fileio: suggest to run prepare step on missing files (thanks + to Heinrich Schuchardt) + * JSON reports: removed an erroneous trailing comma (GH-139) + * added events per second to the CPU benchmark report (GH-140) + * fixed db_connect() in legacy SQL API to use the default value + for --db-driver (GH-146) + * removed busy-wait in the bounded event generation mode + (--rate) to avoid CPU hogging + 2017-05-15 Alexey Kopytov <akopy...@gmail.com> * version 1.0.7 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysbench-1.0.7/configure.ac new/sysbench-1.0.8/configure.ac --- old/sysbench-1.0.7/configure.ac 2017-05-15 16:09:33.000000000 +0200 +++ new/sysbench-1.0.8/configure.ac 2017-07-04 20:55:46.000000000 +0200 @@ -1,7 +1,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.63) -AC_INIT([sysbench],[1.0.7],[https://github.com/akopytov/sysbench/issues], +AC_INIT([sysbench],[1.0.8],[https://github.com/akopytov/sysbench/issues], [sysbench], [https://github.com/akopytov/sysbench]) AC_CONFIG_AUX_DIR([config]) # Setting CFLAGS here prevents AC_CANONICAL_TARGET from injecting them diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysbench-1.0.7/src/lua/internal/sysbench.lua new/sysbench-1.0.8/src/lua/internal/sysbench.lua --- old/sysbench-1.0.7/src/lua/internal/sysbench.lua 2017-05-15 16:09:33.000000000 +0200 +++ new/sysbench-1.0.8/src/lua/internal/sysbench.lua 2017-07-04 20:55:46.000000000 +0200 @@ -100,7 +100,7 @@ "total": %4.2f, "reads": %4.2f, "writes": %4.2f, - "other": %4.2f, + "other": %4.2f }, "latency": %4.2f, "errors": %4.2f, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysbench-1.0.7/src/sb_lua.c new/sysbench-1.0.8/src/sb_lua.c --- old/sysbench-1.0.7/src/sb_lua.c 2017-05-15 16:09:33.000000000 +0200 +++ new/sysbench-1.0.8/src/sb_lua.c 2017-07-04 20:55:46.000000000 +0200 @@ -880,12 +880,14 @@ sb_lua_ctxt_t * const ctxt = &tls_lua_ctxt; ctxt->driver = db_create(NULL); - if (ctxt->driver == NULL) { + if (ctxt->driver == NULL) + { luaL_error(L, "DB initialization failed"); - lua_pushstring(L, ctxt->driver->sname); - lua_setglobal(L, "db_driver"); } + lua_pushstring(L, ctxt->driver->sname); + lua_setglobal(L, "db_driver"); + if (ctxt->con != NULL) return 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysbench-1.0.7/src/sb_rand.c new/sysbench-1.0.8/src/sb_rand.c --- old/sysbench-1.0.7/src/sb_rand.c 2017-05-15 16:09:33.000000000 +0200 +++ new/sysbench-1.0.8/src/sb_rand.c 2017-07-04 20:55:46.000000000 +0200 @@ -60,7 +60,7 @@ SB_OPT("rand-seed", "seed for random number generator. When 0, the current time is " "used as a RNG seed.", "0", INT), - SB_OPT("rand-pareto-h", "parameter h for pareto distibution", "0.2", DOUBLE), + SB_OPT("rand-pareto-h", "parameter h for pareto distribution", "0.2", DOUBLE), SB_OPT_END }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysbench-1.0.7/src/sysbench.c new/sysbench-1.0.8/src/sysbench.c --- old/sysbench-1.0.7/src/sysbench.c 2017-05-15 16:09:33.000000000 +0200 +++ new/sysbench-1.0.8/src/sysbench.c 2017-07-04 20:55:46.000000000 +0200 @@ -186,6 +186,10 @@ stat->events / stat->time_interval, sb_globals.percentile, SEC2MS(stat->latency_pct)); + if (sb_globals.tx_rate > 0) + log_timestamp(LOG_NOTICE, stat->time_total, + "queue length: %" PRIu64 " concurrency: %" PRIu64, + stat->queue_length, stat->concurrency); } @@ -703,7 +707,7 @@ while (!ck_ring_dequeue_spmc(&queue_ring, queue_ring_buffer, &ptr) && !ck_pr_load_int(&queue_is_full)) - ck_pr_stall(); + usleep(500000.0 * sb_globals.threads / sb_globals.tx_rate); if (ck_pr_load_int(&queue_is_full)) { @@ -721,45 +725,6 @@ return true; } -/* - Get the next event, or return an 'empty' event with type = SB_REQ_TYPE_NULL, - if there are no more events to execute. -*/ - -sb_event_t sb_next_event(sb_test_t *test, int thread_id) -{ - uint64_t queue_start_time = 0; - - /* If we are in tx_rate mode, we take events from queue */ - if (sb_globals.tx_rate > 0) - { - void *ptr = NULL; - - while (!ck_ring_dequeue_spmc(&queue_ring, queue_ring_buffer, &ptr) && - !ck_pr_load_int(&queue_is_full)) - ck_pr_stall(); - - if (ck_pr_load_int(&queue_is_full)) - { - log_text(LOG_FATAL, "Event queue is full. Terminating the worker thread"); - - sb_event_t event; - event.type = SB_REQ_TYPE_NULL; - - return event; - } - - queue_start_time = ((uint64_t *) ptr)[0]; - - ck_pr_inc_int(&sb_globals.concurrency); - - timers[thread_id].queue_time = sb_timer_value(&sb_exec_timer) - - queue_start_time; - } - - return test->ops.next_event(thread_id); -} - void sb_event_start(int thread_id) { @@ -796,7 +761,7 @@ while (sb_more_events(thread_id) && rc == 0) { - event = sb_next_event(test, thread_id); + event = test->ops.next_event(thread_id); if (event.type == SB_REQ_TYPE_NULL) break; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysbench-1.0.7/src/tests/cpu/sb_cpu.c new/sysbench-1.0.8/src/tests/cpu/sb_cpu.c --- old/sysbench-1.0.7/src/tests/cpu/sb_cpu.c 2017-05-15 16:09:33.000000000 +0200 +++ new/sysbench-1.0.8/src/tests/cpu/sb_cpu.c 2017-07-04 20:55:46.000000000 +0200 @@ -27,6 +27,8 @@ # include <math.h> #endif +#include <inttypes.h> + #include "sysbench.h" /* CPU test arguments */ @@ -42,6 +44,7 @@ static void cpu_print_mode(void); static sb_event_t cpu_next_event(int thread_id); static int cpu_execute_event(sb_event_t *, int); +static void cpu_report_cumulative(sb_stat_t *); static int cpu_done(void); static sb_test_t cpu_test = @@ -53,6 +56,7 @@ .print_mode = cpu_print_mode, .next_event = cpu_next_event, .execute_event = cpu_execute_event, + .report_cumulative = cpu_report_cumulative, .done = cpu_done }, .args = cpu_args @@ -124,6 +128,18 @@ log_text(LOG_NOTICE, "Prime numbers limit: %d\n", max_prime); } +/* Print cumulative stats. */ + +void cpu_report_cumulative(sb_stat_t *stat) +{ + log_text(LOG_NOTICE, "CPU speed:"); + log_text(LOG_NOTICE, " events per second: %8.2f", + stat->events / stat->time_interval); + + sb_report_cumulative(stat); +} + + int cpu_done(void) { return 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysbench-1.0.7/src/tests/fileio/sb_fileio.c new/sysbench-1.0.8/src/tests/fileio/sb_fileio.c --- old/sysbench-1.0.7/src/tests/fileio/sb_fileio.c 2017-05-15 16:09:33.000000000 +0200 +++ new/sysbench-1.0.8/src/tests/fileio/sb_fileio.c 2017-07-04 20:55:46.000000000 +0200 @@ -376,6 +376,7 @@ if (!VALID_FILE(files[i])) { log_errno(LOG_FATAL, "Cannot open file '%s'", file_name); + log_text(LOG_WARNING, "Did you forget to run the prepare step?"); return 1; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysbench-1.0.7/tests/t/api_reports.t new/sysbench-1.0.8/tests/t/api_reports.t --- old/sysbench-1.0.7/tests/t/api_reports.t 2017-05-15 16:09:33.000000000 +0200 +++ new/sysbench-1.0.8/tests/t/api_reports.t 2017-07-04 20:55:46.000000000 +0200 @@ -21,8 +21,8 @@ > EOF $ sysbench $SB_ARGS run - [ 2s ] thds: 1 tps: *.* qps: 0.00 (r/w/o: 0.00/0.00/0.00) lat (ms,95%): 1.* err/s 0.00 reconn/s: 0.00 (glob) - [ 3s ] thds: 0 tps: *.* qps: 0.00 (r/w/o: 0.00/0.00/0.00) lat (ms,95%): 1.* err/s 0.00 reconn/s: 0.00 (glob) + \[ 2s \] thds: 1 tps: [0-9]*\.[0-9]* qps: 0\.00 \(r\/w\/o: 0\.00\/0\.00\/0\.00\) lat \(ms,95%\): [1-9][0-9]*\.[0-9]* err\/s 0\.00 reconn\/s: 0\.00 (re) + \[ 3s \] thds: 0 tps: [0-9]*\.[0-9]* qps: 0\.00 \(r\/w\/o: 0\.00\/0\.00\/0\.00\) lat \(ms,95%\): [1-9][0-9]*\.[0-9]* err\/s 0\.00 reconn\/s: 0\.00 (re) ######################################################################## # CSV format via a custom hook @@ -40,8 +40,8 @@ > EOF $ sysbench $SB_ARGS run - 2,1,*.*,0.00,0.00,0.00,0.00,1.*,0.00,0.00 (glob) - 3,0,*.*,0.00,0.00,0.00,0.00,1.*,0.00,0.00 (glob) + 2,1,[0-9]*\.[0-9]*,0\.00,0\.00,0\.00,0\.00,[1-9][0-9]*\.[0-9]*,0\.00,0\.00 (re) + 3,0,[0-9]*\.[0-9]*,0\.00,0\.00,0\.00,0\.00,[1-9][0-9]*\.[0-9]*,0\.00,0\.00 (re) ######################################################################## # JSON format via a custom hook @@ -67,9 +67,9 @@ "total": 0.00, "reads": 0.00, "writes": 0.00, - "other": 0.00, + "other": 0.00 }, - "latency": 1.*, (glob) + "latency": [1-9][0-9]*\.[0-9]*, (re) "errors": 0.00, "reconnects": 0.00 }, @@ -81,9 +81,9 @@ "total": 0.00, "reads": 0.00, "writes": 0.00, - "other": 0.00, + "other": 0.00 }, - "latency": 1.*, (glob) + "latency": [1-9][0-9]*\.[0-9]*, (re) "errors": 0.00, "reconnects": 0.00 }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysbench-1.0.7/tests/t/opt_help.t new/sysbench-1.0.8/tests/t/opt_help.t --- old/sysbench-1.0.7/tests/t/opt_help.t 2017-05-15 16:09:33.000000000 +0200 +++ new/sysbench-1.0.8/tests/t/opt_help.t 2017-07-04 20:55:46.000000000 +0200 @@ -36,7 +36,7 @@ --rand-spec-pct=N percentage of values to be treated as 'special' (for special distribution) [1] --rand-spec-res=N percentage of 'special' values to use (for special distribution) [75] --rand-seed=N seed for random number generator. When 0, the current time is used as a RNG seed. [0] - --rand-pareto-h=N parameter h for pareto distibution [0.2] + --rand-pareto-h=N parameter h for pareto distribution [0.2] Log options: --verbosity=N verbosity level {5 - debug, 0 - only critical messages} [3] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysbench-1.0.7/tests/t/test_cpu.t new/sysbench-1.0.8/tests/t/test_cpu.t --- old/sysbench-1.0.7/tests/t/test_cpu.t 2017-05-15 16:09:33.000000000 +0200 +++ new/sysbench-1.0.8/tests/t/test_cpu.t 2017-07-04 20:55:46.000000000 +0200 @@ -27,6 +27,8 @@ Threads started! + CPU speed: + events per second: *.* (glob) General statistics: total time: *s (glob) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysbench-1.0.7/tests/t/test_fileio.t new/sysbench-1.0.8/tests/t/test_fileio.t --- old/sysbench-1.0.7/tests/t/test_fileio.t 2017-05-15 16:09:33.000000000 +0200 +++ new/sysbench-1.0.8/tests/t/test_fileio.t 2017-07-04 20:55:46.000000000 +0200 @@ -233,3 +233,8 @@ Removing test files... $ ls + + $ sysbench $fileio_args --file-test-mode=rndrw --verbosity=2 run + FATAL: Cannot open file 'test_file.0' errno = 2 (No such file or directory) + WARNING: Did you forget to run the prepare step? + [1]