mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 09:17:43 +03:00
ad529e9a8b
* new perf test module LargeAcs to shift many-contract creation to Daml-side * using MakeIouRange to make blocks of (more or less constant) Ious * syntax and bad variable quasiquoting * ACS data distribution plans * run with 100k contracts, same template, 1% observer frequency * use CanAssert instead of CanAbort * query under proper alternative jwt * no changelog CHANGELOG_BEGIN CHANGELOG_END * make sure the database accurately represents the ACS
148 lines
5.3 KiB
Python
148 lines
5.3 KiB
Python
# Copyright (c) 2021 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
load(
|
|
"//bazel_tools:scala.bzl",
|
|
"da_scala_binary",
|
|
"da_scala_library",
|
|
"lf_scalacopts",
|
|
)
|
|
load(
|
|
"//rules_daml:daml.bzl",
|
|
"daml_compile",
|
|
)
|
|
load("@scala_version//:index.bzl", "scala_major_version", "scala_version_suffix")
|
|
load(
|
|
"//daml-lf/language:daml-lf.bzl",
|
|
"lf_version_configuration",
|
|
)
|
|
|
|
scalacopts = lf_scalacopts + [
|
|
"-P:wartremover:traverser:org.wartremover.warts.NonUnitStatements",
|
|
]
|
|
|
|
perf_runtime_deps = {
|
|
"ce": [],
|
|
"ee": [
|
|
"@maven//:com_oracle_database_jdbc_ojdbc8",
|
|
],
|
|
}
|
|
|
|
[
|
|
da_scala_library(
|
|
name = "http-json-perf-{}".format(edition),
|
|
srcs = glob(["src/main/scala/**/*.scala"]),
|
|
plugins = [
|
|
"@maven//:org_typelevel_kind_projector_{}".format(scala_version_suffix),
|
|
],
|
|
resources = glob(["src/main/resources/**/*"]),
|
|
scala_deps = [
|
|
"@maven//:com_github_scopt_scopt",
|
|
"@maven//:com_typesafe_akka_akka_actor",
|
|
"@maven//:com_typesafe_akka_akka_http_core",
|
|
"@maven//:com_typesafe_akka_akka_stream",
|
|
"@maven//:com_typesafe_scala_logging_scala_logging",
|
|
"@maven//:io_spray_spray_json",
|
|
"@maven//:org_scalactic_scalactic",
|
|
"@maven//:org_scalatest_scalatest",
|
|
"@maven//:org_scalaz_scalaz_core",
|
|
],
|
|
scalacopts = scalacopts,
|
|
tags = ["maven_coordinates=com.daml:http-json-perf-{}:__VERSION__".format(edition)],
|
|
visibility = ["//visibility:public"],
|
|
runtime_deps = [
|
|
"@maven//:ch_qos_logback_logback_classic",
|
|
],
|
|
deps = [
|
|
"//language-support/scala/bindings-akka",
|
|
"//ledger-api/rs-grpc-bridge",
|
|
"@maven//:io_gatling_gatling_netty_util",
|
|
"@maven//:io_netty_netty_common",
|
|
"@maven//:io_netty_netty_transport",
|
|
"//ledger-service/http-json:http-json-{}".format(edition),
|
|
"//ledger-service/http-json-cli:{}".format(edition),
|
|
"//ledger-service/http-json-testing:{}".format(edition),
|
|
"//ledger-service/jwt",
|
|
"//libs-scala/gatling-utils",
|
|
"//libs-scala/oracle-testing",
|
|
"//libs-scala/ports",
|
|
"//libs-scala/postgresql-testing",
|
|
"//libs-scala/scala-utils",
|
|
"//runtime-components/jdbc-drivers:jdbc-drivers-{}".format(edition),
|
|
"@maven//:com_fasterxml_jackson_core_jackson_core",
|
|
"@maven//:com_fasterxml_jackson_core_jackson_databind",
|
|
"@maven//:io_gatling_gatling_app",
|
|
"@maven//:io_gatling_gatling_commons",
|
|
"@maven//:io_gatling_gatling_commons_shared_unstable",
|
|
"@maven//:io_gatling_gatling_core",
|
|
"@maven//:io_gatling_gatling_http",
|
|
"@maven//:io_gatling_gatling_http_client",
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
],
|
|
)
|
|
for edition in [
|
|
"ce",
|
|
"ee",
|
|
]
|
|
] if scala_major_version == "2.13" else None
|
|
|
|
daml_compile(
|
|
name = "LargeAcs",
|
|
srcs = ["daml/LargeAcs.daml"],
|
|
target = lf_version_configuration.get("latest"),
|
|
)
|
|
|
|
[
|
|
da_scala_binary(
|
|
name = "http-json-perf-binary-{}".format(edition),
|
|
data = [
|
|
":release/json-api-perf-logback.xml",
|
|
],
|
|
jvm_flags = [
|
|
"-Dlogback.configurationFile=$(location :release/json-api-perf-logback.xml)",
|
|
],
|
|
main_class = "com.daml.http.perf.Main",
|
|
scala_deps = [
|
|
"@maven//:com_github_scopt_scopt",
|
|
"@maven//:com_typesafe_akka_akka_actor",
|
|
"@maven//:com_typesafe_akka_akka_http_core",
|
|
"@maven//:com_typesafe_akka_akka_stream",
|
|
"@maven//:com_typesafe_scala_logging_scala_logging",
|
|
"@maven//:org_scalactic_scalactic",
|
|
"@maven//:org_scalatest_scalatest",
|
|
"@maven//:org_scalaz_scalaz_core",
|
|
],
|
|
scalacopts = scalacopts,
|
|
visibility = ["//visibility:public"],
|
|
runtime_deps = [
|
|
"@maven//:ch_qos_logback_logback_classic",
|
|
"@maven//:io_gatling_highcharts_gatling_charts_highcharts",
|
|
] + perf_runtime_deps.get(edition),
|
|
deps = [
|
|
"@maven//:io_gatling_highcharts_gatling_charts_highcharts",
|
|
":http-json-perf-{}".format(edition),
|
|
"//language-support/scala/bindings-akka",
|
|
"//ledger-api/rs-grpc-bridge",
|
|
"//ledger-service/http-json:http-json-{}".format(edition),
|
|
"//ledger-service/http-json-testing:{}".format(edition),
|
|
"//ledger-service/jwt",
|
|
"//libs-scala/gatling-utils",
|
|
"//libs-scala/scala-utils",
|
|
"@maven//:com_fasterxml_jackson_core_jackson_core",
|
|
"@maven//:com_fasterxml_jackson_core_jackson_databind",
|
|
"@maven//:io_gatling_gatling_app",
|
|
"@maven//:io_gatling_gatling_commons",
|
|
"@maven//:io_gatling_gatling_core",
|
|
"@maven//:io_gatling_gatling_http",
|
|
"@maven//:io_gatling_gatling_http_client",
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
],
|
|
)
|
|
for edition in [
|
|
"ce",
|
|
"ee",
|
|
]
|
|
] if scala_major_version == "2.13" else None
|
|
|
|
exports_files(["release/json-api-perf-logback.xml"])
|