# initializing to continue
self.initlock.set()
- def fuse_ops_total_time(self):
- ops_sum = 0.0
- metrics = self.fuse_time.collect()
- for metric in metrics:
- for sample in metric.samples:
- if sample.name == 'arvmount_fuse_operations_seconds_sum':
- ops_sum += sample.value
- return ops_sum
+ def metric_samples(self):
+ return self.fuse_time.collect()[0].samples
+
+ def metric_op_names(self):
+ ops = []
+ for cur_op in [sample.labels['op'] for sample in self.metric_samples()]:
+ if cur_op not in ops:
+ ops.append(cur_op)
+ return ops
+
+ def metric_value(self, opname, metric):
+ op_value = [sample.value for sample in self.metric_samples()
+ if sample.name == metric and sample.labels['op'] == opname]
+ return op_value[0] if len(op_value) == 1 else None
+
+ def metric_sum_func(self, opname):
+ return lambda: self.metric_value(opname, "arvmount_fuse_operations_seconds_sum")
+
+ def metric_count_func(self, opname):
+ return lambda: int(self.metric_value(opname, "arvmount_fuse_operations_seconds_count"))
@destroy_time.time()
@catch_exceptions