is_rotational(is_rotational),
cutoff_priority(cutoff_priority),
monc(monc),
+ logger(nullptr),
scheduler(
std::bind(&mClockScheduler::ClientRegistry::get_info,
&client_registry,
set_config_defaults_from_profile();
client_registry.update_from_config(
cct->_conf, osd_bandwidth_capacity_per_shard);
+
if (init_perfcounter) {
_init_logger();
}
{
cct->_conf.remove_observer(this);
if (logger) {
+ cct->get_perfcounters_collection()->remove(logger);
delete logger;
logger = nullptr;
}
const bool is_rotational;
const unsigned cutoff_priority;
MonClient *monc;
- PerfCounters *logger = nullptr;
+ PerfCounters *logger;
/**
* osd_bandwidth_cost_per_io
bool is_rotational;
unsigned cutoff_priority;
MonClient *monc;
- /*
- * FIXME:
- * init_perfcounter = false
- * src/common: dead loop in PerfCountersCollectionImpl::add()
- * when adding the same logger_ptr to logger_collection.
- * see https://tracker.ceph.com/issues/66758.
- */
bool init_perfcounter;
mClockScheduler q;
is_rotational(false),
cutoff_priority(12),
monc(nullptr),
- init_perfcounter(false),
+ init_perfcounter(true),
q(g_ceph_context, whoami, num_shards, shard_id, is_rotational,
cutoff_priority, monc, init_perfcounter),
client1(1001),