diff options
author | Maros Marsalek <mmarsale@cisco.com> | 2016-11-03 16:24:17 +0100 |
---|---|---|
committer | Maros Marsalek <mmarsale@cisco.com> | 2016-11-07 15:33:48 +0100 |
commit | 03a638b95da83e150d4f69451c8733b5f09c37aa (patch) | |
tree | 970f6f3afed85d073476b63108c7a12f1200557e /infra/it/benchmark/pom.xml | |
parent | 5fd09f98a9fde773b275c2266f39552cda861713 (diff) |
HONEYCOMB-287 Infra micro-benchmarks
Config (write)
Operational (read)
Add -Pbenchmark to maven execution to include benchmarks
Change-Id: Ia4815ffc109e34629279b9418b962a9f91c38c30
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Diffstat (limited to 'infra/it/benchmark/pom.xml')
-rw-r--r-- | infra/it/benchmark/pom.xml | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/infra/it/benchmark/pom.xml b/infra/it/benchmark/pom.xml new file mode 100644 index 000000000..5ee3c0881 --- /dev/null +++ b/infra/it/benchmark/pom.xml @@ -0,0 +1,137 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + ~ Copyright (c) 2016 Cisco and/or its affiliates. + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at: + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License. + --> + +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <parent> + <groupId>io.fd.honeycomb.common</groupId> + <artifactId>honeycomb-parent</artifactId> + <version>1.16.12-SNAPSHOT</version> + <relativePath>../../../common/honeycomb-parent</relativePath> + </parent> + + <modelVersion>4.0.0</modelVersion> + <groupId>io.fd.honeycomb</groupId> + <artifactId>benchmark</artifactId> + <version>1.16.12-SNAPSHOT</version> + <packaging>jar</packaging> + + <properties> + <jmh.version>1.15</jmh.version> + <uberjar.name>benchmarks</uberjar.name> + </properties> + + <dependencies> + <dependency> + <groupId>org.openjdk.jmh</groupId> + <artifactId>jmh-core</artifactId> + <version>${jmh.version}</version> + </dependency> + <dependency> + <groupId>org.openjdk.jmh</groupId> + <artifactId>jmh-generator-annprocess</artifactId> + <version>${jmh.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>io.fd.honeycomb</groupId> + <artifactId>minimal-distribution</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>io.fd.honeycomb.it</groupId> + <artifactId>honeycomb-test-model</artifactId> + <version>${project.version}</version> + </dependency> + </dependencies> + + <build> + <resources> + <resource> + <directory>${basedir}/src/main/resources</directory> + <!-- Enable maven to replace properties in resource files --> + <filtering>true</filtering> + </resource> + </resources> + <plugins> + <plugin> + <artifactId>maven-dependency-plugin</artifactId> + <executions> + <execution> + <id>build-classpath</id> + <phase>compile</phase> + <goals> + <goal>build-classpath</goal> + </goals> + <configuration> + <outputProperty>depClasspath</outputProperty> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>exec-maven-plugin</artifactId> + <executions> + <execution> + <id>benchmark</id> + <phase>test</phase> + <goals> + <goal>java</goal> + </goals> + <configuration> + <mainClass>org.openjdk.jmh.Main</mainClass> + <systemProperties> + <systemProperty> + <key>java.class.path</key> + <value>${project.build.outputDirectory}${path.separator}${depClasspath}</value> + </systemProperty> + </systemProperties> + <arguments> + <!-- Reference org.openjdk.jmh.runner.options.CommandLineOptions --> + + <!-- Fail on error --> + <argument>-foe=true</argument> + + <!-- PROFILING --> + <!-- cl: Classloader profiling via standard MBeans + comp: JIT compiler profiling via standard MBeans + gc: GC profiling via standard MBeans + hs_cl: HotSpot (tm) classloader profiling via implementation-specific MBeans + hs_comp: HotSpot (tm) JIT compiler profiling via implementation-specific MBeans + hs_gc: HotSpot (tm) memory manager (GC) profiling via implementation-specific MBeans + hs_rt: HotSpot (tm) runtime profiling via implementation-specific MBeans + hs_thr: HotSpot (tm) threading subsystem via implementation-specific MBeans + pauses: Pauses profiler + stack: Simple and naive Java stack profiler --> + <!--<argument>-prof=gc</argument>--> + + <!-- REPORT --> + <!-- formats = Available formats: text, csv, scsv, json, latex--> + <argument>-rf=csv</argument> + <argument>-rff=${project.build.directory}/benchmark.csv</argument> + </arguments> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + +</project> |