summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorHarald Musum <musum@oath.com>2018-12-18 13:17:13 +0100
committerGitHub <noreply@github.com>2018-12-18 13:17:13 +0100
commitbaa612a865886c5473bdb07e54696fb0a527b1c9 (patch)
treebb1cf4cd8f2aebf8bc62e9a60fc0621bcee2051b /storage
parent89d7fe502befea2d85e14d15116270cba6c8a71d (diff)
Revert "Add TLS statistics to vespalib and expose as metrics via storageserver"
Diffstat (limited to 'storage')
-rw-r--r--storage/src/vespa/storage/storageserver/CMakeLists.txt1
-rw-r--r--storage/src/vespa/storage/storageserver/storagemetricsset.cpp24
-rw-r--r--storage/src/vespa/storage/storageserver/storagemetricsset.h4
-rw-r--r--storage/src/vespa/storage/storageserver/storagenode.cpp3
-rw-r--r--storage/src/vespa/storage/storageserver/tls_statistics_metrics_wrapper.cpp63
-rw-r--r--storage/src/vespa/storage/storageserver/tls_statistics_metrics_wrapper.h36
6 files changed, 8 insertions, 123 deletions
diff --git a/storage/src/vespa/storage/storageserver/CMakeLists.txt b/storage/src/vespa/storage/storageserver/CMakeLists.txt
index 73873e78032..2df3d3a9606 100644
--- a/storage/src/vespa/storage/storageserver/CMakeLists.txt
+++ b/storage/src/vespa/storage/storageserver/CMakeLists.txt
@@ -27,7 +27,6 @@ vespa_add_library(storage_storageserver
storagemetricsset.cpp
storagenode.cpp
storagenodecontext.cpp
- tls_statistics_metrics_wrapper.cpp
INSTALL lib64
DEPENDS
storage
diff --git a/storage/src/vespa/storage/storageserver/storagemetricsset.cpp b/storage/src/vespa/storage/storageserver/storagemetricsset.cpp
index f0e64f0dfd1..4ea9a9f9296 100644
--- a/storage/src/vespa/storage/storageserver/storagemetricsset.cpp
+++ b/storage/src/vespa/storage/storageserver/storagemetricsset.cpp
@@ -12,9 +12,8 @@ MessageMemoryUseMetricSet::MessageMemoryUseMetricSet(metrics::MetricSet* owner)
normalpri("normalpri", {{"memory"}}, "Message use from normal priority storage messages", this),
highpri("highpri", {{"memory"}}, "Message use from high priority storage messages", this),
veryhighpri("veryhighpri", {{"memory"}}, "Message use from very high priority storage messages", this)
-{}
-
-MessageMemoryUseMetricSet::~MessageMemoryUseMetricSet() = default;
+{ }
+MessageMemoryUseMetricSet::~MessageMemoryUseMetricSet() {}
DocumentSerializationMetricSet::DocumentSerializationMetricSet(metrics::MetricSet* owner)
: metrics::MetricSet("document_serialization", {{"docserialization"}},
@@ -43,9 +42,8 @@ DocumentSerializationMetricSet::DocumentSerializationMetricSet(metrics::MetricSe
"Number of times we reserialized a document because the "
"compression it had in cache did not match what was configured",
this)
-{}
-
-DocumentSerializationMetricSet::~DocumentSerializationMetricSet() = default;
+{ }
+DocumentSerializationMetricSet::~DocumentSerializationMetricSet() { }
StorageMetricSet::StorageMetricSet()
: metrics::MetricSet("server", {{"memory"}},
@@ -54,11 +52,9 @@ StorageMetricSet::StorageMetricSet()
memoryUse_messages(this),
memoryUse_visiting("memoryusage_visiting", {{"memory"}},
"Message use from visiting", this),
- documentSerialization(this),
- tls_metrics(this)
-{}
-
-StorageMetricSet::~StorageMetricSet() = default;
+ documentSerialization(this)
+{ }
+StorageMetricSet::~StorageMetricSet() { }
void StorageMetricSet::updateMetrics() {
document::SerializableArray::Statistics stats(
@@ -76,12 +72,6 @@ void StorageMetricSet::updateMetrics() {
stats._serializedUncompressed);
documentSerialization.inputWronglySerialized.set(
stats._inputWronglySerialized);
-
- // Delta snapshotting is destructive, so if an explicit snapshot is triggered
- // (instead of just regular periodic snapshots), some events will effectively
- // be erased from history. This will no longer be a problem once we move to a
- // metrics system built around absolute (rather than derived) values.
- tls_metrics.update_metrics_with_snapshot_delta();
}
} // storage
diff --git a/storage/src/vespa/storage/storageserver/storagemetricsset.h b/storage/src/vespa/storage/storageserver/storagemetricsset.h
index e9378010540..40b70821bcd 100644
--- a/storage/src/vespa/storage/storageserver/storagemetricsset.h
+++ b/storage/src/vespa/storage/storageserver/storagemetricsset.h
@@ -2,8 +2,6 @@
#pragma once
-#include "tls_statistics_metrics_wrapper.h"
-
#include <vespa/metrics/metrics.h>
namespace storage {
@@ -41,8 +39,6 @@ struct StorageMetricSet : public metrics::MetricSet
metrics::LongValueMetric memoryUse_visiting;
DocumentSerializationMetricSet documentSerialization;
- TlsStatisticsMetricsWrapper tls_metrics;
-
StorageMetricSet();
~StorageMetricSet();
void updateMetrics();
diff --git a/storage/src/vespa/storage/storageserver/storagenode.cpp b/storage/src/vespa/storage/storageserver/storagenode.cpp
index 64c0970cf9d..d159b6e5bdd 100644
--- a/storage/src/vespa/storage/storageserver/storagenode.cpp
+++ b/storage/src/vespa/storage/storageserver/storagenode.cpp
@@ -7,7 +7,6 @@
#include "statereporter.h"
#include "storagemetricsset.h"
#include "storagenodecontext.h"
-#include "tls_statistics_metrics_wrapper.h"
#include <vespa/storage/frameworkimpl/status/statuswebserver.h>
#include <vespa/storage/frameworkimpl/thread/deadlockdetector.h>
@@ -160,7 +159,7 @@ StorageNode::initialize()
_context.getComponentRegister().setPriorityConfig(*_priorityConfig);
_context.getComponentRegister().setBucketSpacesConfig(*_bucketSpacesConfig);
- _metrics = std::make_shared<StorageMetricSet>();
+ _metrics.reset(new StorageMetricSet);
_component.reset(new StorageComponent(_context.getComponentRegister(), "storagenode"));
_component->registerMetric(*_metrics);
if (!_context.getComponentRegister().hasMetricManager()) {
diff --git a/storage/src/vespa/storage/storageserver/tls_statistics_metrics_wrapper.cpp b/storage/src/vespa/storage/storageserver/tls_statistics_metrics_wrapper.cpp
deleted file mode 100644
index 707e1c84036..00000000000
--- a/storage/src/vespa/storage/storageserver/tls_statistics_metrics_wrapper.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
-#include "tls_statistics_metrics_wrapper.h"
-
-namespace storage {
-
-TlsStatisticsMetricsWrapper::TlsStatisticsMetricsWrapper(metrics::MetricSet* owner)
- : metrics::MetricSet("network", {}, "Network connection metrics", owner),
- insecure_client_connections_established("insecure_client_connections_established", {},
- "Number of insecure (plaintext) client connections established", this),
- insecure_server_connections_accepted("insecure_server_connections_accepted", {},
- "Number of insecure (plaintext) server connections accepted", this),
- tls_client_connections_established("tls_client_connections_established", {},
- "Number of secure mTLS client connections established", this),
- tls_server_connections_accepted("tls_server_connections_accepted", {},
- "Number of secure mTLS server connections accepted", this),
- tls_handshakes_failed("tls_handshakes_failed", {}, "Number of client or "
- "server connection attempts that failed during TLS handshaking", this),
- peer_authorization_failures("peer_authorization_failures", {},
- "Number of TLS connection attempts failed due to bad or missing "
- "peer certificate credentials", this),
- tls_connections_broken("tls_connections_broken", {}, "Number of TLS "
- "connections broken due to failures during frame encoding or decoding", this),
- failed_tls_config_reloads("failed_tls_config_reloads", {}, "Number of times "
- "background reloading of TLS config has failed", this),
- last_client_stats_snapshot(),
- last_server_stats_snapshot(),
- last_config_stats_snapshot()
-{}
-
-TlsStatisticsMetricsWrapper::~TlsStatisticsMetricsWrapper() = default;
-
-void TlsStatisticsMetricsWrapper::update_metrics_with_snapshot_delta() {
- auto server_current = vespalib::net::tls::ConnectionStatistics::get(true).snapshot();
- auto client_current = vespalib::net::tls::ConnectionStatistics::get(false).snapshot();
- auto server_delta = server_current.subtract(last_server_stats_snapshot);
- auto client_delta = client_current.subtract(last_client_stats_snapshot);
-
- insecure_client_connections_established.set(client_delta.insecure_connections);
- insecure_server_connections_accepted.set(server_delta.insecure_connections);
- tls_client_connections_established.set(client_delta.tls_connections);
- tls_server_connections_accepted.set(server_delta.tls_connections);
- // We have underlying stats for both server and client here, but for the
- // moment we just aggregate them up into combined metrics. Can be trivially
- // split up into separate metrics later if deemed useful.
- tls_handshakes_failed.set(client_delta.failed_tls_handshakes +
- server_delta.failed_tls_handshakes);
- peer_authorization_failures.set(client_delta.invalid_peer_credentials +
- server_delta.invalid_peer_credentials);
- tls_connections_broken.set(client_delta.broken_tls_connections +
- server_delta.broken_tls_connections);
-
- auto config_current = vespalib::net::tls::ConfigStatistics::get().snapshot();
- auto config_delta = config_current.subtract(last_config_stats_snapshot);
-
- failed_tls_config_reloads.set(config_delta.failed_config_reloads);
-
- last_server_stats_snapshot = server_current;
- last_client_stats_snapshot = client_current;
- last_config_stats_snapshot = config_current;
-}
-
-}
diff --git a/storage/src/vespa/storage/storageserver/tls_statistics_metrics_wrapper.h b/storage/src/vespa/storage/storageserver/tls_statistics_metrics_wrapper.h
deleted file mode 100644
index 9784aaddd1c..00000000000
--- a/storage/src/vespa/storage/storageserver/tls_statistics_metrics_wrapper.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#pragma once
-
-#include <vespa/metrics/metrics.h>
-#include <vespa/vespalib/net/tls/statistics.h>
-
-#include <chrono>
-
-namespace storage {
-
-// Simple wrapper around low-level vespalib network statistics which
-// converts the monotonically increasing counters to deltas during
-// periodic metric snapshotting.
-class TlsStatisticsMetricsWrapper : public metrics::MetricSet {
- metrics::LongCountMetric insecure_client_connections_established;
- metrics::LongCountMetric insecure_server_connections_accepted;
- metrics::LongCountMetric tls_client_connections_established;
- metrics::LongCountMetric tls_server_connections_accepted;
- metrics::LongCountMetric tls_handshakes_failed;
- metrics::LongCountMetric peer_authorization_failures;
- metrics::LongCountMetric tls_connections_broken;
-
- metrics::LongCountMetric failed_tls_config_reloads;
-
- vespalib::net::tls::ConnectionStatistics::Snapshot last_client_stats_snapshot;
- vespalib::net::tls::ConnectionStatistics::Snapshot last_server_stats_snapshot;
- vespalib::net::tls::ConfigStatistics::Snapshot last_config_stats_snapshot;
-
-public:
- explicit TlsStatisticsMetricsWrapper(metrics::MetricSet* owner);
- ~TlsStatisticsMetricsWrapper() override;
-
- void update_metrics_with_snapshot_delta();
-};
-
-}