Browse Source

Fix metrics speed tests on Windows

Write to NUL on Windows and /dev/null on other platforms. Increase the
default number of iterations to avoid problems with the reduced timing
precision on Windows.

Closes gh-2976
pull/3013/head
Andy Wilkinson 11 years ago
parent
commit
129c24926e
  1. 4
      spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/buffer/BufferGaugeServiceSpeedTests.java
  2. 4
      spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/buffer/CounterServiceSpeedTests.java
  3. 4
      spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/buffer/DefaultCounterServiceSpeedTests.java
  4. 4
      spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/buffer/DefaultGaugeServiceSpeedTests.java
  5. 4
      spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/buffer/DropwizardCounterServiceSpeedTests.java
  6. 39
      spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/buffer/NullPrintWriter.java

4
spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/buffer/BufferGaugeServiceSpeedTests.java

@ -69,7 +69,7 @@ public class BufferGaugeServiceSpeedTests { @@ -69,7 +69,7 @@ public class BufferGaugeServiceSpeedTests {
private static int threadCount = 2;
private static final int number = Boolean.getBoolean("performance.test") ? 10000000
: 100000;
: 1000000;
private static StopWatch watch = new StopWatch("count");
@ -79,7 +79,7 @@ public class BufferGaugeServiceSpeedTests { @@ -79,7 +79,7 @@ public class BufferGaugeServiceSpeedTests {
@BeforeClass
public static void prime() throws FileNotFoundException {
err = new PrintWriter("/dev/null");
err = new NullPrintWriter();
final Random random = new Random();
for (int i = 0; i < 1000; i++) {
sample[i] = names[random.nextInt(names.length)];

4
spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/buffer/CounterServiceSpeedTests.java

@ -67,7 +67,7 @@ public class CounterServiceSpeedTests { @@ -67,7 +67,7 @@ public class CounterServiceSpeedTests {
private static int threadCount = 2;
private static final int number = Boolean.getBoolean("performance.test") ? 10000000
: 100000;
: 1000000;
private static StopWatch watch = new StopWatch("count");
@ -77,7 +77,7 @@ public class CounterServiceSpeedTests { @@ -77,7 +77,7 @@ public class CounterServiceSpeedTests {
@BeforeClass
public static void prime() throws FileNotFoundException {
err = new PrintWriter("/dev/null");
err = new NullPrintWriter();
final Random random = new Random();
for (int i = 0; i < 1000; i++) {
sample[i] = names[random.nextInt(names.length)];

4
spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/buffer/DefaultCounterServiceSpeedTests.java

@ -67,7 +67,7 @@ public class DefaultCounterServiceSpeedTests { @@ -67,7 +67,7 @@ public class DefaultCounterServiceSpeedTests {
private static int threadCount = 2;
private static final int number = Boolean.getBoolean("performance.test") ? 2000000
: 100000;
: 1000000;
private static int count;
@ -77,7 +77,7 @@ public class DefaultCounterServiceSpeedTests { @@ -77,7 +77,7 @@ public class DefaultCounterServiceSpeedTests {
@BeforeClass
public static void prime() throws FileNotFoundException {
err = new PrintWriter("/dev/null");
err = new NullPrintWriter();
final Random random = new Random();
for (int i = 0; i < 1000; i++) {
sample[i] = names[random.nextInt(names.length)];

4
spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/buffer/DefaultGaugeServiceSpeedTests.java

@ -67,7 +67,7 @@ public class DefaultGaugeServiceSpeedTests { @@ -67,7 +67,7 @@ public class DefaultGaugeServiceSpeedTests {
private static int threadCount = 2;
private static final int number = Boolean.getBoolean("performance.test") ? 5000000
: 100000;
: 1000000;
private static int count;
@ -77,7 +77,7 @@ public class DefaultGaugeServiceSpeedTests { @@ -77,7 +77,7 @@ public class DefaultGaugeServiceSpeedTests {
@BeforeClass
public static void prime() throws FileNotFoundException {
err = new PrintWriter("/dev/null");
err = new NullPrintWriter();
final Random random = new Random();
for (int i = 0; i < 1000; i++) {
sample[i] = names[random.nextInt(names.length)];

4
spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/buffer/DropwizardCounterServiceSpeedTests.java

@ -70,7 +70,7 @@ public class DropwizardCounterServiceSpeedTests { @@ -70,7 +70,7 @@ public class DropwizardCounterServiceSpeedTests {
private static int threadCount = 2;
private static final int number = Boolean.getBoolean("performance.test") ? 10000000
: 100000;
: 1000000;
private static int count;
@ -80,7 +80,7 @@ public class DropwizardCounterServiceSpeedTests { @@ -80,7 +80,7 @@ public class DropwizardCounterServiceSpeedTests {
@BeforeClass
public static void prime() throws FileNotFoundException {
err = new PrintWriter("/dev/null");
err = new NullPrintWriter();
final Random random = new Random();
for (int i = 0; i < 1000; i++) {
sample[i] = names[random.nextInt(names.length)];

39
spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/buffer/NullPrintWriter.java

@ -0,0 +1,39 @@ @@ -0,0 +1,39 @@
/*
* Copyright 2012-2015 the original author or authors.
*
* 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.
*/
package org.springframework.boot.actuate.metrics.buffer;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
/**
* A {@link PrintWriter} that writes to {@code NUL} on Windows and {@code /dev/null} on
* all other platforms.
*
* @author Andy Wilkinson
*/
public class NullPrintWriter extends PrintWriter {
public NullPrintWriter() throws FileNotFoundException {
super(isWindows() ? "NUL" : "/dev/null");
}
private static boolean isWindows() {
return File.separatorChar == '\\';
}
}
Loading…
Cancel
Save