return self._domain
+@enum.unique
class _ProcessAttribute(enum.Enum):
- PID = (enum.auto(),)
- VPID = (enum.auto(),)
- UID = (enum.auto(),)
- VUID = (enum.auto(),)
- GID = (enum.auto(),)
- VGID = (enum.auto(),)
+ PID = "Process ID"
+ VPID = "Virtual Process ID"
+ UID = "User ID"
+ VUID = "Virtual User ID"
+ GID = "Group ID"
+ VGID = "Virtual Group ID"
+
+ def __repr__(self):
+ return "<%s.%s>" % (self.__class__.__name__, self.name)
def _get_process_attribute_option_name(attribute: _ProcessAttribute) -> str:
return self._field_name
+@enum.unique
class TracingDomain(enum.Enum):
"""Tracing domain."""
- User = enum.auto(), "User space tracing domain"
- Kernel = enum.auto(), "Linux kernel tracing domain."
- Log4j = enum.auto(), "Log4j tracing back-end."
- JUL = enum.auto(), "Java Util Logging tracing back-end."
- Python = enum.auto(), "Python logging module tracing back-end."
+ User = "User space tracing domain"
+ Kernel = "Linux kernel tracing domain."
+ Log4j = "Log4j tracing back-end."
+ JUL = "Java Util Logging tracing back-end."
+ Python = "Python logging module tracing back-end."
+
+ def __repr__(self):
+ return "<%s.%s>" % (self.__class__.__name__, self.name)
class EventRule(abc.ABC):
policy back to "all" once it has transitioned to "include set".
"""
+ @enum.unique
class TrackingPolicy(enum.Enum):
- INCLUDE_ALL = (
- enum.auto(),
- """
+ INCLUDE_ALL = """
Track all possible process attribute value of a given type (i.e. no filtering).
This is the default state of a process attribute tracker.
- """,
- )
- EXCLUDE_ALL = (
- enum.auto(),
- "Exclude all possible process attribute values of a given type.",
- )
- INCLUDE_SET = enum.auto(), "Track a set of specific process attribute values."
+ """
+ EXCLUDE_ALL = "Exclude all possible process attribute values of a given type."
+ INCLUDE_SET = "Track a set of specific process attribute values."
+
+ def __repr__(self):
+ return "<%s.%s>" % (self.__class__.__name__, self.name)
def __init__(self, policy: TrackingPolicy):
self._policy = policy