sysbench (New package)

DoneSubmitted by Eric Brown.
Details
5 participants
  • Brett Gilio
  • Eric Brown
  • Mathieu Othacehe
  • Christopher Baines
  • Maxim Cournoyer
Owner
unassigned
Severity
normal
E
E
Eric Brown wrote on 14 Apr 2020 03:55
(address . guix-patches@gnu.org)
874ktm7rw2.fsf@ericcbrown.com
Dear All,

Please see attached a patch for sysbench, a benchmarking utility.

Best regards,
Eric
From 4906fb3db0482cbb5862f8f56e6e107499dee2d8 Mon Sep 17 00:00:00 2001
From: Eric Brown <ecbrown@ericcbrown.com>
Date: Mon, 13 Apr 2020 20:34:11 -0500
Subject: [PATCH] gnu: Add sysbench.

* gnu/packages/benchmark.scm (sysbench): New variable.
---
gnu/packages/benchmark.scm | 64 ++++++++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)

Toggle diff (98 lines)
diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm
index 4e6c416518..b27cd5436e 100644
--- a/gnu/packages/benchmark.scm
+++ b/gnu/packages/benchmark.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
 ;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2020 Eric Brown <ecbrown@ericcbrown.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31,16 +32,22 @@
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages lua)
+  #:use-module (gnu packages m4)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages mpi)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-science)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages storage)
+  #:use-module (gnu packages tls)
   #:use-module (ice-9 match))
 
 (define-public fio
@@ -258,3 +265,60 @@ benchmark how your file systems perform with respect to data read and write
 speed, the number of seeks that can be performed per second, and the number of
 file metadata operations that can be performed per second.")
     (license license:gpl2)))   ;GPL 2 only, see copyright.txt
+
+(define-public sysbench
+  (package
+    (name "sysbench")
+    (version "1.0.19")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/akopytov/sysbench")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1zgqb9cr7ld3vw4a3jhq1mlszhcyjlpr0c8q1jcp1d27l9dcvd1w"))
+       (modules '((guix build utils)))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; until shebangs fixed
+       #:configure-flags '("--with-system-luajit")
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'bootstrap)
+         (add-after 'patch-source-shebangs 'libtoolize
+           (lambda _ (invoke "libtoolize" "--copy" "--force")))
+         (add-after 'libtoolize 'aclocal
+           (lambda _ (invoke "aclocal" "-I" "m4")))
+         (add-after 'aclocal 'autoreconf
+           (lambda _ (invoke "autoreconf" "--install")))
+         (add-after 'autoreconf 'automake
+           (lambda _ (invoke "automake"
+                             "-c" "--foreign" "--add-missing")))
+         (add-after 'automake 'autoconf
+           (lambda _ (invoke "autoconf"))))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("lua" ,lua)
+       ("m4" ,m4)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-minimal)))
+    (inputs
+     `(("libaio" ,libaio)
+       ("luajit" ,luajit)
+       ("mysql" ,mysql)
+       ("openssl" ,openssl)
+       ("postgresql" ,postgresql)
+       ("zlib" ,zlib)))
+    (home-page "https://github.com/akopytov/sysbench/")
+    (synopsis "Scriptable multi-threaded benchmark tool ")
+    (description "sysbench is a scriptable multi-threaded benchmark tool based
+on LuaJIT. It is most frequently used for database benchmarks, but can also be
+used to create arbitrarily complex workloads that do not involve a database
+server.")
+    (license license:gpl2+)))
+
-- 
2.26.0
M
M
Mathieu Othacehe wrote on 28 Apr 2020 10:13
(name . Eric Brown)(address . ecbrown@ericcbrown.com)
87ftcouiws.fsf@gmail.com
Hello Eric,

Thanks for the patch.

Toggle quote (2 lines)
> + (version "1.0.19")

Looks like 1.0.20 is out there.

Toggle quote (14 lines)
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/akopytov/sysbench")
> + (commit version)))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32 "1zgqb9cr7ld3vw4a3jhq1mlszhcyjlpr0c8q1jcp1d27l9dcvd1w"))
> + (modules '((guix build utils)))))
> + (build-system gnu-build-system)
> + (arguments
> + `(#:tests? #f ; until shebangs fixed

Tests can run but you actually need to modify run_tests.sh so that it's
able to locate the python interpreter.

Toggle quote (14 lines)
> + (modify-phases %standard-phases
> + (delete 'bootstrap)
> + (add-after 'patch-source-shebangs 'libtoolize
> + (lambda _ (invoke "libtoolize" "--copy" "--force")))
> + (add-after 'libtoolize 'aclocal
> + (lambda _ (invoke "aclocal" "-I" "m4")))
> + (add-after 'aclocal 'autoreconf
> + (lambda _ (invoke "autoreconf" "--install")))
> + (add-after 'autoreconf 'automake
> + (lambda _ (invoke "automake"
> + "-c" "--foreign" "--add-missing")))
> + (add-after 'automake 'autoconf
> + (lambda _ (invoke "autoconf"))))))

You can remove all this block by just adding "which" to the
native-inputs list :)

