diff --git a/analysis/engine/classification.py b/analysis/engine/classification.py index b2d6da91c05555703bf5268e95e5983829fbceeb..f7c51eacde876fbf93e47b9486109c510ae5cfd0 100644 --- a/analysis/engine/classification.py +++ b/analysis/engine/classification.py @@ -22,6 +22,7 @@ from flask_restful import Resource from flask_restful import marshal_with_field from analysis.optimizer.workload_characterization import WorkloadCharacterization +from analysis.optimizer.app_characterization import AppCharacterization from analysis.engine.field import CLASSIFICATION_POST_FIELD from analysis.engine.parser import CLASSIFICATION_POST_PARSER from analysis.engine.utils import utils @@ -48,14 +49,15 @@ class Classification(Resource): if data.empty: abort("data may be not exist") - classification = WorkloadCharacterization(model_path) + classification = AppCharacterization(model_path) resource_limit = "" if model is None: - resource_limit, workload_type, percentage = classification.identify(data) + bottleneck_binary, resource_limit, workload_type, percentage = classification.identify(data) else: - workload_type, percentage = classification.reidentify(data, model) + bottleneck_binary, workload_type, percentage = classification.reidentify(data, model) profile_name = {} + profile_name["bottleneck_binary"] = bottleneck_binary profile_name["workload_type"] = workload_type profile_name["percentage"] = percentage profile_name["resource_limit"] = resource_limit diff --git a/tools/generate_models.py b/tools/generate_models.py index 718c876944026f977fb1726f90315031b9c3a898..affb19130dad6a32a8d389f5b1957cd6cecffd23 100755 --- a/tools/generate_models.py +++ b/tools/generate_models.py @@ -22,7 +22,8 @@ import sys FILE_PATH = os.path.realpath(os.path.dirname(__file__)) sys.path.insert(0, FILE_PATH + "/../") -from analysis.optimizer.workload_characterization import WorkloadCharacterization +# from analysis.optimizer.workload_characterization import WorkloadCharacterization +from analysis.optimizer.app_characterization import AppCharacterization def main(csv_path, model_path, feature_selection, search): @@ -34,7 +35,7 @@ def main(csv_path, model_path, feature_selection, search): :param search: enable the grid search for model train, default value is False :return: None """ - processor = WorkloadCharacterization(model_path) + processor = AppCharacterization(model_path, mode="train") processor.train(csv_path, feature_selection, search)