91 def make_data(self, message: Msg, top_block: str =
"") -> dict:
92 """Map each message entry to the correct data type."""
94 for name, descriptor
in message.DESCRIPTOR.fields_by_name.items():
95 if descriptor.label == FieldDescriptor.LABEL_REPEATED:
97 if descriptor.cpp_type == FieldDescriptor.CPPTYPE_MESSAGE:
98 top_block += name +
"."
99 message_dict = message_dict | self.
make_data(
100 getattr(message, name), top_block
103 message_dict[top_block + name] = self.
to_map(
104 value=getattr(message, name), field_type=descriptor.cpp_type
108 def to_map(self, value: int | float | bool | str, field_type: int) -> OpMonValue:
109 """Map the data entry to the correct protobuf format."""
110 formatted_opmonvalue = OpMonValue()
112 case FieldDescriptor.CPPTYPE_INT32:
113 formatted_opmonvalue.int4_value = value
114 case FieldDescriptor.CPPTYPE_INT64:
115 formatted_opmonvalue.int8_value = value
116 case FieldDescriptor.CPPTYPE_UINT32:
117 formatted_opmonvalue.uint4_value = value
118 case FieldDescriptor.CPPTYPE_UINT64:
119 formatted_opmonvalue.uint8_value = value
120 case FieldDescriptor.CPPTYPE_DOUBLE:
121 formatted_opmonvalue.double_value = value
122 case FieldDescriptor.CPPTYPE_FLOAT:
123 formatted_opmonvalue.float_value = value
124 case FieldDescriptor.CPPTYPE_BOOL:
125 formatted_opmonvalue.boolean_value = value
126 case FieldDescriptor.CPPTYPE_STRING:
127 formatted_opmonvalue.string_value = value
130 return formatted_opmonvalue
146 """Convert the log level to the equivalent level in python logging as an int."""
147 if isinstance(level, int):
148 if level
in oks_log_levels.values():
149 oks_level_name = next(
150 k
for k, v
in oks_log_levels.items()
if v == level
152 return logging_log_levels[oks_to_logging_map[oks_level_name]]
153 if level
in logging_log_levels.values():
155 elif isinstance(level, str):
156 if level
in oks_log_levels.keys():
157 return logging_log_levels[oks_to_logging_map[level]]
158 if level.upper()
in logging_log_levels.keys():
159 return logging_log_levels[level.upper()]
163 """Convert the log level to the equivalent level in python logging as a str."""
164 if isinstance(level, str):
165 if level
in oks_log_levels.keys():
166 return oks_to_logging_map[level]
167 if level
in logging_log_levels.keys():
169 elif isinstance(level, int):
170 if level
in oks_log_levels.values():
171 oks_level_name = next(
172 k
for k, v
in oks_log_levels.items()
if v == level
174 return oks_to_logging_map[oks_level_name]
175 if level
in logging_log_levels.values():
176 return next(k
for k, v
in logging_log_levels.items()
if v == level)