Toggle quote (2 lines)
> + (synopsis "Scriptable multi-threaded benchmark tool ")

Trailing space at the end of the sentence.

Toggle quote (5 lines)
> + (description "sysbench is a scriptable multi-threaded benchmark tool based
> +on LuaJIT. It is most frequently used for database benchmarks, but can also be
> +used to create arbitrarily complex workloads that do not involve a database
> +server.")

Please remember to run `guix lint' before submitting.

Thanks,

Mathieu
M
M
Mathieu Othacehe wrote on 28 Apr 2020 10:28
(address . 40617@debbugs.gnu.org)
87ftcot3oa.fsf@gmail.com
Hello Eric,

Thanks for the patch.

Toggle quote (2 lines)
> + (version "1.0.19")

Looks like 1.0.20 is out there.

Toggle quote (14 lines)
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/akopytov/sysbench")
> + (commit version)))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32 "1zgqb9cr7ld3vw4a3jhq1mlszhcyjlpr0c8q1jcp1d27l9dcvd1w"))
> + (modules '((guix build utils)))))
> + (build-system gnu-build-system)
> + (arguments
> + `(#:tests? #f ; until shebangs fixed

Tests can run but you actually need to modify run_tests.sh so that it's
able to locate the python interpreter.

Toggle quote (14 lines)
> + (modify-phases %standard-phases
> + (delete 'bootstrap)
> + (add-after 'patch-source-shebangs 'libtoolize
> + (lambda _ (invoke "libtoolize" "--copy" "--force")))
> + (add-after 'libtoolize 'aclocal
> + (lambda _ (invoke "aclocal" "-I" "m4")))
> + (add-after 'aclocal 'autoreconf
> + (lambda _ (invoke "autoreconf" "--install")))
> + (add-after 'autoreconf 'automake
> + (lambda _ (invoke "automake"
> + "-c" "--foreign" "--add-missing")))
> + (add-after 'automake 'autoconf
> + (lambda _ (invoke "autoconf"))))))

You can remove all this block by just adding "which" to the
native-inputs list :)

Toggle quote (2 lines)
> + (synopsis "Scriptable multi-threaded benchmark tool ")

Trailing space at the end of the sentence.

