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.16.12-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.16.12-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>
67 <directory>${basedir}/src/main/resources</directory>
68 <!-- Enable maven to replace properties in resource files -->
69 <filtering>true</filtering>
74 <artifactId>maven-dependency-plugin</artifactId>
77 <id>build-classpath</id>
78 <phase>compile</phase>
80 <goal>build-classpath</goal>
83 <outputProperty>depClasspath</outputProperty>
89 <groupId>org.codehaus.mojo</groupId>
90 <artifactId>exec-maven-plugin</artifactId>
99 <mainClass>org.openjdk.jmh.Main</mainClass>
102 <key>java.class.path</key>
103 <value>${project.build.outputDirectory}${path.separator}${depClasspath}</value>
107 <!-- Reference org.openjdk.jmh.runner.options.CommandLineOptions -->
109 <!-- Fail on error -->
110 <argument>-foe=true</argument>
113 <!-- cl: Classloader profiling via standard MBeans
114 comp: JIT compiler profiling via standard MBeans
115 gc: GC profiling via standard MBeans
116 hs_cl: HotSpot (tm) classloader profiling via implementation-specific MBeans
117 hs_comp: HotSpot (tm) JIT compiler profiling via implementation-specific MBeans
118 hs_gc: HotSpot (tm) memory manager (GC) profiling via implementation-specific MBeans
119 hs_rt: HotSpot (tm) runtime profiling via implementation-specific MBeans
120 hs_thr: HotSpot (tm) threading subsystem via implementation-specific MBeans
121 pauses: Pauses profiler
122 stack: Simple and naive Java stack profiler -->
123 <!--<argument>-prof=gc</argument>-->
126 <!-- formats = Available formats: text, csv, scsv, json, latex-->
127 <argument>-rf=csv</argument>
128 <argument>-rff=${project.build.directory}/benchmark.csv</argument>