mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-19 16:57:40 +03:00
disentangle ledger api (#17831)
* make testing-utils independent of ledger-api * remove dead files * move non ledger-api stuff to libs-scala
This commit is contained in:
parent
d3521956b8
commit
b81ee69abe
@ -322,14 +322,14 @@ scala_library(
|
||||
"//language-support/java/bindings:bindings-java",
|
||||
"//language-support/scala/bindings",
|
||||
"//ledger-api/grpc-definitions:ledger_api_proto_scala",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/rs-grpc-pekko",
|
||||
"//libs-scala/concurrent",
|
||||
"//libs-scala/executors",
|
||||
"//libs-scala/logging-entries",
|
||||
"//libs-scala/nameof",
|
||||
"//libs-scala/nonempty",
|
||||
"//libs-scala/nonempty-cats",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/rs-grpc-pekko",
|
||||
"//libs-scala/scala-utils",
|
||||
"//observability/metrics",
|
||||
"@canton_maven//:org_flywaydb_flyway_core",
|
||||
@ -520,8 +520,6 @@ scala_library(
|
||||
"//language-support/scala/bindings",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/grpc-definitions:ledger_api_proto_scala",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/rs-grpc-pekko",
|
||||
"//libs-scala/build-info",
|
||||
"//libs-scala/concurrent",
|
||||
"//libs-scala/contextualized-logging",
|
||||
@ -537,6 +535,8 @@ scala_library(
|
||||
"//libs-scala/resources",
|
||||
"//libs-scala/resources-grpc",
|
||||
"//libs-scala/resources-pekko",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/rs-grpc-pekko",
|
||||
"//libs-scala/scala-utils",
|
||||
"//libs-scala/struct-json/struct-spray-json",
|
||||
"//libs-scala/timer-utils",
|
||||
@ -618,7 +618,6 @@ scala_library(
|
||||
"//language-support/scala/bindings",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/grpc-definitions:ledger_api_proto_scala",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//libs-scala/concurrent",
|
||||
"//libs-scala/contextualized-logging",
|
||||
"//libs-scala/jwt",
|
||||
@ -629,6 +628,7 @@ scala_library(
|
||||
"//libs-scala/resources",
|
||||
"//libs-scala/resources-grpc",
|
||||
"//libs-scala/resources-pekko",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/scala-utils",
|
||||
"//libs-scala/struct-json/struct-spray-json",
|
||||
"//libs-scala/timer-utils",
|
||||
@ -713,11 +713,11 @@ scala_library(
|
||||
"//language-support/scala/bindings",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/grpc-definitions:ledger_api_proto_scala",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//libs-scala/executors",
|
||||
"//libs-scala/nameof",
|
||||
"//libs-scala/nonempty",
|
||||
"//libs-scala/nonempty-cats",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/scala-utils",
|
||||
"//observability/metrics",
|
||||
"@maven//:com_github_ben_manes_caffeine_caffeine",
|
||||
@ -896,7 +896,6 @@ scala_library(
|
||||
"//language-support/scala/bindings",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/grpc-definitions:ledger_api_proto_scala",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//libs-scala/contextualized-logging",
|
||||
"//libs-scala/executors",
|
||||
"//libs-scala/jwt",
|
||||
@ -908,6 +907,7 @@ scala_library(
|
||||
"//libs-scala/resources",
|
||||
"//libs-scala/resources-grpc",
|
||||
"//libs-scala/resources-pekko",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/scala-utils",
|
||||
"//observability/metrics",
|
||||
"//observability/tracing",
|
||||
@ -977,7 +977,6 @@ scala_library(
|
||||
"//language-support/scala/bindings",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/grpc-definitions:ledger_api_proto_scala",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//libs-scala/contextualized-logging",
|
||||
"//libs-scala/executors",
|
||||
"//libs-scala/jwt",
|
||||
@ -985,6 +984,7 @@ scala_library(
|
||||
"//libs-scala/nameof",
|
||||
"//libs-scala/nonempty",
|
||||
"//libs-scala/nonempty-cats",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/scala-utils",
|
||||
"//observability/metrics",
|
||||
"@maven//:ch_qos_logback_logback_classic",
|
||||
@ -1071,9 +1071,9 @@ scala_library(
|
||||
"//language-support/java/bindings:bindings-java",
|
||||
"//language-support/scala/bindings",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//libs-scala/jwt",
|
||||
"//libs-scala/nonempty",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//observability/metrics",
|
||||
"@maven//:ch_qos_logback_logback_classic",
|
||||
"@maven//:ch_qos_logback_logback_core",
|
||||
|
@ -38,11 +38,11 @@ da_scala_binary(
|
||||
"//daml-lf/transaction",
|
||||
"//daml-script/runner:script-runner-lib",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-service/cli-opts",
|
||||
"//ledger-service/lf-value-json",
|
||||
"//ledger/ledger-api-common",
|
||||
"//libs-scala/auth-utils",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/scala-utils",
|
||||
"@maven//:io_grpc_grpc_api",
|
||||
"@maven//:io_grpc_grpc_netty",
|
||||
|
@ -38,8 +38,8 @@ da_scala_binary(
|
||||
"//daml-script/runner:script-runner-lib",
|
||||
"//language-support/scala/bindings",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//libs-scala/contextualized-logging",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"@maven//:com_google_protobuf_protobuf_java",
|
||||
"@maven//:io_grpc_grpc_api",
|
||||
"@maven//:io_grpc_grpc_netty",
|
||||
|
@ -18,8 +18,8 @@ genrule(
|
||||
"//ledger/ledger-api-auth-client:ledger-api-auth-client_pom.xml",
|
||||
"//language-support/java/codegen:shaded_binary.jar",
|
||||
"//language-support/java/codegen:shaded_binary_pom.xml",
|
||||
"//ledger-api/rs-grpc-bridge:librs-grpc-bridge.jar",
|
||||
"//ledger-api/rs-grpc-bridge:rs-grpc-bridge_pom.xml",
|
||||
"//libs-scala/rs-grpc-bridge:librs-grpc-bridge.jar",
|
||||
"//libs-scala/rs-grpc-bridge:rs-grpc-bridge_pom.xml",
|
||||
"//docs:quickstart-java.tar.gz",
|
||||
],
|
||||
outs = ["integration-tests-mvn.tar"],
|
||||
@ -58,8 +58,8 @@ genrule(
|
||||
$(location //language-support/java/codegen:shaded_binary_pom.xml)
|
||||
install_mvn \\
|
||||
"com.daml" "rs-grpc-bridge" \\
|
||||
$(location //ledger-api/rs-grpc-bridge:librs-grpc-bridge.jar) \\
|
||||
$(location //ledger-api/rs-grpc-bridge:rs-grpc-bridge_pom.xml)
|
||||
$(location //libs-scala/rs-grpc-bridge:librs-grpc-bridge.jar) \\
|
||||
$(location //libs-scala/rs-grpc-bridge:rs-grpc-bridge_pom.xml)
|
||||
install_mvn \\
|
||||
"com.daml" "ledger-api-auth-client" \\
|
||||
$(location //ledger/ledger-api-auth-client:libledger-api-auth-client.jar) \\
|
||||
|
@ -43,11 +43,11 @@ da_scala_binary(
|
||||
"//daml-lf/language",
|
||||
"//language-support/scala/bindings",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-service/cli-opts",
|
||||
"//ledger/ledger-api-client",
|
||||
"//ledger/ledger-api-common",
|
||||
"//libs-scala/auth-utils",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/scala-utils",
|
||||
"@maven//:org_apache_commons_commons_text",
|
||||
],
|
||||
|
@ -23,9 +23,9 @@ da_scala_binary(
|
||||
"//daml-script/runner:script-runner-lib",
|
||||
"//language-support/scala/bindings",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger/ledger-api-common",
|
||||
"//libs-scala/auth-utils",
|
||||
"//libs-scala/fs-utils",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
],
|
||||
)
|
||||
|
@ -40,8 +40,6 @@ da_scala_test(
|
||||
"//daml-script/export/transaction-eq",
|
||||
"//daml-script/runner:script-runner-lib",
|
||||
"//language-support/scala/bindings",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/testing-utils",
|
||||
"//ledger/ledger-api-client",
|
||||
"//ledger/ledger-api-common",
|
||||
"//ledger/ledger-api-domain",
|
||||
@ -49,6 +47,8 @@ da_scala_test(
|
||||
"//libs-scala/ledger-resources",
|
||||
"//libs-scala/ports",
|
||||
"//libs-scala/resources",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/testing-utils",
|
||||
"//test-common:dar-files-default-lib",
|
||||
"//test-common/canton/it-lib",
|
||||
"@maven//:io_netty_netty_handler",
|
||||
|
@ -69,7 +69,6 @@ da_scala_library(
|
||||
"//daml-script/converter",
|
||||
"//language-support/scala/bindings",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-service/cli-opts",
|
||||
"//ledger-service/lf-value-json",
|
||||
"//ledger/error",
|
||||
@ -82,6 +81,7 @@ da_scala_library(
|
||||
"//libs-scala/contextualized-logging",
|
||||
"//libs-scala/jwt",
|
||||
"//libs-scala/nonempty",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"@maven//:com_google_guava_guava",
|
||||
],
|
||||
)
|
||||
@ -121,8 +121,6 @@ da_scala_test(
|
||||
"//daml-lf/data",
|
||||
"//language-support/scala/bindings",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/testing-utils",
|
||||
"//ledger-service/http-json:http-json-ce",
|
||||
"//ledger-service/http-json-cli:ce",
|
||||
"//ledger-service/http-json-testing:ce",
|
||||
@ -131,7 +129,9 @@ da_scala_test(
|
||||
"//libs-scala/ledger-resources",
|
||||
"//libs-scala/ports",
|
||||
"//libs-scala/resources",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/scala-utils",
|
||||
"//libs-scala/testing-utils",
|
||||
"//test-common/canton/it-lib",
|
||||
"@maven//:org_scalatest_scalatest_compatible",
|
||||
],
|
||||
|
@ -170,13 +170,13 @@ da_scala_library(
|
||||
"//daml-script/runner:script-runner-lib",
|
||||
"//language-support/scala/bindings",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/testing-utils",
|
||||
"//ledger/ledger-api-common",
|
||||
"//libs-scala/ledger-resources",
|
||||
"//libs-scala/ports",
|
||||
"//libs-scala/resources",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/scala-utils",
|
||||
"//libs-scala/testing-utils",
|
||||
"//test-common/canton/it-lib",
|
||||
"@maven//:org_scalatest_scalatest_compatible",
|
||||
],
|
||||
@ -368,8 +368,6 @@ da_scala_test_suite(
|
||||
"//daml-script/runner:script-runner-lib",
|
||||
"//language-support/scala/bindings",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/testing-utils",
|
||||
"//ledger-service/cli-opts",
|
||||
"//ledger-service/http-json:http-json-ce",
|
||||
"//ledger-service/http-json-cli:ce",
|
||||
@ -384,7 +382,9 @@ da_scala_test_suite(
|
||||
"//libs-scala/ledger-resources",
|
||||
"//libs-scala/ports",
|
||||
"//libs-scala/resources",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/scala-utils",
|
||||
"//libs-scala/testing-utils",
|
||||
"//observability/metrics",
|
||||
"//test-common/canton/it-lib",
|
||||
],
|
||||
@ -438,8 +438,6 @@ da_scala_test_suite(
|
||||
"//daml-script/runner:script-runner-lib",
|
||||
"//language-support/scala/bindings",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/testing-utils",
|
||||
"//ledger-service/cli-opts",
|
||||
"//ledger-service/http-json:http-json-ce",
|
||||
"//ledger-service/http-json-cli:ce",
|
||||
@ -459,7 +457,9 @@ da_scala_test_suite(
|
||||
"//libs-scala/resources",
|
||||
"//libs-scala/resources-grpc",
|
||||
"//libs-scala/resources-pekko",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/scala-utils",
|
||||
"//libs-scala/testing-utils",
|
||||
"//observability/metrics",
|
||||
"//test-common",
|
||||
"//test-common/canton/it-lib",
|
||||
|
@ -26,7 +26,7 @@ javadoc_library(
|
||||
deps = [
|
||||
"//language-support/java/bindings:bindings-java",
|
||||
"//language-support/java/bindings-rxjava",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"@maven//:com_google_code_findbugs_jsr305",
|
||||
"@maven//:com_google_protobuf_protobuf_java",
|
||||
"@maven//:io_grpc_grpc_core",
|
||||
|
@ -36,8 +36,8 @@ da_java_library(
|
||||
],
|
||||
deps = [
|
||||
"//language-support/java/bindings:bindings-java",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger/ledger-api-auth-client",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"@maven//:com_google_api_grpc_proto_google_common_protos",
|
||||
"@maven//:com_google_protobuf_protobuf_java",
|
||||
"@maven//:io_grpc_grpc_api",
|
||||
@ -75,11 +75,11 @@ da_scala_library(
|
||||
"//daml-lf/data",
|
||||
"//language-support/java/bindings:bindings-java",
|
||||
"//ledger-api/grpc-definitions:ledger_api_proto_scala",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger/ledger-api-auth",
|
||||
"//ledger/ledger-api-domain",
|
||||
"//ledger/participant-local-store",
|
||||
"//libs-scala/contextualized-logging",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"@maven//:com_google_protobuf_protobuf_java",
|
||||
"@maven//:io_grpc_grpc_netty",
|
||||
"@maven//:io_reactivex_rxjava2_rxjava",
|
||||
|
@ -412,14 +412,14 @@ da_scala_test(
|
||||
"//daml-lf/data",
|
||||
"//language-support/java/bindings:bindings-java",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/testing-utils",
|
||||
"//ledger/ledger-api-common",
|
||||
"//ledger/ledger-api-domain",
|
||||
"//libs-scala/ledger-resources",
|
||||
"//libs-scala/ledger-resources:ledger-resources-test-lib",
|
||||
"//libs-scala/ports",
|
||||
"//libs-scala/resources",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/testing-utils",
|
||||
"//test-common/canton/it-lib",
|
||||
"@maven//:com_google_protobuf_protobuf_java",
|
||||
"@maven//:io_grpc_grpc_api",
|
||||
|
@ -28,7 +28,7 @@ da_scala_library(
|
||||
"@maven//:ch_qos_logback_logback_classic",
|
||||
],
|
||||
deps = [
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"@maven//:com_typesafe_config",
|
||||
"@maven//:org_scalatest_scalatest_compatible",
|
||||
],
|
||||
|
@ -38,9 +38,9 @@ da_scala_library(
|
||||
exports = [
|
||||
"//language-support/java/bindings:bindings-java",
|
||||
"//language-support/scala/bindings",
|
||||
"//ledger-api/rs-grpc-pekko",
|
||||
"//ledger/ledger-api-client",
|
||||
"//ledger/ledger-api-domain",
|
||||
"//libs-scala/rs-grpc-pekko",
|
||||
"@maven//:ch_qos_logback_logback_classic",
|
||||
"@maven//:ch_qos_logback_logback_core",
|
||||
"@maven//:com_google_api_grpc_proto_google_common_protos",
|
||||
@ -53,10 +53,10 @@ da_scala_library(
|
||||
deps = [
|
||||
"//language-support/java/bindings:bindings-java",
|
||||
"//language-support/scala/bindings",
|
||||
"//ledger-api/rs-grpc-pekko",
|
||||
"//ledger/ledger-api-client",
|
||||
"//ledger/ledger-api-common",
|
||||
"//ledger/ledger-api-domain",
|
||||
"//libs-scala/rs-grpc-pekko",
|
||||
"//observability/tracing",
|
||||
"@maven//:ch_qos_logback_logback_classic",
|
||||
"@maven//:ch_qos_logback_logback_core",
|
||||
@ -96,8 +96,8 @@ da_scala_test_suite(
|
||||
":bindings-pekko",
|
||||
"//language-support/scala/bindings",
|
||||
"//language-support/scala/bindings-pekko-testing",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger/ledger-api-client",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//observability/tracing",
|
||||
"@maven//:com_google_api_grpc_proto_google_common_protos",
|
||||
"@maven//:com_typesafe_config",
|
||||
|
@ -141,13 +141,13 @@ da_scala_test(
|
||||
"//language-support/scala/bindings",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//language-support/scala/codegen-testing",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/testing-utils",
|
||||
"//ledger/ledger-api-client",
|
||||
"//ledger/ledger-api-common",
|
||||
"//libs-scala/ledger-resources",
|
||||
"//libs-scala/ports",
|
||||
"//libs-scala/resources",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/testing-utils",
|
||||
"//observability/tracing",
|
||||
"//test-common/canton/it-lib",
|
||||
],
|
||||
|
@ -1 +0,0 @@
|
||||
-J-XX:MaxMetaspaceSize=512M
|
@ -1,25 +0,0 @@
|
||||
# Copyright (c) 2023 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
load(
|
||||
"//bazel_tools:scala.bzl",
|
||||
"da_scala_library",
|
||||
)
|
||||
|
||||
da_scala_library(
|
||||
name = "perf-testing",
|
||||
srcs = glob(["src/**/*.scala"]),
|
||||
scala_deps = [
|
||||
"@maven//:com_storm_enroute_scalameter",
|
||||
"@maven//:com_storm_enroute_scalameter_core",
|
||||
"@maven//:org_apache_pekko_pekko_actor",
|
||||
"@maven//:org_apache_pekko_pekko_stream",
|
||||
],
|
||||
visibility = [
|
||||
"//visibility:public",
|
||||
],
|
||||
deps = [
|
||||
"//ledger-api/testing-utils",
|
||||
"@maven//:org_slf4j_slf4j_api",
|
||||
],
|
||||
)
|
@ -1,61 +0,0 @@
|
||||
// Copyright (c) 2023 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
package com.daml.ledger.api.perf.util
|
||||
|
||||
import org.apache.pekko.actor.ActorSystem
|
||||
import org.apache.pekko.stream.Materializer
|
||||
import com.daml.ledger.api.testing.utils.Resource
|
||||
import org.slf4j.{Logger, LoggerFactory}
|
||||
|
||||
import scala.concurrent.{ExecutionContext, ExecutionContextExecutor}
|
||||
|
||||
@SuppressWarnings(Array("org.wartremover.warts.LeakingSealed"))
|
||||
abstract class PekkoStreamPerformanceTest extends PerformanceTest {
|
||||
|
||||
protected val logger: Logger = LoggerFactory.getLogger(this.getClass)
|
||||
|
||||
type ResourceType
|
||||
|
||||
@volatile protected var system: ActorSystem = _
|
||||
@volatile protected var materializer: Materializer = _
|
||||
@transient protected implicit val ec: ExecutionContextExecutor = ExecutionContext.global
|
||||
|
||||
protected def resource: Resource[ResourceType]
|
||||
|
||||
protected def setup(): Unit = {
|
||||
resource.setup()
|
||||
implicit val sys: ActorSystem = ActorSystem(this.getClass.getSimpleName.stripSuffix("$"))
|
||||
system = sys
|
||||
materializer = Materializer(system)
|
||||
}
|
||||
|
||||
protected def teardown(): Unit = {
|
||||
await(system.terminate())
|
||||
resource.close()
|
||||
}
|
||||
|
||||
implicit class FixtureSetup[T](using: Using[T]) extends Serializable {
|
||||
def withLifecycleManagement(additionalSetup: T => Unit = _ => ()): Using[T] =
|
||||
using
|
||||
.setUp { input =>
|
||||
try {
|
||||
setup()
|
||||
additionalSetup(input)
|
||||
} catch {
|
||||
case t: Throwable =>
|
||||
logger.error("Setup failed.", t)
|
||||
throw t
|
||||
}
|
||||
}
|
||||
.tearDown { _ =>
|
||||
try {
|
||||
teardown()
|
||||
} catch {
|
||||
case t: Throwable =>
|
||||
logger.error("Teardown failed.", t)
|
||||
throw t
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,66 +0,0 @@
|
||||
// Copyright (c) 2023 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
package com.daml.ledger.api.perf.util
|
||||
|
||||
import com.daml.ledger.api.perf.util.reporter.JMeterReporter
|
||||
import org.scalameter.KeyValue
|
||||
import org.scalameter.api._
|
||||
import org.scalameter.execution.{LocalExecutor, SeparateJvmsExecutor}
|
||||
import org.scalameter.picklers.Implicits._
|
||||
import org.scalameter.reporting.RegressionReporter
|
||||
|
||||
import scala.concurrent.duration._
|
||||
import scala.concurrent.{Await, Future}
|
||||
|
||||
/** Contains common elements for ScalaMeter tests that we expect to reuse.
|
||||
* Values are lazy to make sure that their usage doesn't result in NPEs.
|
||||
* They are also transient to avoid serializing them when [[SeparateJvmsExecutor]] is used.
|
||||
*/
|
||||
// we extend this, but Bench is sealed apparently
|
||||
@SuppressWarnings(Array("org.wartremover.warts.LeakingSealed"))
|
||||
abstract class PerformanceTest extends Bench[Double] {
|
||||
|
||||
protected def doWarmup: Boolean = true
|
||||
|
||||
protected def localExecution: Boolean = false
|
||||
|
||||
protected def asyncTimeout: FiniteDuration = 5.minutes
|
||||
|
||||
private def createExecutor =
|
||||
if (localExecution) LocalExecutor.apply[Double] _ else (SeparateJvmsExecutor.apply[Double] _)
|
||||
|
||||
@transient protected lazy val warmer: Warmer =
|
||||
if (doWarmup) Executor.Warmer.Default() else Executor.Warmer.Zero
|
||||
|
||||
@transient protected lazy val aggregator: Aggregator[Double] = Aggregator.median[Double]
|
||||
|
||||
@transient lazy val executor: Executor[Double] =
|
||||
createExecutor(warmer, aggregator, measurer)
|
||||
|
||||
@transient lazy val measurer: Measurer[Double] = Measurer.Default()
|
||||
|
||||
@transient lazy val reporter: Reporter[Double] = Reporter.Composite(
|
||||
RegressionReporter[Double](
|
||||
RegressionReporter.Tester.Accepter(),
|
||||
RegressionReporter.Historian.ExponentialBackoff(),
|
||||
),
|
||||
new JMeterReporter[Double](this.getClass),
|
||||
)
|
||||
|
||||
@transient lazy val persistor = Persistor.None
|
||||
|
||||
protected def daConfig: Seq[org.scalameter.KeyValue] =
|
||||
Seq[org.scalameter.KeyValue](
|
||||
KeyValue(exec.independentSamples -> 1),
|
||||
KeyValue(exec.minWarmupRuns -> 5),
|
||||
KeyValue(exec.benchRuns -> 20),
|
||||
KeyValue(exec.jvmflags -> List("-Xmx4096m", "-Xms4096m")),
|
||||
KeyValue(verbose -> true),
|
||||
)
|
||||
|
||||
protected def await[T](f: => Future[T]): T = {
|
||||
Await.result(f, asyncTimeout)
|
||||
}
|
||||
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
// Copyright (c) 2023 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
package com.daml.ledger.api.perf.util.reporter
|
||||
|
||||
import java.io.File
|
||||
|
||||
import javax.xml.transform.dom.DOMSource
|
||||
import javax.xml.transform.stream.StreamResult
|
||||
import javax.xml.transform.{OutputKeys, TransformerFactory}
|
||||
import org.scalameter.CurveData
|
||||
import org.scalameter.api.{Persistor, Reporter, _}
|
||||
import org.scalameter.utils.Tree
|
||||
import org.w3c.dom.Document
|
||||
|
||||
/** Produces a file which's contents mimic JMeter's XML output
|
||||
* http://jmeter.apache.org/usermanual/listeners.html#xmlformat2.1
|
||||
*/
|
||||
class JMeterReporter[T: Numeric](clazz: Class[_]) extends Reporter[T] {
|
||||
|
||||
private def writeToFile(document: Document, file: File): Unit = {
|
||||
val transformer = TransformerFactory.newInstance.newTransformer
|
||||
transformer.setOutputProperty(OutputKeys.INDENT, "yes")
|
||||
val source = new DOMSource(document)
|
||||
val console = new StreamResult(file)
|
||||
transformer.transform(source, console)
|
||||
}
|
||||
|
||||
def report(results: Tree[CurveData[T]], persistor: Persistor): Boolean = {
|
||||
|
||||
// resultDir is global setting
|
||||
val resultDirLocation = org.scalameter.currentContext(reports.resultDir)
|
||||
val resultDir = new File(resultDirLocation, "jmeter")
|
||||
resultDir.mkdirs()
|
||||
val resultFile = new File(resultDir, s"${clazz.getName.stripSuffix("$")}.xml")
|
||||
|
||||
val document = JMeterXmlGenerator
|
||||
.appendToDocument(results, resultFile)
|
||||
|
||||
writeToFile(document, resultFile)
|
||||
|
||||
true
|
||||
}
|
||||
|
||||
def report(result: CurveData[T], persistor: Persistor): Unit = ()
|
||||
}
|
@ -1,125 +0,0 @@
|
||||
// Copyright (c) 2023 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
package com.daml.ledger.api.perf.util.reporter
|
||||
|
||||
import java.io.File
|
||||
import java.time.Clock
|
||||
|
||||
import javax.xml.parsers.DocumentBuilderFactory
|
||||
import org.scalameter.utils.Tree
|
||||
import org.scalameter.{CurveData, Parameters}
|
||||
import org.w3c.dom.{Document, Element}
|
||||
|
||||
private[reporter] object JMeterXmlGenerator {
|
||||
|
||||
private val rootElementName = "testResults"
|
||||
|
||||
private def newDocument[T: Numeric](results: Tree[CurveData[T]]): Document = {
|
||||
val doc = newDocBuilder.newDocument
|
||||
val root = doc.createElementNS(null, rootElementName)
|
||||
doc.appendChild(root)
|
||||
addMeasurementsToDocument(results, doc, root)
|
||||
}
|
||||
|
||||
private def newDocBuilder = {
|
||||
DocumentBuilderFactory.newInstance.newDocumentBuilder
|
||||
}
|
||||
|
||||
def appendToDocument[T: Numeric](results: Tree[CurveData[T]], file: File): Document = {
|
||||
if (file.exists()) {
|
||||
val doc = newDocBuilder.parse(file) // Will throw on failure.
|
||||
Option(doc.getDocumentElement)
|
||||
.filter(_.getNodeName == rootElementName)
|
||||
.fold(
|
||||
sys.error(
|
||||
s"Cannot append to malformed XML. Root element '$rootElementName' was not found in file '${file.getAbsolutePath}'."
|
||||
)
|
||||
)(addMeasurementsToDocument(results, doc, _))
|
||||
} else {
|
||||
newDocument(results)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private def addMeasurementsToDocument[T: Numeric](
|
||||
results: Tree[CurveData[T]],
|
||||
doc: Document,
|
||||
root: Element,
|
||||
) = {
|
||||
val reportGenerationTime: String = Clock.systemUTC().millis().toString
|
||||
val measurementXmlGenerator = new MeasurementXmlGenerator[T](doc, reportGenerationTime)
|
||||
for {
|
||||
result <- results
|
||||
xmlElement <- measurementXmlGenerator.asXmlElements(result)
|
||||
} {
|
||||
root.appendChild(xmlElement)
|
||||
}
|
||||
doc
|
||||
}
|
||||
|
||||
private class MeasurementXmlGenerator[T: Numeric](doc: Document, generationTime: String) {
|
||||
|
||||
def asXmlElements(result: CurveData[T]): Iterable[Element] = {
|
||||
import AttributeNames._
|
||||
|
||||
for {
|
||||
aggregate <- result.measurements
|
||||
measurement <- aggregate.data.complete
|
||||
} yield {
|
||||
val node = doc.createElement("sample")
|
||||
val testName = result.context.scope
|
||||
val paramsStr = paramSuffix(aggregate.params)
|
||||
val resp = FakeResponseData(aggregate.data.success)
|
||||
|
||||
node.setAttribute(label, s"$testName$paramsStr")
|
||||
node.setAttribute(timestamp, generationTime)
|
||||
node.setAttribute(
|
||||
time,
|
||||
implicitly[Numeric[T]].toLong(measurement).toString,
|
||||
) // No floating point results observed among samples
|
||||
node.setAttribute(responseCode, resp.code)
|
||||
node.setAttribute(responseMessage, resp.message)
|
||||
node.setAttribute(success, resp.success)
|
||||
node.setAttribute(latency, "0")
|
||||
node.setAttribute(threadName, "-")
|
||||
|
||||
node
|
||||
}
|
||||
}
|
||||
|
||||
private def paramSuffix(parameters: Parameters): String = {
|
||||
val filtered: Vector[String] = parameters.axisData.view
|
||||
.map { case (key, value) =>
|
||||
s"${key.fullName}:$value"
|
||||
}
|
||||
.to(Vector)
|
||||
|
||||
if (filtered.isEmpty) ""
|
||||
else
|
||||
filtered.sorted // to make sure order remains stable between runs in Jenkins so it can match up new results
|
||||
.mkString(".[", ",", "]")
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private object FakeResponseData {
|
||||
case class FakeResponseData(code: String, message: String, success: String)
|
||||
|
||||
private val success = FakeResponseData("200", "OK", "true")
|
||||
private val failure = FakeResponseData("500", "FAIL", "false")
|
||||
|
||||
def apply(boolean: Boolean): FakeResponseData = if (boolean) success else failure
|
||||
}
|
||||
|
||||
private object AttributeNames {
|
||||
val label = "lb"
|
||||
val timestamp = "ts"
|
||||
val time = "t"
|
||||
val responseCode = "rc"
|
||||
val responseMessage = "rm"
|
||||
val success = "s"
|
||||
val latency = "lt"
|
||||
val threadName = "tn"
|
||||
}
|
||||
}
|
@ -1,67 +0,0 @@
|
||||
// Copyright (c) 2023 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
package com.daml.grpc.adapter
|
||||
|
||||
import org.apache.pekko.Done
|
||||
import org.apache.pekko.stream.scaladsl.Sink
|
||||
import com.daml.grpc.adapter.client.pekko.ClientAdapter
|
||||
import com.daml.grpc.adapter.operation.PekkoServiceFixture
|
||||
import com.daml.ledger.api.perf.util.PekkoStreamPerformanceTest
|
||||
import com.daml.ledger.api.testing.utils.Resource
|
||||
import com.daml.platform.hello.{HelloRequest, HelloServiceGrpc}
|
||||
import io.grpc.ManagedChannel
|
||||
import org.scalameter.api.Gen
|
||||
import org.scalameter.picklers.noPickler._
|
||||
|
||||
import scala.concurrent.Future
|
||||
import java.net.InetSocketAddress
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
object ServerStreamingBenchmark extends PekkoStreamPerformanceTest {
|
||||
|
||||
override type ResourceType = () => ManagedChannel
|
||||
|
||||
@transient override protected lazy val resource: Resource[() => ManagedChannel] =
|
||||
PekkoServiceFixture.getResource(Some(new InetSocketAddress(0))).map(_._2.channel)
|
||||
|
||||
private val sizes = for {
|
||||
totalElements <- Gen.range("numResponses")(50000, 100000, 50000)
|
||||
clients <- Gen.enumeration("numClients")(1, 10)
|
||||
callsPerClient <- Gen.enumeration("numCals")(1, 10)
|
||||
} yield (totalElements, clients, callsPerClient)
|
||||
|
||||
performance of "Pekko-Stream server" config (daConfig: _*) in {
|
||||
measure method "server streaming" in {
|
||||
using(sizes).withLifecycleManagement() in { case (totalElements, clients, callsPerClient) =>
|
||||
val eventualDones = for {
|
||||
(channel, schedulerPool) <- 1
|
||||
.to(clients)
|
||||
.map(i => resource.value() -> new PekkoExecutionSequencerPool(s"client-$i")(system))
|
||||
_ <- 1.to(callsPerClient)
|
||||
} yield {
|
||||
serverStreamingCall(totalElements / clients / callsPerClient, channel)(schedulerPool)
|
||||
.map(_ => channel -> schedulerPool)
|
||||
}
|
||||
val eventualTuples = Future.sequence(eventualDones)
|
||||
await(eventualTuples).foreach { case (channel, pool) =>
|
||||
channel.shutdown()
|
||||
channel.awaitTermination(5, TimeUnit.SECONDS)
|
||||
pool.close()
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private def serverStreamingCall(streamedElements: Int, managedChannel: ManagedChannel)(implicit
|
||||
executionSequencerFactory: ExecutionSequencerFactory
|
||||
): Future[Done] = {
|
||||
ClientAdapter
|
||||
.serverStreaming(
|
||||
HelloRequest(streamedElements),
|
||||
HelloServiceGrpc.stub(managedChannel).serverStreaming,
|
||||
)
|
||||
.runWith(Sink.ignore)(materializer)
|
||||
}
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
cat $THIS_DIR/../version.sbt | head -1 | sed -n 's/.*\"\(.*\)".*/\1/p'
|
@ -1,11 +0,0 @@
|
||||
// Copyright (c) 2023 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
package com.daml.ledger.api.testing.utils
|
||||
|
||||
sealed abstract class LedgerBackend extends Product with Serializable
|
||||
|
||||
object LedgerBackend {
|
||||
case object SandboxInMemory extends LedgerBackend
|
||||
case object SandboxSql extends LedgerBackend
|
||||
}
|
@ -65,11 +65,11 @@ da_scala_test(
|
||||
deps = [
|
||||
":fetch-contracts",
|
||||
"//ledger-api/grpc-definitions:ledger_api_proto_scala",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/testing-utils",
|
||||
"//libs-scala/contextualized-logging",
|
||||
"//libs-scala/logging-entries",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/scalatest-utils",
|
||||
"//libs-scala/testing-utils",
|
||||
"@maven//:org_reactivestreams_reactive_streams",
|
||||
"@maven//:org_scalatest_scalatest_compatible",
|
||||
],
|
||||
|
@ -15,10 +15,10 @@ da_scala_library(
|
||||
deps = [
|
||||
"//daml-lf/data",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-service/http-json-cli:base",
|
||||
"//ledger-service/utils",
|
||||
"//libs-scala/contextualized-logging",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/scala-utils",
|
||||
"//libs-scala/timer-utils",
|
||||
],
|
||||
@ -42,8 +42,8 @@ deps = {
|
||||
exports = [":base"],
|
||||
deps = deps.get(edition) + [
|
||||
":base",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger/ledger-api-client",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//ledger-service/http-json-cli:{}".format(edition),
|
||||
"//libs-scala/contextualized-logging",
|
||||
"@maven//:io_grpc_grpc_api",
|
||||
|
@ -40,8 +40,6 @@ da_scala_library(
|
||||
"//daml-lf/transaction",
|
||||
"//daml-lf/transaction-test-lib",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/testing-utils",
|
||||
"//ledger-service/db-backend",
|
||||
"//ledger-service/fetch-contracts",
|
||||
"//ledger-service/http-json:http-json-ee",
|
||||
@ -56,6 +54,8 @@ da_scala_library(
|
||||
"//libs-scala/oracle-testing",
|
||||
"//libs-scala/ports",
|
||||
"//libs-scala/resources",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/testing-utils",
|
||||
"//test-common/canton/it-lib",
|
||||
"@maven//:org_scalatest_scalatest_compatible",
|
||||
],
|
||||
@ -104,8 +104,6 @@ da_scala_test_suite(
|
||||
"//daml-lf/transaction",
|
||||
"//daml-lf/transaction-test-lib",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/testing-utils",
|
||||
"//ledger-service/db-backend",
|
||||
"//ledger-service/fetch-contracts",
|
||||
"//ledger-service/http-json:http-json-ee",
|
||||
@ -120,6 +118,8 @@ da_scala_test_suite(
|
||||
"//libs-scala/oracle-testing",
|
||||
"//libs-scala/ports",
|
||||
"//libs-scala/resources",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/testing-utils",
|
||||
"//observability/metrics",
|
||||
"//observability/metrics:metrics-test-lib",
|
||||
"//test-common/canton/it-lib",
|
||||
|
@ -44,7 +44,7 @@ perf_runtime_deps = {
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//test-common/canton/it-lib",
|
||||
"@maven//:io_gatling_gatling_netty_util",
|
||||
"@maven//:io_netty_netty_common",
|
||||
|
@ -41,9 +41,9 @@ load("//ledger-service/utils:scalaopts.bzl", "hj_scalacopts")
|
||||
"//bazel_tools/runfiles:scala_runfiles",
|
||||
"//daml-lf/transaction",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/testing-utils",
|
||||
"//ledger-service/fetch-contracts",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/testing-utils",
|
||||
"//test-common/canton/it-lib",
|
||||
"@maven//:org_scalatest_scalatest_compatible",
|
||||
"//ledger-service/http-json:http-json-{}".format(edition),
|
||||
|
@ -53,7 +53,7 @@ load("//ledger-service/utils:scalaopts.bzl", "hj_scalacopts")
|
||||
"//daml-lf/data",
|
||||
"//daml-lf/transaction",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//ledger-service/http-json-cli:{}".format(edition),
|
||||
"//ledger-service/http-json-ledger-client:{}".format(edition),
|
||||
"//ledger-service/cli-opts",
|
||||
@ -122,7 +122,7 @@ json_deps_shared = [
|
||||
"//daml-lf/data",
|
||||
"//daml-lf/transaction",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//ledger-service/db-backend",
|
||||
"//libs-scala/jwt",
|
||||
"//ledger-service/lf-value-json",
|
||||
@ -343,12 +343,12 @@ alias(
|
||||
"//daml-lf/transaction",
|
||||
"//daml-lf/transaction-test-lib",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/testing-utils",
|
||||
"//ledger-service/fetch-contracts",
|
||||
"//libs-scala/ledger-resources",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/test-evidence/scalatest:test-evidence-scalatest",
|
||||
"//libs-scala/test-evidence/tag:test-evidence-tag",
|
||||
"//libs-scala/testing-utils",
|
||||
"//ledger-service/http-json-cli:{}".format(edition),
|
||||
"//ledger-service/http-json-testing:{}".format(edition),
|
||||
"//ledger-service/db-backend",
|
||||
@ -422,11 +422,11 @@ alias(
|
||||
"//daml-lf/transaction",
|
||||
"//daml-lf/transaction-test-lib",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/testing-utils",
|
||||
"//ledger-service/fetch-contracts",
|
||||
"//ledger/ledger-api-common",
|
||||
"//libs-scala/ledger-resources",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/testing-utils",
|
||||
"//ledger-service/http-json-cli:{}".format(edition),
|
||||
"//ledger-service/http-json-testing:{}".format(edition),
|
||||
"//ledger-service/metrics",
|
||||
@ -504,13 +504,13 @@ alias(
|
||||
"//daml-lf/transaction",
|
||||
"//daml-lf/transaction-test-lib",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/testing-utils",
|
||||
"//ledger-service/db-backend",
|
||||
"//ledger-service/fetch-contracts",
|
||||
"//ledger/ledger-api-auth",
|
||||
"//ledger/ledger-api-common",
|
||||
"//libs-scala/ledger-resources",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/testing-utils",
|
||||
"//ledger-service/http-json-cli:{}".format(edition),
|
||||
"//ledger-service/http-json-testing:{}".format(edition),
|
||||
"//ledger-service/metrics",
|
||||
@ -577,10 +577,10 @@ test_suite(
|
||||
"//bazel_tools/runfiles:scala_runfiles",
|
||||
"//daml-lf/data",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/testing-utils",
|
||||
"//ledger-service/fetch-contracts",
|
||||
"//libs-scala/contextualized-logging",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/testing-utils",
|
||||
"//test-common/canton/it-lib",
|
||||
"//ledger-service/http-json-cli:{}".format(edition),
|
||||
"//ledger-service/http-json-testing:{}".format(edition),
|
||||
@ -645,10 +645,10 @@ test_suite(
|
||||
"//bazel_tools/runfiles:scala_runfiles",
|
||||
"//daml-lf/data",
|
||||
"//language-support/scala/bindings-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/testing-utils",
|
||||
"//ledger-service/fetch-contracts",
|
||||
"//libs-scala/contextualized-logging",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/testing-utils",
|
||||
"//test-common/canton/it-lib",
|
||||
"//ledger-service/http-json-cli:{}".format(edition),
|
||||
"//ledger-service/http-json-testing:{}".format(edition),
|
||||
|
@ -68,7 +68,7 @@ object CommonErrors extends CommonErrorGroup {
|
||||
|
||||
// TODO Once this issue (https://github.com/digital-asset/daml/issues/15453) is addressed,
|
||||
// move this error definition to //ledger/ledger-api-errors once its usage
|
||||
// does not concern client libraries (i.e. used in //ledger-api/rs-grpc-pekko)
|
||||
// does not concern client libraries (i.e. used in //libs-scala/rs-grpc-pekko)
|
||||
@Explanation("This rejection is given when the participant server is shutting down.")
|
||||
@Resolution("Contact the participant operator.")
|
||||
object ServerIsShuttingDown
|
||||
|
@ -56,8 +56,6 @@ da_scala_test_suite(
|
||||
deps = [
|
||||
":ledger-api-auth",
|
||||
"//daml-lf/data",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/testing-utils",
|
||||
"//ledger/error",
|
||||
"//ledger/error:error-test-lib",
|
||||
"//ledger/ledger-api-common",
|
||||
@ -67,6 +65,8 @@ da_scala_test_suite(
|
||||
"//libs-scala/adjustable-clock",
|
||||
"//libs-scala/contextualized-logging",
|
||||
"//libs-scala/jwt",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/testing-utils",
|
||||
"//test-common",
|
||||
"@maven//:com_google_api_grpc_proto_google_common_protos",
|
||||
"@maven//:com_google_protobuf_protobuf_java",
|
||||
|
@ -22,8 +22,6 @@ da_scala_library(
|
||||
deps = [
|
||||
"//daml-lf/data",
|
||||
"//language-support/scala/bindings",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/rs-grpc-pekko",
|
||||
"//ledger/error",
|
||||
"//ledger/ledger-api-auth-client",
|
||||
"//ledger/ledger-api-common",
|
||||
@ -32,6 +30,8 @@ da_scala_library(
|
||||
"//libs-scala/ledger-resources",
|
||||
"//libs-scala/ports",
|
||||
"//libs-scala/resources",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/rs-grpc-pekko",
|
||||
"//observability/metrics",
|
||||
"//observability/tracing",
|
||||
"@maven//:com_google_api_grpc_proto_google_common_protos",
|
||||
@ -59,8 +59,6 @@ da_scala_test_suite(
|
||||
deps = [
|
||||
":ledger-api-client",
|
||||
"//language-support/scala/bindings",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/testing-utils",
|
||||
"//ledger/error",
|
||||
"//ledger/ledger-api-common",
|
||||
"//ledger/ledger-api-domain",
|
||||
@ -68,6 +66,8 @@ da_scala_test_suite(
|
||||
"//libs-scala/concurrent",
|
||||
"//libs-scala/contextualized-logging",
|
||||
"//libs-scala/grpc-utils",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/testing-utils",
|
||||
"//observability/metrics",
|
||||
"//observability/tracing",
|
||||
"@maven//:com_google_api_grpc_proto_google_common_protos",
|
||||
@ -99,8 +99,6 @@ da_scala_test_suite(
|
||||
"//daml-lf/engine",
|
||||
"//daml-lf/transaction",
|
||||
"//language-support/scala/bindings",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/testing-utils",
|
||||
"//ledger/error",
|
||||
"//ledger/ledger-api-auth",
|
||||
"//ledger/ledger-api-common",
|
||||
@ -114,6 +112,8 @@ da_scala_test_suite(
|
||||
"//libs-scala/logging-entries",
|
||||
"//libs-scala/ports",
|
||||
"//libs-scala/resources",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/testing-utils",
|
||||
"//observability/metrics",
|
||||
"//observability/tracing",
|
||||
"//test-common",
|
||||
|
@ -96,10 +96,6 @@ da_scala_test_suite(
|
||||
"//daml-lf/parser",
|
||||
"//daml-lf/transaction",
|
||||
"//language-support/scala/bindings",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/rs-grpc-pekko",
|
||||
"//ledger-api/rs-grpc-testing-utils",
|
||||
"//ledger-api/testing-utils",
|
||||
"//ledger/error",
|
||||
"//ledger/error:error-test-lib",
|
||||
"//ledger/ledger-api-errors",
|
||||
@ -107,7 +103,11 @@ da_scala_test_suite(
|
||||
"//libs-scala/contextualized-logging",
|
||||
"//libs-scala/grpc-utils",
|
||||
"//libs-scala/logging-entries",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/rs-grpc-pekko",
|
||||
"//libs-scala/rs-grpc-testing-utils",
|
||||
"//libs-scala/scala-utils",
|
||||
"//libs-scala/testing-utils",
|
||||
"//observability/metrics",
|
||||
"//observability/tracing",
|
||||
"//observability/tracing:tracing-test-lib",
|
||||
|
@ -22,10 +22,10 @@ da_scala_library(
|
||||
],
|
||||
deps = [
|
||||
"//bazel_tools/runfiles:scala_runfiles",
|
||||
"//ledger-api/testing-utils",
|
||||
"//libs-scala/ports",
|
||||
"//libs-scala/ports:ports-testing",
|
||||
"//libs-scala/resources",
|
||||
"//libs-scala/testing-utils",
|
||||
"@maven//:commons_io_commons_io",
|
||||
"@maven//:org_scalatest_scalatest_compatible",
|
||||
],
|
||||
|
@ -41,7 +41,7 @@ da_scala_test(
|
||||
srcs = glob([
|
||||
"src/test/suite/scala/**/*.scala",
|
||||
]),
|
||||
resource_strip_prefix = "ledger-api/rs-grpc-bridge/src/test/suite/resources/",
|
||||
resource_strip_prefix = "libs-scala/rs-grpc-bridge/src/test/suite/resources/",
|
||||
resources = glob(["src/test/suite/resources/**/*"]),
|
||||
scala_deps = [
|
||||
"@maven//:org_scalactic_scalactic",
|
||||
@ -57,7 +57,7 @@ da_scala_test(
|
||||
deps = [
|
||||
":rs-grpc-bridge",
|
||||
":rs-grpc-bridge-test-lib",
|
||||
"//ledger-api/rs-grpc-testing-utils",
|
||||
"//libs-scala/rs-grpc-testing-utils",
|
||||
"@maven//:io_grpc_grpc_stub",
|
||||
"@maven//:org_reactivestreams_reactive_streams",
|
||||
"@maven//:org_reactivestreams_reactive_streams_examples",
|
@ -15,7 +15,7 @@ da_scala_library(
|
||||
"//visibility:public",
|
||||
],
|
||||
deps = [
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"@maven//:io_grpc_grpc_api",
|
||||
"@maven//:io_grpc_grpc_stub",
|
||||
"@maven//:org_reactivestreams_reactive_streams",
|
||||
@ -52,10 +52,10 @@ da_scala_library(
|
||||
],
|
||||
deps = [
|
||||
":rs-grpc-pekko",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/rs-grpc-bridge:rs-grpc-bridge-test-lib",
|
||||
"//ledger-api/sample-service",
|
||||
"//ledger-api/testing-utils",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/rs-grpc-bridge:rs-grpc-bridge-test-lib",
|
||||
"//libs-scala/sample-service",
|
||||
"//libs-scala/testing-utils",
|
||||
"@maven//:com_google_protobuf_protobuf_java",
|
||||
"@maven//:io_grpc_grpc_api",
|
||||
"@maven//:io_grpc_grpc_stub",
|
||||
@ -83,38 +83,12 @@ da_scala_test_suite(
|
||||
],
|
||||
deps = [
|
||||
":rs-grpc-pekko-tests-lib",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/sample-service",
|
||||
"//ledger-api/testing-utils",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/sample-service",
|
||||
"//libs-scala/testing-utils",
|
||||
"@maven//:com_google_protobuf_protobuf_java",
|
||||
"@maven//:io_grpc_grpc_api",
|
||||
"@maven//:io_grpc_grpc_stub",
|
||||
"@maven//:org_scalatest_scalatest_compatible",
|
||||
],
|
||||
)
|
||||
|
||||
da_scala_binary(
|
||||
name = "rs-grpc-pekko-perf",
|
||||
srcs = glob(["src/perf/**/*.scala"]),
|
||||
main_class = "com.daml.grpc.adapter.ServerStreamingBenchmark",
|
||||
scala_deps = [
|
||||
"@maven//:com_storm_enroute_scalameter",
|
||||
"@maven//:com_storm_enroute_scalameter_core",
|
||||
"@maven//:com_thesamet_scalapb_lenses",
|
||||
"@maven//:com_thesamet_scalapb_scalapb_runtime",
|
||||
"@maven//:com_thesamet_scalapb_scalapb_runtime_grpc",
|
||||
"@maven//:org_apache_pekko_pekko_actor",
|
||||
"@maven//:org_apache_pekko_pekko_stream",
|
||||
],
|
||||
deps = [
|
||||
":rs-grpc-pekko",
|
||||
":rs-grpc-pekko-tests-lib",
|
||||
"//ledger-api/perf-testing",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/sample-service",
|
||||
"//ledger-api/testing-utils",
|
||||
"@maven//:com_google_protobuf_protobuf_java",
|
||||
"@maven//:io_grpc_grpc_api",
|
||||
"@maven//:io_grpc_grpc_stub",
|
||||
],
|
||||
)
|
@ -65,7 +65,7 @@ da_scala_library(
|
||||
],
|
||||
deps = [
|
||||
":sample-service-scalapb",
|
||||
"//ledger-api/testing-utils",
|
||||
"//libs-scala/testing-utils",
|
||||
"@maven//:com_google_protobuf_protobuf_java",
|
||||
"@maven//:io_grpc_grpc_api",
|
||||
"@maven//:io_grpc_grpc_stub",
|
@ -26,17 +26,17 @@ da_scala_library(
|
||||
"@maven//:org_slf4j_slf4j_api",
|
||||
],
|
||||
deps = [
|
||||
"//ledger-api/grpc-definitions:ledger_api_proto_scala",
|
||||
"//ledger-api/rs-grpc-bridge",
|
||||
"//ledger-api/rs-grpc-pekko",
|
||||
"//libs-scala/contextualized-logging",
|
||||
"//libs-scala/grpc-utils",
|
||||
"//libs-scala/ledger-resources",
|
||||
"//libs-scala/resources",
|
||||
"//libs-scala/resources-grpc",
|
||||
"//libs-scala/resources-pekko",
|
||||
"//libs-scala/rs-grpc-bridge",
|
||||
"//libs-scala/rs-grpc-pekko",
|
||||
"@maven//:com_google_guava_guava",
|
||||
"@maven//:com_typesafe_config",
|
||||
"@maven//:io_grpc_grpc_api",
|
||||
"@maven//:io_grpc_grpc_inprocess",
|
||||
"@maven//:io_grpc_grpc_netty",
|
||||
"@maven//:org_scalatest_scalatest_compatible",
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user