1 <?xml version="1.0" encoding="UTF-8"?>
4 ~ Copyright (c) 2016 Cisco and/or its affiliates.
6 ~ Licensed under the Apache License, Version 2.0 (the "License");
7 ~ you may not use this file except in compliance with the License.
8 ~ You may obtain a copy of the License at:
10 ~ http://www.apache.org/licenses/LICENSE-2.0
12 ~ Unless required by applicable law or agreed to in writing, software
13 ~ distributed under the License is distributed on an "AS IS" BASIS,
14 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 ~ See the License for the specific language governing permissions and
16 ~ limitations under the License.
19 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
20 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
23 <groupId>io.fd.honeycomb.common</groupId>
24 <artifactId>honeycomb-parent</artifactId>
25 <version>1.18.04-SNAPSHOT</version>
26 <relativePath>../../../common/honeycomb-parent</relativePath>
29 <modelVersion>4.0.0</modelVersion>
30 <groupId>io.fd.honeycomb</groupId>
31 <artifactId>benchmark</artifactId>
32 <version>1.18.04-SNAPSHOT</version>
33 <packaging>jar</packaging>
36 <jmh.version>1.15</jmh.version>
37 <uberjar.name>benchmarks</uberjar.name>
42 <groupId>org.openjdk.jmh</groupId>
43 <artifactId>jmh-core</artifactId>
44 <version>${jmh.version}</version>
47 <groupId>org.openjdk.jmh</groupId>
48 <artifactId>jmh-generator-annprocess</artifactId>
49 <version>${jmh.version}</version>
50 <scope>provided</scope>
53 <groupId>io.fd.honeycomb</groupId>
54 <artifactId>minimal-distribution</artifactId>
55 <version>${project.version}</version>
58 <groupId>io.fd.honeycomb.it</groupId>
59 <artifactId>honeycomb-test-model</artifactId>
60 <version>${project.version}</version>
63 <groupId>org.apache.commons</groupId>
64 <artifactId>commons-csv</artifactId>
65 <version>1.4</version>
73 <directory>${basedir}/src/main/resources</directory>
74 <!-- Enable maven to replace properties in resource files -->
75 <filtering>true</filtering>
80 <artifactId>maven-dependency-plugin</artifactId>
83 <id>build-classpath</id>
84 <phase>compile</phase>
86 <goal>build-classpath</goal>
89 <outputProperty>depClasspath</outputProperty>
95 <groupId>org.codehaus.mojo</groupId>
96 <artifactId>exec-maven-plugin</artifactId>
105 <mainClass>org.openjdk.jmh.Main</mainClass>
108 <key>java.class.path</key>
109 <value>${project.build.outputDirectory}${path.separator}${depClasspath}</value>
113 <!-- Reference org.openjdk.jmh.runner.options.CommandLineOptions -->
115 <!-- Fail on error -->
116 <argument>-foe=true</argument>
119 <!-- cl: Classloader profiling via standard MBeans
120 comp: JIT compiler profiling via standard MBeans
121 gc: GC profiling via standard MBeans
122 hs_cl: HotSpot (tm) classloader profiling via implementation-specific MBeans
123 hs_comp: HotSpot (tm) JIT compiler profiling via implementation-specific MBeans
124 hs_gc: HotSpot (tm) memory manager (GC) profiling via implementation-specific MBeans
125 hs_rt: HotSpot (tm) runtime profiling via implementation-specific MBeans
126 hs_thr: HotSpot (tm) threading subsystem via implementation-specific MBeans
127 pauses: Pauses profiler
128 stack: Simple and naive Java stack profiler -->
129 <!--<argument>-prof=gc</argument>-->
132 <!-- formats = Available formats: text, csv, scsv, json, latex-->
133 <argument>-rf=csv</argument>
134 <argument>-rff=${project.build.directory}/benchmark.csv</argument>
139 <id>benchmark-post-processing</id>
145 <mainClass>io.fd.honeycomb.benchmark.format.BenchmarkOutputFormatter</mainClass>
147 <argument>${project.build.directory}/benchmark.csv</argument>