stdlib: Rename JsonSerializable to SerializableStat

As this abstract class now allows the output of text stats, it's more
appropriate to rename it. It no longer handles processing just for JSON
output

Change-Id: Ia9a1e3ef4029de45a11ac261fb14c9bdfa412cdd
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/59273
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
This commit is contained in:
Bobby R. Bruce
2022-04-29 18:08:03 -07:00
committed by Bobby Bruce
parent 2211fdb607
commit 5204b58e19
7 changed files with 16 additions and 19 deletions

View File

@@ -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')

View File

@@ -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",
]

View File

@@ -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.

View File

@@ -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

View File

@@ -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.
"""

View File

@@ -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.
"""