| buildscript { |
| repositories { |
| maven { // The google mirror is less flaky than mavenCentral() |
| url "https://maven-central.storage-download.googleapis.com/repos/central/data/" } |
| } |
| dependencies { classpath libraries.protobuf_plugin } |
| } |
| |
| apply plugin: 'application' |
| |
| description = "grpc Benchmarks" |
| |
| startScripts.enabled = false |
| run.enabled = false |
| |
| jmh { |
| jvmArgs = "-server -Xms2g -Xmx2g" |
| // Workaround |
| // https://github.com/melix/jmh-gradle-plugin/issues/97#issuecomment-316664026 |
| includeTests = true |
| } |
| |
| dependencies { |
| compile project(':grpc-core'), |
| project(':grpc-netty'), |
| project(':grpc-okhttp'), |
| project(':grpc-stub'), |
| project(':grpc-protobuf'), |
| project(':grpc-testing'), |
| libraries.junit, |
| libraries.mockito, |
| libraries.hdrhistogram, |
| libraries.netty_tcnative, |
| libraries.netty_epoll, |
| libraries.math |
| compileOnly libraries.javax_annotation |
| } |
| |
| compileJava { |
| // The Control.Void protobuf clashes |
| options.compilerArgs += ["-Xep:JavaLangClash:OFF"] |
| } |
| |
| configureProtoCompilation() |
| |
| def vmArgs = [ |
| "-server", |
| "-Xms2g", |
| "-Xmx2g", |
| "-XX:+PrintGCDetails" |
| ] |
| |
| task qps_client(type: CreateStartScripts) { |
| mainClassName = "io.grpc.benchmarks.qps.AsyncClient" |
| applicationName = "qps_client" |
| defaultJvmOpts = [ |
| "-javaagent:" + configurations.alpnagent.asPath |
| ].plus(vmArgs) |
| outputDir = new File(project.buildDir, 'tmp') |
| classpath = jar.outputs.files + project.configurations.runtime |
| } |
| |
| task openloop_client(type: CreateStartScripts) { |
| mainClassName = "io.grpc.benchmarks.qps.OpenLoopClient" |
| applicationName = "openloop_client" |
| defaultJvmOpts = [ |
| "-javaagent:" + configurations.alpnagent.asPath |
| ].plus(vmArgs) |
| outputDir = new File(project.buildDir, 'tmp') |
| classpath = jar.outputs.files + project.configurations.runtime |
| } |
| |
| task qps_server(type: CreateStartScripts) { |
| mainClassName = "io.grpc.benchmarks.qps.AsyncServer" |
| applicationName = "qps_server" |
| outputDir = new File(project.buildDir, 'tmp') |
| classpath = jar.outputs.files + project.configurations.runtime |
| } |
| |
| task benchmark_worker(type: CreateStartScripts) { |
| mainClassName = "io.grpc.benchmarks.driver.LoadWorker" |
| applicationName = "benchmark_worker" |
| defaultJvmOpts = [ |
| "-javaagent:" + configurations.alpnagent.asPath |
| ].plus(vmArgs) |
| outputDir = new File(project.buildDir, 'tmp') |
| classpath = jar.outputs.files + project.configurations.runtime |
| } |
| |
| applicationDistribution.into("bin") { |
| from(qps_client) |
| from(openloop_client) |
| from(qps_server) |
| from(benchmark_worker) |
| fileMode = 0755 |
| } |