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:
committed by
Bobby Bruce
parent
2211fdb607
commit
5204b58e19
@@ -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')
|
||||
|
||||
@@ -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",
|
||||
]
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
@@ -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.
|
||||
"""
|
||||
|
||||
@@ -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.
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user