pyocf: Helper for finding metadata sections in log
Signed-off-by: Jan Musial <jan.musial@intel.com>
This commit is contained in:
parent
b053f7925a
commit
97942c6277
@ -18,8 +18,9 @@ from ctypes import (
|
|||||||
cast,
|
cast,
|
||||||
create_string_buffer,
|
create_string_buffer,
|
||||||
)
|
)
|
||||||
from enum import IntEnum
|
from enum import IntEnum, auto
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
|
import re
|
||||||
|
|
||||||
from ..ocf import OcfLib
|
from ..ocf import OcfLib
|
||||||
from .shared import (
|
from .shared import (
|
||||||
@ -46,6 +47,48 @@ class Backfill(Structure):
|
|||||||
_fields_ = [("_max_queue_size", c_uint32), ("_queue_unblock_size", c_uint32)]
|
_fields_ = [("_max_queue_size", c_uint32), ("_queue_unblock_size", c_uint32)]
|
||||||
|
|
||||||
|
|
||||||
|
class CacheMetadataSegment(IntEnum):
|
||||||
|
_ignore_ = "name_mapping"
|
||||||
|
SB_CONFIG = 0
|
||||||
|
SB_RUNTIME = auto()
|
||||||
|
RESERVED = auto()
|
||||||
|
PART_CONFIG = auto()
|
||||||
|
PART_RUNTIME = auto()
|
||||||
|
CORE_CONFIG = auto()
|
||||||
|
CORE_RUNTIME = auto()
|
||||||
|
CORE_UUID = auto()
|
||||||
|
CLEANING = auto()
|
||||||
|
LRU = auto()
|
||||||
|
COLLISION = auto()
|
||||||
|
LIST_INFO = auto()
|
||||||
|
HASH = auto()
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def segment_in_text(cls, log):
|
||||||
|
name_mapping = {
|
||||||
|
"Super block config": cls.SB_CONFIG,
|
||||||
|
"Super block runtime": cls.SB_RUNTIME,
|
||||||
|
"Reserved": cls.RESERVED,
|
||||||
|
"Part config": cls.PART_CONFIG,
|
||||||
|
"Part runtime": cls.PART_RUNTIME,
|
||||||
|
"Core config": cls.CORE_CONFIG,
|
||||||
|
"Core runtime": cls.CORE_RUNTIME,
|
||||||
|
"Core UUID": cls.CORE_UUID,
|
||||||
|
"Cleaning": cls.CLEANING,
|
||||||
|
"LRU": cls.LRU,
|
||||||
|
"Collision": cls.COLLISION,
|
||||||
|
"List info": cls.LIST_INFO,
|
||||||
|
"Hash": cls.HASH,
|
||||||
|
}
|
||||||
|
|
||||||
|
for name, segment in name_mapping.items():
|
||||||
|
match = re.search(name, log)
|
||||||
|
if match:
|
||||||
|
return segment
|
||||||
|
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
class CacheConfig(Structure):
|
class CacheConfig(Structure):
|
||||||
MAX_CACHE_NAME_SIZE = 32
|
MAX_CACHE_NAME_SIZE = 32
|
||||||
_fields_ = [
|
_fields_ = [
|
||||||
|
Loading…
Reference in New Issue
Block a user