Skip to content

Commit e6895e4

Browse files
committed
Improve benchmark and caching optimizations.
1 parent 003b7d1 commit e6895e4

File tree

13 files changed

+118
-65
lines changed

13 files changed

+118
-65
lines changed

dd-java-agent/benchmark/benchmark.gradle

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,12 @@ task jmhAgent(type: JavaExec, dependsOn: project.tasks.jmhCompileGeneratedClasse
6060
main = "org.openjdk.jmh.Main"
6161
args += ["-tu", "us"]
6262
args += ["-bm", "avgt"]
63-
args += ["-prof", "stack"]
64-
// args += ["-r", "5s"]
65-
// args += ["-i", "5"]
63+
// args += ["-prof", "stack:lines=5;detailLine=true;period=5;excludePackages=true"]
6664
args += ["-f", "1"]
6765
args += ["-foe", "true"]
68-
// args += ["-w", "2s"]
66+
6967
// args += ["-wi", "2"]
68+
// args += ["-i", "5"]
7069
}
7170

7271
tasks.jmhAgent.dependsOn project(':dd-java-agent').shadowJar

dd-java-agent/benchmark/src/jmh/java/com/datadoghq/benchmark/ClassRetransformingBenchmark.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.datadoghq.benchmark;
22

3-
import com.datadoghq.benchmark.classes.DeepClass;
4-
import com.datadoghq.benchmark.classes.SimpleClass;
3+
import com.datadoghq.benchmark.classes.TracedClass;
4+
import com.datadoghq.benchmark.classes.UntracedClass;
55
import java.lang.instrument.Instrumentation;
66
import java.lang.instrument.UnmodifiableClassException;
77
import java.lang.reflect.Field;
@@ -54,13 +54,14 @@ public void stopAgent() {
5454
}
5555

5656
@Benchmark
57-
public void testSimpleRetransform(final BenchmarkState state) throws UnmodifiableClassException {
58-
state.inst.retransformClasses(SimpleClass.class);
57+
public void testUntracedRetransform(final BenchmarkState state)
58+
throws UnmodifiableClassException {
59+
state.inst.retransformClasses(UntracedClass.class);
5960
}
6061

6162
@Benchmark
62-
public void testDeepRetransform(final BenchmarkState state) throws UnmodifiableClassException {
63-
state.inst.retransformClasses(DeepClass.class);
63+
public void testTracedRetransform(final BenchmarkState state) throws UnmodifiableClassException {
64+
state.inst.retransformClasses(TracedClass.class);
6465
}
6566

6667
@Fork(jvmArgsAppend = "-javaagent:releases/dd-java-agent-0.2.2.jar")
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
package com.datadoghq.benchmark.classes;
22

3-
import com.datadoghq.trace.Trace;
4-
53
public interface A {
6-
@Trace
7-
void interfaceTrace();
4+
void a();
85
}
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
package com.datadoghq.benchmark.classes;
22

3-
import com.datadoghq.trace.Trace;
4-
53
public interface B extends A {
6-
@Trace
7-
void something();
4+
void b();
85
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
package com.datadoghq.benchmark.classes;
22

33
public interface C extends B {
4-
void somethingElse();
4+
void c();
55
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.datadoghq.benchmark.classes;
2+
3+
public interface D extends C {
4+
void d();
5+
}

dd-java-agent/benchmark/src/jmh/java/com/datadoghq/benchmark/classes/DeepClass.java

Lines changed: 0 additions & 19 deletions
This file was deleted.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.datadoghq.benchmark.classes;
2+
3+
public interface E extends D {
4+
void e();
5+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.datadoghq.benchmark.classes;
2+
3+
public abstract class F implements E {
4+
public abstract void f();
5+
6+
public void g() {}
7+
}

dd-java-agent/benchmark/src/jmh/java/com/datadoghq/benchmark/classes/SimpleClass.java

Lines changed: 0 additions & 9 deletions
This file was deleted.

0 commit comments

Comments
 (0)