def __init__(self, obj, name, description=None, kind=MetricKind.Counter, initialValue=0): if kind is None: kind = MetricKind.Counter elif kind in MetricKind.__members__: kind = MetricKind.__members__[kind] elif kind not in MetricKind.__members__.values(): raise ValueError("kind is required to be MetricKind:" + kind) if description is None: description=name + ":" + kind.name self.name = str(name) self.kind = kind self.description = str(description) args = (_get_opc(obj), self.name, self.description, self.kind.value, int(initialValue)) self.__ptr = _ec.create_custom_metric(args)