diff --git a/src/python/SConscript b/src/python/SConscript index 6e0f6d7d55..f08752af1a 100644 --- a/src/python/SConscript +++ b/src/python/SConscript @@ -283,7 +283,7 @@ PySource('m5.ext.pyfdt', 'm5/ext/pyfdt/pyfdt.py') PySource('m5.ext.pyfdt', 'm5/ext/pyfdt/__init__.py') PySource('m5.ext.pystats', 'm5/ext/pystats/__init__.py') -PySource('m5.ext.pystats', 'm5/ext/pystats/jsonserializable.py') +PySource('m5.ext.pystats', 'm5/ext/pystats/serializable_stat.py') PySource('m5.ext.pystats', 'm5/ext/pystats/group.py') PySource('m5.ext.pystats', 'm5/ext/pystats/simstat.py') PySource('m5.ext.pystats', 'm5/ext/pystats/statistic.py') diff --git a/src/python/m5/ext/pystats/__init__.py b/src/python/m5/ext/pystats/__init__.py index 04d7d11923..942979a1a8 100644 --- a/src/python/m5/ext/pystats/__init__.py +++ b/src/python/m5/ext/pystats/__init__.py @@ -24,7 +24,7 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -from .jsonserializable import JsonSerializable +from .serializable_stat import SerializableStat from .group import Group from .simstat import SimStat from .statistic import Statistic @@ -38,6 +38,6 @@ __all__ = [ "Statistic", "TimeConversion", "StorageType", - "JsonSerializable", + "SerializableStat", "JsonLoader", ] diff --git a/src/python/m5/ext/pystats/group.py b/src/python/m5/ext/pystats/group.py index c71f2916e3..55ec4b20bd 100644 --- a/src/python/m5/ext/pystats/group.py +++ b/src/python/m5/ext/pystats/group.py @@ -36,12 +36,11 @@ from typing import ( Union, ) -from .jsonserializable import JsonSerializable +from .serializable_stat import SerializableStat from .statistic import Scalar, Statistic from .timeconversion import TimeConversion - -class Group(JsonSerializable): +class Group(SerializableStat): """ Used to create the heirarchical stats structure. A Group object contains a map of labeled Groups, Statistics, Lists of Groups, or List of Statistics. diff --git a/src/python/m5/ext/pystats/jsonserializable.py b/src/python/m5/ext/pystats/serializable_stat.py similarity index 96% rename from src/python/m5/ext/pystats/jsonserializable.py rename to src/python/m5/ext/pystats/serializable_stat.py index 63cb16f660..3ad9b50388 100644 --- a/src/python/m5/ext/pystats/jsonserializable.py +++ b/src/python/m5/ext/pystats/serializable_stat.py @@ -30,11 +30,10 @@ from typing import Dict, List, Union, Any, IO from .storagetype import StorageType - -class JsonSerializable: +class SerializableStat: """ - Classes which inherit from JsonSerializable can be translated into JSON - using Python's json package. + Classes which inherit from SerializableStat can be serialized as JSON + output. Usage ----- @@ -80,7 +79,7 @@ class JsonSerializable: A value which can be handled by the Python stdlib JSON package. """ - if isinstance(value, JsonSerializable): + if isinstance(value, SerializableStat): return value.to_json() elif isinstance(value, (str, int, float)): return value diff --git a/src/python/m5/ext/pystats/simstat.py b/src/python/m5/ext/pystats/simstat.py index 5a48009301..3cea133502 100644 --- a/src/python/m5/ext/pystats/simstat.py +++ b/src/python/m5/ext/pystats/simstat.py @@ -27,13 +27,12 @@ from datetime import datetime from typing import Dict, List, Optional, Union -from .jsonserializable import JsonSerializable +from .serializable_stat import SerializableStat from .group import Group from .statistic import Statistic from .timeconversion import TimeConversion - -class SimStat(JsonSerializable): +class SimStat(SerializableStat): """ Contains all the statistics for a given simulation. """ diff --git a/src/python/m5/ext/pystats/statistic.py b/src/python/m5/ext/pystats/statistic.py index 6119f107bb..446c9ba346 100644 --- a/src/python/m5/ext/pystats/statistic.py +++ b/src/python/m5/ext/pystats/statistic.py @@ -27,11 +27,11 @@ from abc import ABC from typing import Any, Iterable, Optional, Union, List -from .jsonserializable import JsonSerializable +from .serializable_stat import SerializableStat from .storagetype import StorageType -class Statistic(ABC, JsonSerializable): +class Statistic(ABC, SerializableStat): """ The abstract base class for all Python statistics. """ diff --git a/tests/pyunit/pyunit_jsonserializable_check.py b/tests/pyunit/pyunit_jsonserializable_check.py index 97642a4e5d..8d5d2fa857 100644 --- a/tests/pyunit/pyunit_jsonserializable_check.py +++ b/tests/pyunit/pyunit_jsonserializable_check.py @@ -25,10 +25,10 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. import unittest -from m5.ext.pystats.jsonserializable import JsonSerializable +from m5.ext.pystats.serializable_stat import SerializableStat -class MockSerializable(JsonSerializable): +class MockSerializable(SerializableStat): def __init__(self): self.child_1 = MockSerializableChild() self.child_1.stat1 = 2 @@ -43,7 +43,7 @@ class MockSerializable(JsonSerializable): self.child_list.append(child_list_2) -class MockSerializableChild(JsonSerializable): +class MockSerializableChild(SerializableStat): def __init__(self): pass