From d81d849cb9dfd17aa5c1770847455ce43042e248 Mon Sep 17 00:00:00 2001 From: MauricioGarciaS <47052044+MauricioGarciaS@users.noreply.github.com> Date: Wed, 18 Jan 2023 20:11:06 +0100 Subject: [PATCH] Changed GetInsightSchema atributes. Missing the filter handler. --- ee/api/chalicelib/core/custom_metrics.py | 2 +- ee/api/chalicelib/core/sessions_insights.py | 19 +++++++++++-------- ee/api/schemas_ee.py | 3 ++- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/ee/api/chalicelib/core/custom_metrics.py b/ee/api/chalicelib/core/custom_metrics.py index 3f9d3aaf7..f38f12a06 100644 --- a/ee/api/chalicelib/core/custom_metrics.py +++ b/ee/api/chalicelib/core/custom_metrics.py @@ -137,7 +137,7 @@ def __get_insights_chat(project_id, user_id, data: schemas_ee.CreateCardSchema): return sessions_insights.fetch_selected(project_id=project_id, data=schemas_ee.GetInsightsSchema(startTimestamp=data.startTimestamp, endTimestamp=data.endTimestamp, - categories=data.metric_value)) + metricValue=data.metric_value)) def merged_live(project_id, data: schemas_ee.CreateCardSchema, user_id=None): diff --git a/ee/api/chalicelib/core/sessions_insights.py b/ee/api/chalicelib/core/sessions_insights.py index ed55ebc2e..76f1927d6 100644 --- a/ee/api/chalicelib/core/sessions_insights.py +++ b/ee/api/chalicelib/core/sessions_insights.py @@ -1,4 +1,5 @@ -import schemas_ee +import schemas, schemas_ee +from typing import List from chalicelib.core import metrics from chalicelib.utils import ch_client @@ -401,27 +402,29 @@ def query_click_rage_by_period(project_id, start_time, end_time, conn=None): def fetch_selected(project_id, data: schemas_ee.GetInsightsSchema): output = list() - if data.categories is None or len(data.categories) == 0: - data.categories = [] + #TODO: Handle filters of GetInsightsSchema + # data.series[0].filter.filters + if data.metricValue is None or len(data.metricValue) == 0: + data.metricValue = [] for v in schemas_ee.InsightCategories: - data.categories.append(v) + data.metricValue.append(v) with ch_client.ClickHouseClient() as conn: - if schemas_ee.InsightCategories.errors in data.categories: + if schemas_ee.InsightCategories.errors in data.metricValue: output += query_most_errors_by_period(project_id=project_id, start_time=data.startTimestamp, end_time=data.endTimestamp, conn=conn) - if schemas_ee.InsightCategories.network in data.categories: + if schemas_ee.InsightCategories.network in data.metricValue: output += query_requests_by_period(project_id=project_id, start_time=data.startTimestamp, end_time=data.endTimestamp, conn=conn) - if schemas_ee.InsightCategories.rage in data.categories: + if schemas_ee.InsightCategories.rage in data.metricValue: output += query_click_rage_by_period(project_id=project_id, start_time=data.startTimestamp, end_time=data.endTimestamp, conn=conn) - if schemas_ee.InsightCategories.resources in data.categories: + if schemas_ee.InsightCategories.resources in data.metricValue: output += query_cpu_memory_by_period(project_id=project_id, start_time=data.startTimestamp, end_time=data.endTimestamp, diff --git a/ee/api/schemas_ee.py b/ee/api/schemas_ee.py index ed785dcb2..9d70ae2d9 100644 --- a/ee/api/schemas_ee.py +++ b/ee/api/schemas_ee.py @@ -51,7 +51,8 @@ class GetInsightsSchema(BaseModel): startTimestamp: int = Field(TimeUTC.now(-7)) endTimestamp: int = Field(TimeUTC.now()) # time_step: int = Field(default=3600) - categories: List[InsightCategories] = Field(...) + metricValue: List[InsightCategories] = Field(...) + series: List[schemas.CardCreateSeriesSchema] = Field([...]) class Config: alias_generator = schemas.attribute_to_camel_case