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.10-RC1</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.10-RC1</version>
33 <name>${project.artifactId}</name>
34 <packaging>jar</packaging>
37 <jmh.version>1.15</jmh.version>
38 <uberjar.name>benchmarks</uberjar.name>
43 <groupId>org.openjdk.jmh</groupId>
44 <artifactId>jmh-core</artifactId>
45 <version>${jmh.version}</version>
48 <groupId>org.openjdk.jmh</groupId>
49 <artifactId>jmh-generator-annprocess</artifactId>
50 <version>${jmh.version}</version>
51 <scope>provided</scope>
54 <groupId>io.fd.honeycomb</groupId>
55 <artifactId>minimal-distribution</artifactId>
56 <version>${project.version}</version>
59 <groupId>io.fd.honeycomb.it</groupId>
60 <artifactId>honeycomb-test-model</artifactId>
61 <version>${project.version}</version>
64 <groupId>org.apache.commons</groupId>
65 <artifactId>commons-csv</artifactId>
66 <version>1.4</version>
74 <directory>${basedir}/src/main/resources</directory>
75 <!-- Enable maven to replace properties in resource files -->
76 <filtering>true</filtering>
81 <artifactId>maven-dependency-plugin</artifactId>
84 <id>build-classpath</id>
85 <phase>compile</phase>
87 <goal>build-classpath</goal>
90 <outputProperty>depClasspath</outputProperty>
96 <groupId>org.codehaus.mojo</groupId>
97 <artifactId>exec-maven-plugin</artifactId>
106 <mainClass>org.openjdk.jmh.Main</mainClass>
109 <key>java.class.path</key>
110 <value>${project.build.outputDirectory}${path.separator}${depClasspath}</value>
114 <!-- Reference org.openjdk.jmh.runner.options.CommandLineOptions -->
116 <!-- Fail on error -->
117 <argument>-foe=true</argument>
120 <!-- cl: Classloader profiling via standard MBeans
121 comp: JIT compiler profiling via standard MBeans
122 gc: GC profiling via standard MBeans
123 hs_cl: HotSpot (tm) classloader profiling via implementation-specific MBeans
124 hs_comp: HotSpot (tm) JIT compiler profiling via implementation-specific MBeans
125 hs_gc: HotSpot (tm) memory manager (GC) profiling via implementation-specific MBeans
126 hs_rt: HotSpot (tm) runtime profiling via implementation-specific MBeans
127 hs_thr: HotSpot (tm) threading subsystem via implementation-specific MBeans
128 pauses: Pauses profiler
129 stack: Simple and naive Java stack profiler -->
130 <!--<argument>-prof=gc</argument>-->
133 <!-- formats = Available formats: text, csv, scsv, json, latex-->
134 <argument>-rf=csv</argument>
135 <argument>-rff=${project.build.directory}/benchmark.csv</argument>
140 <id>benchmark-post-processing</id>
146 <mainClass>io.fd.honeycomb.benchmark.format.BenchmarkOutputFormatter</mainClass>
148 <argument>${project.build.directory}/benchmark.csv</argument>