Toggle quote (5 lines)
> + (description "sysbench is a scriptable multi-threaded benchmark tool based
> +on LuaJIT. It is most frequently used for database benchmarks, but can also be
> +used to create arbitrarily complex workloads that do not involve a database
> +server.")

Please remember to run `guix lint' before submitting.

Thanks,

Mathieu
B
B
Brett Gilio wrote on 25 Jul 2020 04:15
(name . Mathieu Othacehe)(address . m.othacehe@gmail.com)
87wo2s2vdd.fsf@gnu.org
tags 40617 moreinfo
C
C
Christopher Baines wrote on 21 Nov 2020 11:27
(name . Eric Brown)(address . ecbrown@ericcbrown.com)(address . 40617@debbugs.gnu.org)
878savhunl.fsf@cbaines.net
It's been a few months, is this patch still relevant?

Thanks,

Chris
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAl+4645fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9Xe82Q//bJCFOVJebPc9tV39nooqYzflhNiE2dv7
aes/mFNcL6S0CnsIF6GNh3n7+O4bDwcNED9tN1FrxshD6ci59FvKnI+vTtLNTROt
nG9Kr691sTvco92dVJPxP1tTJxccwsvXa3fWtU2euD3qNN7cLeUY01hTmO8Tc43+
LdxbTAcp9go9PxtsZcFNbxUdyl00QHOuwcOiJu8ZUKd6dPuwofYZeAg24YBWS7DT
hObjY0VlxZaMzkQ4hmazK1JE5NVXEpE61rcpznvCOdWHxL99IJMm0UBBGlLIMUs/
x52ACHJXh0nydIZ4Sr32Y3xMypQjWAmxB4jXQFBvO55uup/vXBe0pWjhp4eqzy+j
aXxrudCKcxMt/edBly1HsRrpIGSObQSOokgwKiEOp/RXhFhnEHWJ8kBzhW5abrJK
+ed9n2Qk3ndvqhTV2ZVxzTgeZFdosgEk03zPZbEXT3sZLRYQ0fRniwErwOnzkkOa
1JQ2N7u1nqVHiZTxXeZEKe6OI0wBhytn3vgcIg1QMX4cQ+a2m9lSN2yN9+r3kZao
LmCROpE/iTW24TCOnkYb8SQhmGlPvbGczdtmNHo89JMgupI1mlqPID7H8D7KG/YF
MuyAf57UOX+1RIxeH/EzngXjspav36MazFmFCoVLpjfO08AupuISp1+T15h0jWx9
u4gjAQri4OA=
=ZMPt
-----END PGP SIGNATURE-----

E
E
Eric Brown wrote on 27 May 2021 00:28
(name . Christopher Baines)(address . mail@cbaines.net)(address . 40617@debbugs.gnu.org)
4027825e-a989-4b72-934a-f50ff99d6068@www.fastmail.com
Hi Chris,

Sorry this fell through the cracks. Yes, I would like to have this patch because it's useful to have benchmarks in the various contexts where I use Guix. This package makes it easy to get some, and is libre.

Best regards,
Eric

On Sat, Nov 21, 2020, at 4:27 AM, Christopher Baines wrote:
Toggle quote (9 lines)
>
> It's been a few months, is this patch still relevant?
>
> Thanks,
>
> Chris
>
> Attachments:
> * signature.asc
M
M
Maxim Cournoyer wrote on 21 Mar 18:37 +0100
Re: bug#40617: sysbench (New package)
(name . Eric Brown)(address . ecbrown@ericcbrown.com)
87a6dj2olw.fsf_-_@gmail.com
Hello,

"Eric Brown" <ecbrown@ericcbrown.com> writes:

Toggle quote (15 lines)
> Hi Chris,
>
> Sorry this fell through the cracks. Yes, I would like to have this patch because it's useful to have benchmarks in the various contexts where I use Guix. This package makes it easy to get some, and is libre.
>
> Best regards,
> Eric
>
> On Sat, Nov 21, 2020, at 4:27 AM, Christopher Baines wrote:
>>
>> It's been a few months, is this patch still relevant?
>>
>> Thanks,
>>
>> Chris

I didn't notice about this patch (apologies!) and submitted sysbench
independently in c886968bb161d7d53c17f9cd6dfb87be34446690 a few days
ago.

Thank you,

Closing.

Maxim
Closed
?
Your comment

This issue is archived.

To comment on this conversation send email to 40617@debbugs.gnu.org