public:
SeastarMetricsHook() :
AdminSocketHook("perf dump_seastar",
- "",
+ "name=group,type=CephString,req=false",
"dump current configured seastar metrics and their values")
{}
seastar::future<tell_result_t> call(const cmdmap_t& cmdmap,
ceph::bufferlist&& input) const final
{
std::unique_ptr<Formatter> f{Formatter::create(format, "json-pretty", "json-pretty")};
+ std::string prefix;
+ cmd_getval(cmdmap, "group", prefix);
f->open_object_section("perf_dump_seastar");
for (const auto& [full_name, metric_family]: seastar::scollectd::get_value_map()) {
+ if (!prefix.empty() && full_name.compare(0, prefix.size(), prefix) != 0) {
+ continue;
+ }
for (const auto& [labels, metric] : metric_family) {
if (metric && metric->is_enabled()) {
dump_metric_value(f.get(), full_name, *metric);