26 Config(
const char *configfn);
30 int Chmod(
const char * path, mode_t mode,
XrdOucEnv *env=0)
override;
32 int Create(
const char *tid,
const char *path, mode_t mode,
XrdOucEnv &env,
37 int FSctl(
int cmd,
int alen,
const char *args,
char **resp=0)
override;
40 int Mkdir(
const char *path, mode_t mode,
int mkpath=0,
43 const char *cgName,
const char *anchor=0)
override;
45 int Rename(
const char *oPath,
const char *nPath,
47 int Stat(
const char *path,
struct stat *buff,
49 int Stats(
char *buff,
int blen)
override;
50 int StatFS(
const char *path,
char *buff,
int &blen,
53 char *buff,
int &blen)
override;
54 int StatPF(
const char *path,
struct stat *buff,
int opts)
override;
55 int StatPF(
const char *path,
struct stat *buff)
override;
57 int StatXA(
const char *path,
char *buff,
int &blen,
59 int StatXP(
const char *path,
unsigned long long &attr,
61 int Truncate(
const char *path,
unsigned long long fsize,
64 int Lfn2Pfn(
const char *
Path,
char *buff,
int blen)
override;
65 const char *
Lfn2Pfn(
const char *
Path,
char *buff,
int blen,
int &rc)
override;
68 static void * AggregateBootstrap(
void *instance);
69 void AggregateStats();
79 OpTimer(std::atomic<uint64_t> &op_count, std::atomic<uint64_t> &slow_op_count, std::atomic<uint64_t> &timing, std::atomic<uint64_t> &slow_timing, std::chrono::steady_clock::duration duration);
83 std::atomic<uint64_t> &m_op_count;
84 std::atomic<uint64_t> &m_slow_op_count;
85 std::atomic<uint64_t> &m_timing;
86 std::atomic<uint64_t> &m_slow_timing;
87 std::chrono::steady_clock::time_point m_start;
88 std::chrono::steady_clock::duration m_slow_duration;
92 std::atomic<uint64_t> m_read_ops{0};
93 std::atomic<uint64_t> m_write_ops{0};
94 std::atomic<uint64_t> m_stat_ops{0};
95 std::atomic<uint64_t> m_pgread_ops{0};
96 std::atomic<uint64_t> m_pgwrite_ops{0};
97 std::atomic<uint64_t> m_readv_ops{0};
98 std::atomic<uint64_t> m_readv_segs{0};
99 std::atomic<uint64_t> m_dirlist_ops{0};
100 std::atomic<uint64_t> m_dirlist_entries{0};
101 std::atomic<uint64_t> m_truncate_ops{0};
102 std::atomic<uint64_t> m_unlink_ops{0};
103 std::atomic<uint64_t> m_chmod_ops{0};
104 std::atomic<uint64_t> m_open_ops{0};
105 std::atomic<uint64_t> m_rename_ops{0};
109 std::atomic<uint64_t> m_open{0};
110 std::atomic<uint64_t> m_read{0};
111 std::atomic<uint64_t> m_readv{0};
112 std::atomic<uint64_t> m_pgread{0};
113 std::atomic<uint64_t> m_write{0};
114 std::atomic<uint64_t> m_pgwrite{0};
115 std::atomic<uint64_t> m_dirlist{0};
116 std::atomic<uint64_t> m_stat{0};
117 std::atomic<uint64_t> m_truncate{0};
118 std::atomic<uint64_t> m_unlink{0};
119 std::atomic<uint64_t> m_rename{0};
120 std::atomic<uint64_t> m_chmod{0};
126 OpTiming m_slow_times;
127 std::chrono::steady_clock::duration m_slow_duration;
int stat(const char *path, struct stat *buf)
void Disc(XrdOucEnv &env) override
int Init(XrdSysLogger *lp, const char *cfn) override
XrdOssDF * newDir(const char *user=0) override
StatsFileSystem(XrdOss *oss, XrdSysLogger *log, const char *configName, XrdOucEnv *envP)
void EnvInfo(XrdOucEnv *env) override
void Connect(XrdOucEnv &env) override
int Stat(const char *path, struct stat *buff, int opts=0, XrdOucEnv *env=0) override
int StatXP(const char *path, unsigned long long &attr, XrdOucEnv *env=0) override
virtual ~StatsFileSystem()
int Reloc(const char *tident, const char *path, const char *cgName, const char *anchor=0) override
int StatFS(const char *path, char *buff, int &blen, XrdOucEnv *env=0) override
int Create(const char *tid, const char *path, mode_t mode, XrdOucEnv &env, int opts=0) override
XrdOssDF * newFile(const char *user=0) override
bool Config(const char *configfn)
int StatPF(const char *path, struct stat *buff, int opts) override
int StatLS(XrdOucEnv &env, const char *path, char *buff, int &blen) override
int Stats(char *buff, int blen) override
int Remdir(const char *path, int Opts=0, XrdOucEnv *env=0) override
int Unlink(const char *path, int Opts=0, XrdOucEnv *env=0) override
int Mkdir(const char *path, mode_t mode, int mkpath=0, XrdOucEnv *env=0) override
int FSctl(int cmd, int alen, const char *args, char **resp=0) override
uint64_t Features() override
int Chmod(const char *path, mode_t mode, XrdOucEnv *env=0) override
int StatVS(XrdOssVSInfo *vsP, const char *sname=0, int updt=0) override
int Truncate(const char *path, unsigned long long fsize, XrdOucEnv *env=0) override
int StatXA(const char *path, char *buff, int &blen, XrdOucEnv *env=0) override
int Rename(const char *oPath, const char *nPath, XrdOucEnv *oEnvP=0, XrdOucEnv *nEnvP=0) override
int Lfn2Pfn(const char *Path, char *buff, int blen) override