diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-01-20 19:32:33 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-20 19:32:33 +0100 |
commit | f6e8c6d4ad3cb35ef6135f5caf681d314d85f248 (patch) | |
tree | 6a9f551c401b8e4bb1f879e35396a1e84c8ff331 /persistence/src | |
parent | 5beeb0c0d71739dbbe7c445e47ccc1ead43a9bd2 (diff) | |
parent | b7b4ea6be255e191d0859f4a1c10b5523ada595a (diff) |
Merge pull request #16112 from vespa-engine/toregge/add-service-layer-host-info-reporter
Add ServiceLayerHostInfoReporter.
Diffstat (limited to 'persistence/src')
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(); }; } |