From 7b4cab8d78190252ebc073659373030cd8f0898c Mon Sep 17 00:00:00 2001 From: Bjørn Christian Seime Date: Wed, 26 May 2021 17:15:15 +0200 Subject: Add '--benchmark' to vespa-feed-client for benchmark mode --- .../src/main/java/ai/vespa/feed/client/CliArguments.java | 7 +++++++ .../src/test/java/ai/vespa/feed/client/CliArgumentsTest.java | 3 ++- vespa-feed-client-cli/src/test/resources/help.txt | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/vespa-feed-client-cli/src/main/java/ai/vespa/feed/client/CliArguments.java b/vespa-feed-client-cli/src/main/java/ai/vespa/feed/client/CliArguments.java index 61ffeebe99a..33c3d0e7894 100644 --- a/vespa-feed-client-cli/src/main/java/ai/vespa/feed/client/CliArguments.java +++ b/vespa-feed-client-cli/src/main/java/ai/vespa/feed/client/CliArguments.java @@ -31,6 +31,7 @@ class CliArguments { private static final Options optionsDefinition = createOptions(); + private static final String BENCHMARK_OPTION = "benchmark"; private static final String CA_CERTIFICATES_OPTION = "ca-certificates"; private static final String CERTIFICATE_OPTION = "certificate"; private static final String CONNECTIONS_OPTION = "connections"; @@ -113,6 +114,8 @@ class CliArguments { boolean sslHostnameVerificationDisabled() { return has(DISABLE_SSL_HOSTNAME_VERIFICATION_OPTION); } + boolean benchmarkModeEnabled() { return has(BENCHMARK_OPTION); } + private OptionalInt intValue(String option) throws CliArgumentsException { try { Number number = (Number) arguments.getParsedOptionValue(option); @@ -135,6 +138,7 @@ class CliArguments { private boolean has(String option) { return arguments.hasOption(option); } private static Options createOptions() { + // TODO Add description to each option return new Options() .addOption(Option.builder() .longOpt(HELP_OPTION) @@ -188,6 +192,9 @@ class CliArguments { .build()) .addOption(Option.builder() .longOpt(DISABLE_SSL_HOSTNAME_VERIFICATION_OPTION) + .build()) + .addOption(Option.builder() + .longOpt(BENCHMARK_OPTION) .build()); } diff --git a/vespa-feed-client-cli/src/test/java/ai/vespa/feed/client/CliArgumentsTest.java b/vespa-feed-client-cli/src/test/java/ai/vespa/feed/client/CliArgumentsTest.java index be479d294d5..33ee31ff0dc 100644 --- a/vespa-feed-client-cli/src/test/java/ai/vespa/feed/client/CliArgumentsTest.java +++ b/vespa-feed-client-cli/src/test/java/ai/vespa/feed/client/CliArgumentsTest.java @@ -21,7 +21,7 @@ class CliArgumentsTest { "--endpoint=https://vespa.ai:4443/", "--file=feed.json", "--connections=10", "--max-streams-per-connection=128", "--certificate=cert.pem", "--private-key=key.pem", "--ca-certificates=ca-certs.pem", "--disable-ssl-hostname-verification", - "--header=\"My-Header: my-value\"", "--header", "Another-Header: another-value"}); + "--header=\"My-Header: my-value\"", "--header", "Another-Header: another-value", "--benchmark"}); assertEquals(URI.create("https://vespa.ai:4443/"), args.endpoint()); assertEquals(Paths.get("feed.json"), args.inputFile()); assertEquals(10, args.connections().getAsInt()); @@ -35,6 +35,7 @@ class CliArgumentsTest { assertEquals(2, args.headers().size()); assertEquals("my-value", args.headers().get("My-Header")); assertEquals("another-value", args.headers().get("Another-Header")); + assertTrue(args.benchmarkModeEnabled()); } @Test diff --git a/vespa-feed-client-cli/src/test/resources/help.txt b/vespa-feed-client-cli/src/test/resources/help.txt index 8ad153bc0e0..9ad7642d4ec 100644 --- a/vespa-feed-client-cli/src/test/resources/help.txt +++ b/vespa-feed-client-cli/src/test/resources/help.txt @@ -1,5 +1,6 @@ usage: vespa-feed-client Vespa feed client + --benchmark --ca-certificates --certificate --connections -- cgit v1.2.3