userver: samples/testsuite-support/src/metrics.cpp
⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
samples/testsuite-support/src/metrics.cpp
#include "metrics.hpp"
#include <userver/utils/statistics/metric_tag.hpp>
#include <userver/utils/statistics/metrics_storage.hpp>
namespace tests::handlers {
namespace {
"sample-metrics.foo"};
} // namespace
Metrics::Metrics(const components::ComponentConfig& config,
.GetMetricsStorage()) {}
formats::json::Value Metrics::HandleRequestJsonThrow(
[[maybe_unused]] const server::http::HttpRequest& request,
[[maybe_unused]] const formats::json::Value& request_body,
[[maybe_unused]] server::request::RequestContext& context) const {
std::atomic<int>& foo_metric = metrics_->GetMetric(kFooMetric);
++foo_metric; // safe to increment conceurrently
return result.ExtractValue();
}
} // namespace tests::handlers