From b3fc12e8b170534e0f57eae1937f91abcd652280 Mon Sep 17 00:00:00 2001 From: Michael Jeanson Date: Thu, 11 Aug 2016 12:41:50 -0400 Subject: [PATCH] jjb: Add lttng-ust-benchmarks Signed-off-by: Michael Jeanson --- jobs/lttng-ust-benchmarks.yaml | 130 ++++++++++++++++++++++++++ jobs/ops_job-generator_kernel.yaml | 48 ---------- scripts/lttng-ust-benchmarks/build.sh | 67 +++++++++++++ 3 files changed, 197 insertions(+), 48 deletions(-) create mode 100644 jobs/lttng-ust-benchmarks.yaml delete mode 100644 jobs/ops_job-generator_kernel.yaml create mode 100644 scripts/lttng-ust-benchmarks/build.sh diff --git a/jobs/lttng-ust-benchmarks.yaml b/jobs/lttng-ust-benchmarks.yaml new file mode 100644 index 0000000..070a76d --- /dev/null +++ b/jobs/lttng-ust-benchmarks.yaml @@ -0,0 +1,130 @@ +- defaults: + name: lttng-ust-benchmarks + description: | + +

Job is managed by Jenkins Job Builder.

+ + 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 index e4ed8ca..0000000 --- a/jobs/ops_job-generator_kernel.yaml +++ /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. - -

Job is managed by Jenkins Job Builder.

- - 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 index 0000000..10b1c05 --- /dev/null +++ b/scripts/lttng-ust-benchmarks/build.sh @@ -0,0 +1,67 @@ +#!/bin/bash -exu +# +# Copyright (C) 2015, Jonathan Rajotte-Julien +# 2016, Michael Jeanson +# +# 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 . + +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 -- 2.34.1