16 m_wrapped(std::move(
wrapDF)),
25 StatsFileSystem::OpTimer op(m_oss.m_ops.m_open_ops, m_oss.m_slow_ops.m_open_ops, m_oss.m_times.m_open, m_oss.m_slow_times.m_open, m_oss.m_slow_duration);
31 StatsFileSystem::OpTimer op(m_oss.m_ops.m_chmod_ops, m_oss.m_slow_ops.m_chmod_ops, m_oss.m_times.m_chmod, m_oss.m_slow_times.m_chmod, m_oss.m_slow_duration);
42 StatsFileSystem::OpTimer op(m_oss.m_ops.m_stat_ops, m_oss.m_slow_ops.m_stat_ops, m_oss.m_times.m_stat, m_oss.m_slow_times.m_stat, m_oss.m_slow_duration);
58 StatsFileSystem::OpTimer op(m_oss.m_ops.m_truncate_ops, m_oss.m_slow_ops.m_truncate_ops, m_oss.m_times.m_truncate, m_oss.m_slow_times.m_truncate, m_oss.m_slow_duration);
72 ssize_t
pgRead (
void* buffer, off_t offset,
size_t rdlen,
73 uint32_t* csvec, uint64_t
opts)
override
75 StatsFileSystem::OpTimer op(m_oss.m_ops.m_pgread_ops, m_oss.m_slow_ops.m_pgread_ops, m_oss.m_times.m_pgread, m_oss.m_slow_times.m_pgread, m_oss.m_slow_duration);
81 StatsFileSystem::OpTimer op(m_oss.m_ops.m_pgread_ops, m_oss.m_slow_ops.m_pgread_ops, m_oss.m_times.m_pgread, m_oss.m_slow_times.m_pgread, m_oss.m_slow_duration);
85 ssize_t
pgWrite(
void* buffer, off_t offset,
size_t wrlen,
86 uint32_t* csvec, uint64_t
opts)
override
88 StatsFileSystem::OpTimer op(m_oss.m_ops.m_pgwrite_ops, m_oss.m_slow_ops.m_pgwrite_ops, m_oss.m_times.m_pgwrite, m_oss.m_slow_times.m_pgwrite, m_oss.m_slow_duration);
94 StatsFileSystem::OpTimer op(m_oss.m_ops.m_pgwrite_ops, m_oss.m_slow_ops.m_pgwrite_ops, m_oss.m_times.m_pgwrite, m_oss.m_slow_times.m_pgwrite, m_oss.m_slow_duration);
98 ssize_t
Read(off_t offset,
size_t size)
override
100 StatsFileSystem::OpTimer op(m_oss.m_ops.m_read_ops, m_oss.m_slow_ops.m_read_ops, m_oss.m_times.m_read, m_oss.m_slow_times.m_read, m_oss.m_slow_duration);
104 ssize_t
Read(
void *buffer, off_t offset,
size_t size)
override
106 StatsFileSystem::OpTimer op(m_oss.m_ops.m_read_ops, m_oss.m_slow_ops.m_read_ops, m_oss.m_times.m_read, m_oss.m_slow_times.m_read, m_oss.m_slow_duration);
112 StatsFileSystem::OpTimer op(m_oss.m_ops.m_read_ops, m_oss.m_slow_ops.m_read_ops, m_oss.m_times.m_read, m_oss.m_slow_times.m_read, m_oss.m_slow_duration);
116 ssize_t
ReadRaw(
void *buffer, off_t offset,
size_t size)
override
118 StatsFileSystem::OpTimer op(m_oss.m_ops.m_read_ops, m_oss.m_slow_ops.m_read_ops, m_oss.m_times.m_read, m_oss.m_slow_times.m_read, m_oss.m_slow_duration);
124 auto start = std::chrono::steady_clock::now();
126 auto dur = std::chrono::steady_clock::now() - start;
127 m_oss.m_ops.m_readv_ops++;
128 m_oss.m_ops.m_readv_segs += rdvcnt;
129 auto ns = std::chrono::nanoseconds(dur).count();
130 m_oss.m_times.m_readv += ns;
131 if (dur > m_oss.m_slow_duration) {
132 m_oss.m_slow_ops.m_readv_ops++;
133 m_oss.m_slow_ops.m_readv_segs += rdvcnt;
134 m_oss.m_times.m_readv += std::chrono::nanoseconds(dur).count();
139 ssize_t
Write(
const void *buffer, off_t offset,
size_t size)
override
141 StatsFileSystem::OpTimer op(m_oss.m_ops.m_write_ops, m_oss.m_slow_ops.m_write_ops, m_oss.m_times.m_write, m_oss.m_slow_times.m_write, m_oss.m_slow_duration);
147 StatsFileSystem::OpTimer op(m_oss.m_ops.m_write_ops, m_oss.m_slow_ops.m_write_ops, m_oss.m_times.m_write, m_oss.m_slow_times.m_write, m_oss.m_slow_duration);
153 StatsFileSystem::OpTimer op(m_oss.m_ops.m_write_ops, m_oss.m_slow_ops.m_write_ops, m_oss.m_times.m_write, m_oss.m_slow_times.m_write, m_oss.m_slow_duration);
157 int Close(
long long *retsz=0)
override
163 std::unique_ptr<XrdOssDF> m_wrapped;
int stat(const char *path, struct stat *buf)
off_t getMmap(void **addr) override
int Ftruncate(unsigned long long size) override
ssize_t ReadRaw(void *buffer, off_t offset, size_t size) override
ssize_t ReadV(XrdOucIOVec *readV, int rdvcnt) override
ssize_t WriteV(XrdOucIOVec *writeV, int wrvcnt) override
int Fchmod(mode_t mode) override
int Read(XrdSfsAio *aiop) override
ssize_t Read(void *buffer, off_t offset, size_t size) override
ssize_t pgWrite(void *buffer, off_t offset, size_t wrlen, uint32_t *csvec, uint64_t opts) override
ssize_t Write(const void *buffer, off_t offset, size_t size) override
int pgRead(XrdSfsAio *aioparm, uint64_t opts) override
void Flush() override
Flush filesystem cached pages for this file (used for checksums).
int pgWrite(XrdSfsAio *aioparm, uint64_t opts) override
int isCompressed(char *cxidp=0) override
int Fstat(struct stat *buf) override
StatsFile(std::unique_ptr< XrdOssDF > wrapDF, XrdSysError &log, StatsFileSystem &oss)
ssize_t Read(off_t offset, size_t size) override
ssize_t pgRead(void *buffer, off_t offset, size_t rdlen, uint32_t *csvec, uint64_t opts) override
int Fsync(XrdSfsAio *aiop) override
int Close(long long *retsz=0) override
int Write(XrdSfsAio *aiop) override
int Open(const char *path, int Oflag, mode_t Mode, XrdOucEnv &env) override
virtual ssize_t WriteV(XrdOucIOVec *writeV, int wrvcnt)
virtual int isCompressed(char *cxidp=0)
virtual int Ftruncate(unsigned long long flen)
virtual int Fstat(struct stat *buf)
virtual ssize_t ReadRaw(void *buffer, off_t offset, size_t size)
virtual int Close(long long *retsz=0)=0
virtual int Open(const char *path, int Oflag, mode_t Mode, XrdOucEnv &env)
virtual ssize_t Read(off_t offset, size_t size)
virtual int Fchmod(mode_t mode)
virtual ssize_t pgWrite(void *buffer, off_t offset, size_t wrlen, uint32_t *csvec, uint64_t opts)
virtual ssize_t pgRead(void *buffer, off_t offset, size_t rdlen, uint32_t *csvec, uint64_t opts)
virtual void Flush()
Flush filesystem cached pages for this file (used for checksums).
virtual off_t getMmap(void **addr)
virtual ssize_t ReadV(XrdOucIOVec *readV, int rdvcnt)
virtual ssize_t Write(const void *buffer, off_t offset, size_t size)