From c0e0b225a5230036b3dc09134f94eece81d3f96d Mon Sep 17 00:00:00 2001 From: Bogdan Drutu Date: Tue, 11 Sep 2018 00:08:18 -0700 Subject: Make jmh available for all subprojects. (#1425) --- .../trace/propagation/B3FormatImplBenchmark.java | 100 --------------------- .../propagation/BinaryFormatImplBenchmark.java | 91 ------------------- .../trace/propagation/TextFormatBenchmarkBase.java | 59 ------------ 3 files changed, 250 deletions(-) delete mode 100644 benchmarks/src/jmh/java/io/opencensus/benchmarks/trace/propagation/B3FormatImplBenchmark.java delete mode 100644 benchmarks/src/jmh/java/io/opencensus/benchmarks/trace/propagation/BinaryFormatImplBenchmark.java delete mode 100644 benchmarks/src/jmh/java/io/opencensus/benchmarks/trace/propagation/TextFormatBenchmarkBase.java (limited to 'benchmarks/src') diff --git a/benchmarks/src/jmh/java/io/opencensus/benchmarks/trace/propagation/B3FormatImplBenchmark.java b/benchmarks/src/jmh/java/io/opencensus/benchmarks/trace/propagation/B3FormatImplBenchmark.java deleted file mode 100644 index eb20ec2c..00000000 --- a/benchmarks/src/jmh/java/io/opencensus/benchmarks/trace/propagation/B3FormatImplBenchmark.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright 2018, OpenCensus 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 io.opencensus.benchmarks.trace.propagation; - -import io.opencensus.trace.SpanContext; -import io.opencensus.trace.SpanId; -import io.opencensus.trace.TraceId; -import io.opencensus.trace.TraceOptions; -import io.opencensus.trace.Tracestate; -import io.opencensus.trace.Tracing; -import io.opencensus.trace.propagation.SpanContextParseException; -import io.opencensus.trace.propagation.TextFormat; -import io.opencensus.trace.propagation.TextFormat.Getter; -import io.opencensus.trace.propagation.TextFormat.Setter; -import java.util.HashMap; -import java.util.Map; -import java.util.Random; -import java.util.concurrent.TimeUnit; -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; - -/** Benchmarks for {@link io.opencensus.implcore.trace.propagation.B3Format}. */ -@State(Scope.Benchmark) -public class B3FormatImplBenchmark { - @State(Scope.Thread) - public static class Data { - private TextFormatBenchmarkBase textFormatBase; - private SpanContext spanContext; - private Map spanContextHeaders; - - @Setup - public void setup() { - textFormatBase = new TextFormatBenchmarkBase(Tracing.getPropagationComponent().getB3Format()); - Random random = new Random(1234); - spanContext = - SpanContext.create( - TraceId.generateRandomId(random), - SpanId.generateRandomId(random), - TraceOptions.builder().setIsSampled(random.nextBoolean()).build(), - Tracestate.builder().build()); - spanContextHeaders = new HashMap(); - textFormatBase.inject(spanContext, spanContextHeaders); - } - } - - /** - * This benchmark attempts to measure performance of {@link TextFormat#inject(SpanContext, Object, - * Setter)}. - */ - @Benchmark - @BenchmarkMode(Mode.SampleTime) - @OutputTimeUnit(TimeUnit.NANOSECONDS) - public Map inject(Data data) { - Map carrier = new HashMap(); - data.textFormatBase.inject(data.spanContext, carrier); - return carrier; - } - - /** - * This benchmark attempts to measure performance of {@link TextFormat#extract(Object, Getter)}. - */ - @Benchmark - @BenchmarkMode(Mode.SampleTime) - @OutputTimeUnit(TimeUnit.NANOSECONDS) - public SpanContext extract(Data data) throws SpanContextParseException { - return data.textFormatBase.extract(data.spanContextHeaders); - } - - /** - * This benchmark attempts to measure performance of {@link TextFormat#inject(SpanContext, Object, - * Setter)} then {@link TextFormat#extract(Object, Getter)}. - */ - @Benchmark - @BenchmarkMode(Mode.SampleTime) - @OutputTimeUnit(TimeUnit.NANOSECONDS) - public SpanContext injectExtract(Data data) throws SpanContextParseException { - Map carrier = new HashMap(); - data.textFormatBase.inject(data.spanContext, carrier); - return data.textFormatBase.extract(carrier); - } -} diff --git a/benchmarks/src/jmh/java/io/opencensus/benchmarks/trace/propagation/BinaryFormatImplBenchmark.java b/benchmarks/src/jmh/java/io/opencensus/benchmarks/trace/propagation/BinaryFormatImplBenchmark.java deleted file mode 100644 index 391ca906..00000000 --- a/benchmarks/src/jmh/java/io/opencensus/benchmarks/trace/propagation/BinaryFormatImplBenchmark.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright 2017, OpenCensus 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 io.opencensus.benchmarks.trace.propagation; - -import io.opencensus.trace.SpanContext; -import io.opencensus.trace.SpanId; -import io.opencensus.trace.TraceId; -import io.opencensus.trace.TraceOptions; -import io.opencensus.trace.Tracestate; -import io.opencensus.trace.Tracing; -import io.opencensus.trace.propagation.BinaryFormat; -import io.opencensus.trace.propagation.SpanContextParseException; -import java.util.Random; -import java.util.concurrent.TimeUnit; -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; - -/** Benchmarks for {@link BinaryFormat}. */ -@State(Scope.Benchmark) -public class BinaryFormatImplBenchmark { - @State(Scope.Thread) - public static class Data { - private BinaryFormat binaryFormat; - private SpanContext spanContext; - private byte[] spanContextBinary; - - @Setup - public void setup() { - binaryFormat = Tracing.getPropagationComponent().getBinaryFormat(); - Random random = new Random(1234); - spanContext = - SpanContext.create( - TraceId.generateRandomId(random), - SpanId.generateRandomId(random), - TraceOptions.builder().setIsSampled(random.nextBoolean()).build(), - Tracestate.builder().build()); - spanContextBinary = binaryFormat.toByteArray(spanContext); - } - } - - /** - * This benchmark attempts to measure performance of {@link - * BinaryFormat#toBinaryValue(SpanContext)}. - */ - @Benchmark - @BenchmarkMode(Mode.SampleTime) - @OutputTimeUnit(TimeUnit.NANOSECONDS) - public byte[] toBinarySpanContext(Data data) { - return data.binaryFormat.toByteArray(data.spanContext); - } - - /** - * This benchmark attempts to measure performance of {@link BinaryFormat#fromBinaryValue(byte[])}. - */ - @Benchmark - @BenchmarkMode(Mode.SampleTime) - @OutputTimeUnit(TimeUnit.NANOSECONDS) - public SpanContext fromBinarySpanContext(Data data) throws SpanContextParseException { - return data.binaryFormat.fromByteArray(data.spanContextBinary); - } - - /** - * This benchmark attempts to measure performance of {@link - * BinaryFormat#toBinaryValue(SpanContext)} then {@link BinaryFormat#fromBinaryValue(byte[])}. - */ - @Benchmark - @BenchmarkMode(Mode.SampleTime) - @OutputTimeUnit(TimeUnit.NANOSECONDS) - public SpanContext toFromBinarySpanContext(Data data) throws SpanContextParseException { - return data.binaryFormat.fromByteArray(data.binaryFormat.toByteArray(data.spanContext)); - } -} diff --git a/benchmarks/src/jmh/java/io/opencensus/benchmarks/trace/propagation/TextFormatBenchmarkBase.java b/benchmarks/src/jmh/java/io/opencensus/benchmarks/trace/propagation/TextFormatBenchmarkBase.java deleted file mode 100644 index 902b0a3a..00000000 --- a/benchmarks/src/jmh/java/io/opencensus/benchmarks/trace/propagation/TextFormatBenchmarkBase.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright 2018, OpenCensus 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 io.opencensus.benchmarks.trace.propagation; - -import io.opencensus.trace.SpanContext; -import io.opencensus.trace.propagation.SpanContextParseException; -import io.opencensus.trace.propagation.TextFormat; -import io.opencensus.trace.propagation.TextFormat.Getter; -import io.opencensus.trace.propagation.TextFormat.Setter; -import java.util.Map; -import javax.annotation.Nullable; - -/** Generic benchmarks for {@link io.opencensus.trace.propagation.TextFormat}. */ -final class TextFormatBenchmarkBase { - private static final Setter> setter = - new Setter>() { - @Override - public void put(Map carrier, String key, String value) { - carrier.put(key, value); - } - }; - - private static final Getter> getter = - new Getter>() { - @Nullable - @Override - public String get(Map carrier, String key) { - return carrier.get(key); - } - }; - - private final TextFormat textFormat; - - TextFormatBenchmarkBase(TextFormat textFormat) { - this.textFormat = textFormat; - } - - void inject(SpanContext spanContext, Map carrier) { - textFormat.inject(spanContext, carrier, setter); - } - - SpanContext extract(Map carrier) throws SpanContextParseException { - return textFormat.extract(carrier, getter); - } -} -- cgit v1.2.3