aboutsummaryrefslogtreecommitdiffstats
path: root/logd/src/tests
diff options
context:
space:
mode:
authorGeir Storli <geirst@verizonmedia.com>2019-03-28 11:26:09 +0000
committerGeir Storli <geirst@verizonmedia.com>2019-03-28 11:32:47 +0000
commit74b51ba7b3c6388ac4d120427a1a2ea99aa041a2 (patch)
treed64c79c331774d29eecb0c8b6e71dd7740840a50 /logd/src/tests
parent686936d12ded663c40fb4b0cb6ac28d48e11813e (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.cpp26
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;