-
Notifications
You must be signed in to change notification settings - Fork 84
/
Copy pathmetrics_evaluator_impl.h
26 lines (20 loc) · 1.16 KB
/
metrics_evaluator_impl.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#pragma once
#include "nighthawk/adaptive_load/metrics_evaluator.h"
namespace Nighthawk {
class MetricsEvaluatorImpl : public MetricsEvaluator {
public:
absl::StatusOr<nighthawk::adaptive_load::MetricEvaluation>
EvaluateMetric(const nighthawk::adaptive_load::MetricSpec& metric_spec,
MetricsPlugin& metrics_plugin,
const nighthawk::adaptive_load::ThresholdSpec* threshold_spec,
const ReportingPeriod& reporting_period) const override;
const std::vector<std::pair<const nighthawk::adaptive_load::MetricSpec*,
const nighthawk::adaptive_load::ThresholdSpec*>>
ExtractMetricSpecs(const nighthawk::adaptive_load::AdaptiveLoadSessionSpec& spec) const override;
absl::StatusOr<nighthawk::adaptive_load::BenchmarkResult>
AnalyzeNighthawkBenchmark(const nighthawk::client::ExecutionResponse& nighthawk_response,
const nighthawk::adaptive_load::AdaptiveLoadSessionSpec& spec,
const absl::flat_hash_map<std::string, MetricsPluginPtr>&
name_to_custom_metrics_plugin_map) const override;
};
} // namespace Nighthawk