Dev (#2333)
* refactor(chalice): upgraded dependencies * refactor(chalice): upgraded dependencies feat(chalice): support heatmaps * feat(chalice): support table-of-browsers showing user-count * feat(chalice): support table-of-devices showing user-count * feat(chalice): support table-of-URLs showing user-count * fix(chalice): fixed Math-operators validation refactor(chalice): search for sessions that have events for heatmaps * refactor(chalice): search for sessions that have at least 1 location event for heatmaps * refactor(chalice): removed timeseries-card progress refactor(chalice): removed tables-card pieChart refactor(DB): migrated timeseries-card progress refactor(DB): migrated tables-card pieChart
This commit is contained in:
parent
cff1d3a996
commit
9516dcd238
5 changed files with 16 additions and 44 deletions
|
|
@ -25,25 +25,6 @@ def __try_live(project_id, data: schemas.CardSchema):
|
||||||
results.append(sessions.search2_series(data=s.filter, project_id=project_id, density=data.density,
|
results.append(sessions.search2_series(data=s.filter, project_id=project_id, density=data.density,
|
||||||
view_type=data.view_type, metric_type=data.metric_type,
|
view_type=data.view_type, metric_type=data.metric_type,
|
||||||
metric_of=data.metric_of, metric_value=data.metric_value))
|
metric_of=data.metric_of, metric_value=data.metric_value))
|
||||||
if data.view_type == schemas.MetricTimeseriesViewType.progress:
|
|
||||||
r = {"count": results[-1]}
|
|
||||||
diff = s.filter.endTimestamp - s.filter.startTimestamp
|
|
||||||
s.filter.endTimestamp = s.filter.startTimestamp
|
|
||||||
s.filter.startTimestamp = s.filter.endTimestamp - diff
|
|
||||||
r["previousCount"] = sessions.search2_series(data=s.filter, project_id=project_id, density=data.density,
|
|
||||||
view_type=data.view_type, metric_type=data.metric_type,
|
|
||||||
metric_of=data.metric_of, metric_value=data.metric_value)
|
|
||||||
r["countProgress"] = helper.__progress(old_val=r["previousCount"], new_val=r["count"])
|
|
||||||
r["seriesName"] = s.name if s.name else i + 1
|
|
||||||
r["seriesId"] = s.series_id if s.series_id else None
|
|
||||||
results[-1] = r
|
|
||||||
elif data.view_type == schemas.MetricTableViewType.pie_chart:
|
|
||||||
if len(results[i].get("values", [])) > PIE_CHART_GROUP:
|
|
||||||
results[i]["values"] = results[i]["values"][:PIE_CHART_GROUP] \
|
|
||||||
+ [{
|
|
||||||
"name": "Others", "group": True,
|
|
||||||
"sessionCount": sum(r["sessionCount"] for r in results[i]["values"][PIE_CHART_GROUP:])
|
|
||||||
}]
|
|
||||||
|
|
||||||
return results
|
return results
|
||||||
|
|
||||||
|
|
@ -112,8 +93,6 @@ def __get_path_analysis_chart(project_id: int, user_id: int, data: schemas.CardP
|
||||||
|
|
||||||
def __get_timeseries_chart(project_id: int, data: schemas.CardTimeSeries, user_id: int = None):
|
def __get_timeseries_chart(project_id: int, data: schemas.CardTimeSeries, user_id: int = None):
|
||||||
series_charts = __try_live(project_id=project_id, data=data)
|
series_charts = __try_live(project_id=project_id, data=data)
|
||||||
if data.view_type == schemas.MetricTimeseriesViewType.progress:
|
|
||||||
return series_charts
|
|
||||||
results = [{}] * len(series_charts[0])
|
results = [{}] * len(series_charts[0])
|
||||||
for i in range(len(results)):
|
for i in range(len(results)):
|
||||||
for j, series_chart in enumerate(series_charts):
|
for j, series_chart in enumerate(series_charts):
|
||||||
|
|
|
||||||
|
|
@ -913,13 +913,11 @@ class CardSeriesSchema(BaseModel):
|
||||||
|
|
||||||
class MetricTimeseriesViewType(str, Enum):
|
class MetricTimeseriesViewType(str, Enum):
|
||||||
line_chart = "lineChart"
|
line_chart = "lineChart"
|
||||||
progress = "progress"
|
|
||||||
area_chart = "areaChart"
|
area_chart = "areaChart"
|
||||||
|
|
||||||
|
|
||||||
class MetricTableViewType(str, Enum):
|
class MetricTableViewType(str, Enum):
|
||||||
table = "table"
|
table = "table"
|
||||||
pie_chart = "pieChart"
|
|
||||||
|
|
||||||
|
|
||||||
class MetricOtherViewType(str, Enum):
|
class MetricOtherViewType(str, Enum):
|
||||||
|
|
|
||||||
|
|
@ -36,25 +36,6 @@ def __try_live(project_id, data: schemas.CardSchema):
|
||||||
results.append(sessions.search2_series(data=s.filter, project_id=project_id, density=data.density,
|
results.append(sessions.search2_series(data=s.filter, project_id=project_id, density=data.density,
|
||||||
view_type=data.view_type, metric_type=data.metric_type,
|
view_type=data.view_type, metric_type=data.metric_type,
|
||||||
metric_of=data.metric_of, metric_value=data.metric_value))
|
metric_of=data.metric_of, metric_value=data.metric_value))
|
||||||
if data.view_type == schemas.MetricTimeseriesViewType.progress:
|
|
||||||
r = {"count": results[-1]}
|
|
||||||
diff = s.filter.endTimestamp - s.filter.startTimestamp
|
|
||||||
s.filter.endTimestamp = s.filter.startTimestamp
|
|
||||||
s.filter.startTimestamp = s.filter.endTimestamp - diff
|
|
||||||
r["previousCount"] = sessions.search2_series(data=s.filter, project_id=project_id, density=data.density,
|
|
||||||
view_type=data.view_type, metric_type=data.metric_type,
|
|
||||||
metric_of=data.metric_of, metric_value=data.metric_value)
|
|
||||||
r["countProgress"] = helper.__progress(old_val=r["previousCount"], new_val=r["count"])
|
|
||||||
r["seriesName"] = s.name if s.name else i + 1
|
|
||||||
r["seriesId"] = s.series_id if s.series_id else None
|
|
||||||
results[-1] = r
|
|
||||||
elif data.view_type == schemas.MetricTableViewType.pie_chart:
|
|
||||||
if len(results[i].get("values", [])) > PIE_CHART_GROUP:
|
|
||||||
results[i]["values"] = results[i]["values"][:PIE_CHART_GROUP] \
|
|
||||||
+ [{
|
|
||||||
"name": "Others", "group": True,
|
|
||||||
"sessionCount": sum(r["sessionCount"] for r in results[i]["values"][PIE_CHART_GROUP:])
|
|
||||||
}]
|
|
||||||
|
|
||||||
return results
|
return results
|
||||||
|
|
||||||
|
|
@ -132,8 +113,6 @@ def __get_path_analysis_chart(project_id: int, user_id: int, data: schemas.CardP
|
||||||
|
|
||||||
def __get_timeseries_chart(project_id: int, data: schemas.CardTimeSeries, user_id: int = None):
|
def __get_timeseries_chart(project_id: int, data: schemas.CardTimeSeries, user_id: int = None):
|
||||||
series_charts = __try_live(project_id=project_id, data=data)
|
series_charts = __try_live(project_id=project_id, data=data)
|
||||||
if data.view_type == schemas.MetricTimeseriesViewType.progress:
|
|
||||||
return series_charts
|
|
||||||
results = [{}] * len(series_charts[0])
|
results = [{}] * len(series_charts[0])
|
||||||
for i in range(len(results)):
|
for i in range(len(results)):
|
||||||
for j, series_chart in enumerate(series_charts):
|
for j, series_chart in enumerate(series_charts):
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,14 @@ WHERE metric_id IN (SELECT metric_id
|
||||||
WHERE metric_type = 'webVitals')
|
WHERE metric_type = 'webVitals')
|
||||||
AND config ->> 'col' = '1';
|
AND config ->> 'col' = '1';
|
||||||
|
|
||||||
|
UPDATE public.metrics
|
||||||
|
SET view_type='table'
|
||||||
|
WHERE view_type = 'pieChart';
|
||||||
|
|
||||||
|
UPDATE public.metrics
|
||||||
|
SET view_type='lineChart'
|
||||||
|
WHERE view_type = 'progress';
|
||||||
|
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
||||||
\elif :is_next
|
\elif :is_next
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,14 @@ WHERE metric_id IN (SELECT metric_id
|
||||||
WHERE metric_type = 'webVitals')
|
WHERE metric_type = 'webVitals')
|
||||||
AND config ->> 'col' = '1';
|
AND config ->> 'col' = '1';
|
||||||
|
|
||||||
|
UPDATE public.metrics
|
||||||
|
SET view_type='table'
|
||||||
|
WHERE view_type = 'pieChart';
|
||||||
|
|
||||||
|
UPDATE public.metrics
|
||||||
|
SET view_type='lineChart'
|
||||||
|
WHERE view_type = 'progress';
|
||||||
|
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
||||||
\elif :is_next
|
\elif :is_next
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue