From 5dd85aeb0c76d17f842cd5d6f345a0a6ae0109ae Mon Sep 17 00:00:00 2001 From: vishal Date: Tue, 21 Jan 2020 19:10:03 -0500 Subject: [PATCH 1/3] Update serve.py --- pkg/workloads/cortex/serve/serve.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/workloads/cortex/serve/serve.py b/pkg/workloads/cortex/serve/serve.py index af2a548d2e..4b7dcefedc 100644 --- a/pkg/workloads/cortex/serve/serve.py +++ b/pkg/workloads/cortex/serve/serve.py @@ -42,7 +42,7 @@ def start(args): assert_api_version() storage = S3(bucket=os.environ["CORTEX_BUCKET"], region=os.environ["AWS_REGION"]) try: - raw_api_spec = get_spec(args.cache_dir, args.spec) + raw_api_spec = get_spec(storage, args.cache_dir, args.spec) api = API(storage=storage, cache_dir=args.cache_dir, **raw_api_spec) client = api.predictor.initialize_client(args) cx_logger().info("loading the predictor from {}".format(api.predictor.path)) @@ -164,10 +164,10 @@ def assert_api_version(): ) -def get_spec(cache_dir, s3_path): +def get_spec(storage, cache_dir, s3_path): local_spec_path = os.path.join(cache_dir, "api_spec.msgpack") - bucket, key = S3.deconstruct_s3_path(s3_path) - S3(bucket, client_config={}).download_file(key, local_spec_path) + _, key = S3.deconstruct_s3_path(s3_path) + storage.download_file(key, local_spec_path) return util.read_msgpack(local_spec_path) From 38b36b79023f33c769060b2b6659226cb08ed7de Mon Sep 17 00:00:00 2001 From: vishal Date: Tue, 21 Jan 2020 20:23:19 -0500 Subject: [PATCH 2/3] Do not record prediction if status code is not in 200s --- pkg/workloads/cortex/serve/serve.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/workloads/cortex/serve/serve.py b/pkg/workloads/cortex/serve/serve.py index 4b7dcefedc..e6c7ace9b0 100644 --- a/pkg/workloads/cortex/serve/serve.py +++ b/pkg/workloads/cortex/serve/serve.py @@ -122,7 +122,7 @@ def after_request(response): try: api.post_latency_metrics(response.status_code, g.start_time) - if api.tracker is not None: + if int(response.status_code / 100) == 2 and api.tracker is not None and response: predicted_value = api.tracker.extract_predicted_value(prediction) api.post_tracker_metrics(predicted_value) if predicted_value is not None and predicted_value not in local_cache["class_set"]: From 0174856ed8f7a77e00cfc45778b733752180b9b0 Mon Sep 17 00:00:00 2001 From: vishal Date: Tue, 21 Jan 2020 20:56:40 -0500 Subject: [PATCH 3/3] Update serve.py --- pkg/workloads/cortex/serve/serve.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/workloads/cortex/serve/serve.py b/pkg/workloads/cortex/serve/serve.py index e6c7ace9b0..44f322775c 100644 --- a/pkg/workloads/cortex/serve/serve.py +++ b/pkg/workloads/cortex/serve/serve.py @@ -122,7 +122,7 @@ def after_request(response): try: api.post_latency_metrics(response.status_code, g.start_time) - if int(response.status_code / 100) == 2 and api.tracker is not None and response: + if int(response.status_code / 100) == 2 and api.tracker is not None: predicted_value = api.tracker.extract_predicted_value(prediction) api.post_tracker_metrics(predicted_value) if predicted_value is not None and predicted_value not in local_cache["class_set"]: