jjb: Add lttng-ust-benchmarks
authorMichael Jeanson <mjeanson@efficios.com>
Thu, 11 Aug 2016 16:41:50 +0000 (12:41 -0400)
committerMichael Jeanson <mjeanson@efficios.com>
Thu, 11 Aug 2016 16:41:50 +0000 (12:41 -0400)
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
jobs/lttng-ust-benchmarks.yaml [new file with mode: 0644]
jobs/ops_job-generator_kernel.yaml [deleted file]
scripts/lttng-ust-benchmarks/build.sh [new file with mode: 0644]

diff --git a/jobs/lttng-ust-benchmarks.yaml b/jobs/lttng-ust-benchmarks.yaml
new file mode 100644 (file)
index 0000000..070a76d
--- /dev/null
@@ -0,0 +1,130 @@
+- defaults:
+    name: lttng-ust-benchmarks
+    description: |
+
+      <p>Job is managed by Jenkins Job Builder.</p>
+
+    project-type: freestyle
+
+    wrappers:
+      - workspace-cleanup
+      - timestamps
+      - ansicolor
+
+    scm:
+      - git:
+          url: git://github.com/{github_user}/{github_name}.git
+          browser: githubweb
+          browser-url: https://github.com/{github_user}/{github_name}
+          branches:
+            - origin/{version}
+          basedir: src/lttng-ust-benchmarks
+          skip-tag: true
+
+    triggers:
+      - reverse:
+          jobs:
+            - liburcu_master_build
+            - lttng-tools_master_build
+            - lttng-ust_master_build
+          result: 'success'
+
+    properties:
+      - inject:
+          properties-content: |
+            PROJECT_NAME=lttng-ust-benchmarks
+      - build-discarder:
+          num-to-keep: 7
+      - github:
+          url: https://github.com/{github_user}/{github_name}
+
+
+## Templates
+- job-template:
+    name: lttng-ust-benchmarks_{version}_{buildtype}
+    defaults: lttng-ust-benchmarks
+
+    project-type: freestyle
+    node: x86-64
+
+    builders:
+      - copyartifact:
+          project: liburcu_master_build/arch=x86-64,build=std,conf=std
+          which-build: last-successful
+          stable: true
+          filter: 'build/**'
+          target: 'deps/liburcu'
+          do-not-fingerprint: true
+      - copyartifact:
+          project: babeltrace_master_build/arch=x86-64,build=std,conf=std
+          which-build: last-successful
+          stable: true
+          filter: 'build/**'
+          target: 'deps/babeltrace'
+          do-not-fingerprint: true
+      - copyartifact:
+          project: lttng-tools_master_build/arch=x86-64,babeltrace_version=master,build=std,conf=python-bindings,liburcu_version=master
+          which-build: last-successful
+          stable: true
+          filter: 'build/**'
+          target: 'deps/lttng-tools'
+          do-not-fingerprint: true
+      - copyartifact:
+          project: lttng-ust_master_build/arch=x86-64,build=std,conf=std,liburcu_version=master/
+          which-build: last-successful
+          stable: true
+          filter: 'build/**'
+          target: 'deps/lttng-ust'
+          do-not-fingerprint: true
+      - shell:
+         !include-raw-escape: scripts/lttng-ust-benchmarks/build.sh
+
+    # TODO: Scan for open tasks
+    publishers:
+      - archive:
+          artifacts: 'src/lttng-ust-benchmarks/benchmarks.json'
+          allow-empty: false
+      - plot:
+         - title: Process Start Time Overhead (app with 1 TP)
+           group: Benchmarks
+           yaxis: s
+           style: line
+           series:
+             - file: jenkins_plot_data/8_cpus.basic.tracing_disabled.start_overhead_s.properties
+               format: properties
+             - file: jenkins_plot_data/8_cpus.basic.tracing_enabled.start_overhead_s.properties
+               format: properties
+             - file: jenkins_plot_data/8_cpus.sha2.tracing_disabled.start_overhead_s.properties
+               format: properties
+             - file: jenkins_plot_data/8_cpus.sha2.tracing_enabled.start_overhead_s.properties
+               format: properties
+         - title: Event Overhead (app with 1 TP)
+           group: Benchmarks
+           yaxis: ns/event
+           style: line
+           series:
+             - file: jenkins_plot_data/8_cpus.basic.tracing_disabled.ns_per_event.properties
+               format: properties
+             - file: jenkins_plot_data/8_cpus.basic.tracing_enabled.ns_per_event.properties
+               format: properties
+             - file: jenkins_plot_data/8_cpus.sha2.tracing_disabled.ns_per_event.properties
+               format: properties
+             - file: jenkins_plot_data/8_cpus.sha2.tracing_enabled.ns_per_event.properties
+               format: properties
+               label: SHA-256 benchmark (tracing enabled)
+      - workspace-cleanup:
+          clean-if:
+            - failure: false
+            - not-built: false
+
+## Project
+- project:
+    name: lttng-ust-benchmarks
+    github_user: PSRCode
+    github_name: lttng-ust-benchmarks
+    version:
+      - master
+    jobs:
+      - 'lttng-ust-benchmarks_{version}_{buildtype}':
+          buildtype: build
+
diff --git a/jobs/ops_job-generator_kernel.yaml b/jobs/ops_job-generator_kernel.yaml
deleted file mode 100644 (file)
index e4ed8ca..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-- job:
-    name: ops_job-generator_kernel
-    disabled: true # Currently unused
-    node: master
-    description: |
-      The kernel job generator auto generate from jenkins job builder all the
-      kernel and lttng-modules jobs.
-
-      <p>Job is managed by Jenkins Job Builder.</p>
-
-    project-type: freestyle
-
-    properties:
-      - build-discarder:
-          num-to-keep: 2
-
-    wrappers:
-      - timestamps
-      - ansicolor:
-          colormap: xterm
-      - credentials-binding:
-        - username-password-separated:
-            credential-id: 72e4d7dd-6c82-413d-ab79-d89d7e6bc959
-            username: JJB_JENKINS_USER
-            password: JJB_JENKINS_TOKEN
-
-    triggers:
-      - timed: '@hourly'
-
-    scm:
-      - git:
-          url: https://github.com/lttng/lttng-ci.git
-          branches:
-            - origin/master
-          wipe-workspace: false
-
-    builders:
-      - shell:
-          !include-raw-escape: scripts/kernel/job-generator-kernel.sh
-      - system-groovy:
-          command:
-            !include-raw: scripts/kernel/job-trigger-kernel.groovy
-
-    publishers:
-      - email:
-          recipients: joraj@efficios.com
-
-
diff --git a/scripts/lttng-ust-benchmarks/build.sh b/scripts/lttng-ust-benchmarks/build.sh
new file mode 100644 (file)
index 0000000..10b1c05
--- /dev/null
@@ -0,0 +1,67 @@
+#!/bin/bash -exu
+#
+# Copyright (C) 2015, Jonathan Rajotte-Julien <jonathan.rajotte-julien@efficios.com>
+#               2016, Michael Jeanson <mjeanson@efficios.com>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+SRCDIR="$WORKSPACE/src/$PROJECT_NAME"
+
+# Create build directory
+rm -rf "$WORKSPACE/build"
+mkdir -p "$WORKSPACE/build"
+
+PYTHON3=python3
+P3_VERSION=$($PYTHON3 -c "import sys;print(sys.version[:3])")
+
+# liburcu
+URCU_INCS="$WORKSPACE/deps/liburcu/build/include/"
+URCU_LIBS="$WORKSPACE/deps/liburcu/build/lib/"
+
+# lttng-ust
+UST_INCS="$WORKSPACE/deps/lttng-ust/build/include/"
+UST_LIBS="$WORKSPACE/deps/lttng-ust/build/lib/"
+UST_BINS="$WORKSPACE/deps/lttng-ust/build/bin/"
+
+# babeltrace
+BABEL_INCS="$WORKSPACE/deps/babeltrace/build/include/"
+BABEL_LIBS="$WORKSPACE/deps/babeltrace/build/lib/"
+BABEL_PY="$WORKSPACE/deps/babeltrace/build/lib/python$P3_VERSION/site-packages/"
+
+# lttng-tools
+TOOLS_INCS="$WORKSPACE/deps/lttng-tools/build/include/"
+TOOLS_LIBS="$WORKSPACE/deps/lttng-tools/build/lib/"
+TOOLS_BINS="$WORKSPACE/deps/lttng-tools/build/bin/"
+TOOLS_PY="$WORKSPACE/deps/lttng-tools/build/lib/python$P3_VERSION/site-packages/"
+
+rm -rf "$WORKSPACE/deps/lttng-modules"
+git clone git://github.com/lttng/lttng-modules.git "$WORKSPACE/deps/lttng-modules"
+
+export CFLAGS="-I$URCU_INCS -I$UST_INCS"
+export LDFLAGS="-L$URCU_LIBS -L$UST_LIBS"
+export LD_LIBRARY_PATH="$URCU_LIBS:$UST_LIBS:$BABEL_LIBS:$TOOLS_LIBS:${LD_LIBRARY_PATH:-}"
+export PYTHONPATH="$TOOLS_PY:$BABEL_PY:${PYTHONPATH:-}"
+export PATH="$TOOLS_BINS:$UST_BINS:$PATH"
+export LTTNG_MODULES_DIR="$WORKSPACE/deps/lttng-modules/"
+
+export LTTNG_SESSION_CONFIG_XSD_PATH="$WORKSPACE/deps/lttng-tools/build/share/xml/lttng"
+export LTTNG_CONSUMERD64_BIN="$WORKSPACE/deps/lttng-tools/build/lib/lttng/libexec/lttng-consumerd"
+
+cd "$SRCDIR"
+
+make
+
+./benchmarks.py
+
+# EOF
This page took 0.026601 seconds and 4 git commands to generate.