l_c_wrlat,
l_c_read,
l_c_fsync,
+ l_c_md_avg,
+ l_c_md_sqsum,
+ l_c_md_ops,
+ l_c_rd_avg,
+ l_c_rd_sqsum,
+ l_c_rd_ops,
+ l_c_wr_avg,
+ l_c_wr_sqsum,
+ l_c_wr_ops,
l_c_last,
};
* If @a cb returns a negative error code, stop and return that.
*/
int readdir_r_cb(dir_result_t *dirp, add_dirent_cb_t cb, void *p,
- unsigned want=0, unsigned flags=AT_NO_ATTR_SYNC,
+ unsigned want=0, unsigned flags=AT_STATX_DONT_SYNC,
bool getref=false);
struct dirent * readdir(dir_result_t *d);
std::unique_ptr<MDSMap> mdsmap;
bool fuse_default_permissions;
+ bool _collect_and_send_global_metrics;
protected:
/* Flags for check_caps() */
void collect_and_send_metrics();
void collect_and_send_global_metrics();
+ void update_io_stat_metadata(utime_t latency);
+ void update_io_stat_read(utime_t latency);
+ void update_io_stat_write(utime_t latency);
+
uint32_t deleg_timeout = 0;
client_switch_interrupt_callback_t switch_interrupt_cb = nullptr;
Finisher async_ino_releasor;
Finisher objecter_finisher;
- utime_t last_cap_renew;
+ ceph::coarse_mono_time last_cap_renew;
CommandHook m_command_hook;
ceph::unordered_map<inodeno_t,SnapRealm*> snap_realms;
std::map<std::string, std::string> metadata;
- utime_t last_auto_reconnect;
-
+ ceph::coarse_mono_time last_auto_reconnect;
+ std::chrono::seconds caps_release_delay, mount_timeout;
// trace generation
std::ofstream traceout;
ceph::spinlock delay_i_lock;
std::map<Inode*,int> delay_i_release;
+
+ uint64_t nr_metadata_request = 0;
+ uint64_t nr_read_request = 0;
+ uint64_t nr_write_request = 0;
};
/**