summaryrefslogtreecommitdiffstats
path: root/persistence
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-01-20 19:32:33 +0100
committerGitHub <noreply@github.com>2021-01-20 19:32:33 +0100
commitf6e8c6d4ad3cb35ef6135f5caf681d314d85f248 (patch)
tree6a9f551c401b8e4bb1f879e35396a1e84c8ff331 /persistence
parent5beeb0c0d71739dbbe7c445e47ccc1ead43a9bd2 (diff)
parentb7b4ea6be255e191d0859f4a1c10b5523ada595a (diff)
Merge pull request #16112 from vespa-engine/toregge/add-service-layer-host-info-reporter
Add ServiceLayerHostInfoReporter.
Diffstat (limited to 'persistence')
-rw-r--r--persistence/src/vespa/persistence/spi/CMakeLists.txt1
-rw-r--r--persistence/src/vespa/persistence/spi/resource_usage.cpp15
-rw-r--r--persistence/src/vespa/persistence/spi/resource_usage.h9
-rw-r--r--persistence/src/vespa/persistence/spi/resource_usage_listener.cpp8
-rw-r--r--persistence/src/vespa/persistence/spi/resource_usage_listener.h1
5 files changed, 33 insertions, 1 deletions
diff --git a/persistence/src/vespa/persistence/spi/CMakeLists.txt b/persistence/src/vespa/persistence/spi/CMakeLists.txt
index aad99e12a69..ef871c2584f 100644
--- a/persistence/src/vespa/persistence/spi/CMakeLists.txt
+++ b/persistence/src/vespa/persistence/spi/CMakeLists.txt
@@ -10,6 +10,7 @@ vespa_add_library(persistence_spi OBJECT
exceptions.cpp
persistenceprovider.cpp
read_consistency.cpp
+ resource_usage.cpp
resource_usage_listener.cpp
result.cpp
selection.cpp
diff --git a/persistence/src/vespa/persistence/spi/resource_usage.cpp b/persistence/src/vespa/persistence/spi/resource_usage.cpp
new file mode 100644
index 00000000000..77ef19ea006
--- /dev/null
+++ b/persistence/src/vespa/persistence/spi/resource_usage.cpp
@@ -0,0 +1,15 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+#include "resource_usage.h"
+#include <iostream>
+
+namespace storage::spi {
+
+std::ostream& operator<<(std::ostream& out, const ResourceUsage& resource_usage)
+{
+ out << "{disk_usage=" << resource_usage.get_disk_usage() <<
+ ", memory_usage=" << resource_usage.get_memory_usage() << "}";
+ return out;
+}
+
+}
diff --git a/persistence/src/vespa/persistence/spi/resource_usage.h b/persistence/src/vespa/persistence/spi/resource_usage.h
index 1b2504b0f13..defdaab2fba 100644
--- a/persistence/src/vespa/persistence/spi/resource_usage.h
+++ b/persistence/src/vespa/persistence/spi/resource_usage.h
@@ -2,6 +2,8 @@
#pragma once
+#include <iosfwd>
+
namespace storage::spi {
/*
@@ -27,7 +29,14 @@ public:
double get_disk_usage() const noexcept { return _disk_usage; }
double get_memory_usage() const noexcept { return _memory_usage; }
+
+ bool operator==(const ResourceUsage &rhs) const noexcept {
+ return (_disk_usage == rhs._disk_usage) &&
+ (_memory_usage == rhs._memory_usage);
+ }
};
+std::ostream& operator<<(std::ostream& out, const ResourceUsage& resource_usage);
+
}
diff --git a/persistence/src/vespa/persistence/spi/resource_usage_listener.cpp b/persistence/src/vespa/persistence/spi/resource_usage_listener.cpp
index 123aac2a62b..3ad3fa7182c 100644
--- a/persistence/src/vespa/persistence/spi/resource_usage_listener.cpp
+++ b/persistence/src/vespa/persistence/spi/resource_usage_listener.cpp
@@ -14,7 +14,7 @@ ResourceUsageListener::ResourceUsageListener()
ResourceUsageListener::~ResourceUsageListener()
{
- _register_guard.reset();
+ reset();
}
void
@@ -29,4 +29,10 @@ ResourceUsageListener::set_register_guard(std::unique_ptr<vespalib::IDestructorC
_register_guard = std::move(register_guard);
}
+void
+ResourceUsageListener::reset()
+{
+ _register_guard.reset();
+}
+
}
diff --git a/persistence/src/vespa/persistence/spi/resource_usage_listener.h b/persistence/src/vespa/persistence/spi/resource_usage_listener.h
index ff16c4a011a..d25bc03ed01 100644
--- a/persistence/src/vespa/persistence/spi/resource_usage_listener.h
+++ b/persistence/src/vespa/persistence/spi/resource_usage_listener.h
@@ -22,6 +22,7 @@ public:
void update_resource_usage(const ResourceUsage& resource_usage) override;
const ResourceUsage& get_usage() const noexcept { return _usage; }
void set_register_guard(std::unique_ptr<vespalib::IDestructorCallback> register_guard);
+ void reset();
};
}