diff options
author | Geir Storli <geirst@verizonmedia.com> | 2019-03-28 11:26:09 +0000 |
---|---|---|
committer | Geir Storli <geirst@verizonmedia.com> | 2019-03-28 11:32:47 +0000 |
commit | 74b51ba7b3c6388ac4d120427a1a2ea99aa041a2 (patch) | |
tree | d64c79c331774d29eecb0c8b6e71dd7740840a50 /logd/src/tests | |
parent | 686936d12ded663c40fb4b0cb6ac28d48e11813e (diff) |
Update metrics for each log message similar to legacy forwarder.
Diffstat (limited to 'logd/src/tests')
-rw-r--r-- | logd/src/tests/rpc_forwarder/rpc_forwarder_test.cpp | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/logd/src/tests/rpc_forwarder/rpc_forwarder_test.cpp b/logd/src/tests/rpc_forwarder/rpc_forwarder_test.cpp index be20d715c81..97fd294cfb6 100644 --- a/logd/src/tests/rpc_forwarder/rpc_forwarder_test.cpp +++ b/logd/src/tests/rpc_forwarder/rpc_forwarder_test.cpp @@ -1,10 +1,13 @@ // Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include <logd/exceptions.h> +#include <logd/metrics.h> #include <logd/rpc_forwarder.h> #include <vespa/vespalib/gtest/gtest.h> +#include <vespa/vespalib/metrics/dummy_metrics_manager.h> using namespace logdemon; +using vespalib::metrics::DummyMetricsManager; void encode_log_response(const ProtoConverter::ProtoLogResponse& src, FRT_Values& dst) @@ -83,11 +86,24 @@ make_log_line(const std::string& payload) return "1234.5678\tmy_host\t10/20\tmy_service\tmy_component\tinfo\t" + payload; } +struct MockMetricsManager : public DummyMetricsManager { + int add_count; + MockMetricsManager() : DummyMetricsManager(), add_count(0) {} + void add(Counter::Increment) override { + ++add_count; + } +}; + struct RpcForwarderTest : public ::testing::Test { RpcServer server; + std::shared_ptr<MockMetricsManager> metrics_mgr; + Metrics metrics; RpcForwarder forwarder; RpcForwarderTest() - : forwarder("localhost", server.get_listen_port(), 60.0, 3) + : server(), + metrics_mgr(std::make_shared<MockMetricsManager>()), + metrics(metrics_mgr), + forwarder(metrics, "localhost", server.get_listen_port(), 60.0, 3) { } void forward_line(const std::string& payload) { @@ -164,6 +180,14 @@ TEST_F(RpcForwarderTest, bad_log_lines_count_can_be_reset) EXPECT_EQ(0, forwarder.badLines()); } +TEST_F(RpcForwarderTest, metrics_are_updated_for_each_log_message) +{ + forward_line("a"); + EXPECT_EQ(1, metrics_mgr->add_count); + forward_line("b"); + EXPECT_EQ(2, metrics_mgr->add_count); +} + TEST_F(RpcForwarderTest, throws_when_rpc_reply_contains_errors) { server.reply_with_error = true; |