projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '5353-booted-size' refs #5353
[arvados.git]
/
services
/
fuse
/
arvados_fuse
/
__init__.py
diff --git
a/services/fuse/arvados_fuse/__init__.py
b/services/fuse/arvados_fuse/__init__.py
index 49151318a751941742295ad427816414cfe4ad43..fd25aa9b5eacab7e4b6038df50387375147513c6 100644
(file)
--- a/
services/fuse/arvados_fuse/__init__.py
+++ b/
services/fuse/arvados_fuse/__init__.py
@@
-66,6
+66,7
@@
import itertools
import ciso8601
import collections
import functools
import ciso8601
import collections
import functools
+import arvados.keep
import Queue
import Queue
@@
-323,6
+324,11
@@
class Operations(llfuse.Operations):
self.num_retries = num_retries
self.num_retries = num_retries
+ self.read_counter = arvados.keep.Counter()
+ self.write_counter = arvados.keep.Counter()
+ self.read_ops_counter = arvados.keep.Counter()
+ self.write_ops_counter = arvados.keep.Counter()
+
self.events = None
def init(self):
self.events = None
def init(self):
@@
-484,6
+490,8
@@
class Operations(llfuse.Operations):
@catch_exceptions
def read(self, fh, off, size):
_logger.debug("arv-mount read %i %i %i", fh, off, size)
@catch_exceptions
def read(self, fh, off, size):
_logger.debug("arv-mount read %i %i %i", fh, off, size)
+ self.read_ops_counter.add(1)
+
if fh in self._filehandles:
handle = self._filehandles[fh]
else:
if fh in self._filehandles:
handle = self._filehandles[fh]
else:
@@
-491,11
+499,16
@@
class Operations(llfuse.Operations):
self.inodes.touch(handle.obj)
self.inodes.touch(handle.obj)
- return handle.obj.readfrom(off, size, self.num_retries)
+ r = handle.obj.readfrom(off, size, self.num_retries)
+ if r:
+ self.read_counter.add(len(r))
+ return r
@catch_exceptions
def write(self, fh, off, buf):
_logger.debug("arv-mount write %i %i %i", fh, off, len(buf))
@catch_exceptions
def write(self, fh, off, buf):
_logger.debug("arv-mount write %i %i %i", fh, off, len(buf))
+ self.write_ops_counter.add(1)
+
if fh in self._filehandles:
handle = self._filehandles[fh]
else:
if fh in self._filehandles:
handle = self._filehandles[fh]
else:
@@
-506,7
+519,10
@@
class Operations(llfuse.Operations):
self.inodes.touch(handle.obj)
self.inodes.touch(handle.obj)
- return handle.obj.writeto(off, buf, self.num_retries)
+ w = handle.obj.writeto(off, buf, self.num_retries)
+ if w:
+ self.write_counter.add(w)
+ return w
@catch_exceptions
def release(self, fh):
@catch_exceptions
def release(self, fh):