feat(chalice): get replay resources from experimental table
This commit is contained in:
parent
ebf7edf476
commit
ec966902e3
3 changed files with 26 additions and 10 deletions
|
|
@ -42,3 +42,6 @@ if config("EXP_FUNNELS", cast=bool, default=False):
|
|||
from . import significance_exp as significance
|
||||
else:
|
||||
from . import significance as significance
|
||||
|
||||
if config("EXP_RESOURCES", cast=bool, default=False):
|
||||
print(">>> Using experimental resources for session-replay")
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from chalicelib.utils import helper
|
||||
from chalicelib.utils import helper, exp_ch_helper
|
||||
from chalicelib.utils import ch_client
|
||||
from chalicelib.utils.TimeUTC import TimeUTC
|
||||
from decouple import config
|
||||
|
|
@ -9,14 +9,26 @@ def get_by_session_id(session_id, project_id, start_ts, duration):
|
|||
if duration is None or (type(duration) != 'int' and type(duration) != 'float') or duration < 0:
|
||||
duration = 0
|
||||
delta = config("events_ts_delta", cast=int, default=60 * 60) * 1000
|
||||
ch_query = """\
|
||||
SELECT
|
||||
datetime,url,type,duration,ttfb,header_size,encoded_body_size,decoded_body_size,success,coalesce(status,if(success, 200, status)) AS status
|
||||
FROM resources
|
||||
WHERE session_id = toUInt64(%(session_id)s)
|
||||
AND project_id=%(project_id)s
|
||||
AND datetime >= toDateTime(%(res_start_ts)s / 1000)
|
||||
AND datetime <= toDateTime(%(res_end_ts)s / 1000);"""
|
||||
if config("EXP_RESOURCES", cast=bool, default=False):
|
||||
ch_query = f"""SELECT
|
||||
datetime,url,type,duration,ttfb,header_size,
|
||||
encoded_body_size,decoded_body_size,success,
|
||||
if(success, 200, 400) AS status
|
||||
FROM {exp_ch_helper.get_main_resources_table(start_ts)}
|
||||
WHERE session_id = toUInt16(%(session_id)s)
|
||||
AND project_id=%(project_id)s
|
||||
AND datetime >= toDateTime(%(res_start_ts)s / 1000)
|
||||
AND datetime <= toDateTime(%(res_end_ts)s / 1000);"""
|
||||
else:
|
||||
ch_query = """SELECT
|
||||
datetime,url,type,duration,ttfb,header_size,
|
||||
encoded_body_size,decoded_body_size,success,
|
||||
coalesce(status,if(success, 200, status)) AS status
|
||||
FROM resources
|
||||
WHERE session_id = toUInt64(%(session_id)s)
|
||||
AND project_id=%(project_id)s
|
||||
AND datetime >= toDateTime(%(res_start_ts)s / 1000)
|
||||
AND datetime <= toDateTime(%(res_end_ts)s / 1000);"""
|
||||
params = {"session_id": session_id, "project_id": project_id, "start_ts": start_ts, "duration": duration,
|
||||
"res_start_ts": start_ts - delta, "res_end_ts": start_ts + duration + delta, }
|
||||
rows = ch.execute(query=ch_query, params=params)
|
||||
|
|
|
|||
|
|
@ -66,4 +66,5 @@ EXP_ERRORS_SEARCH=false
|
|||
EXP_METRICS=false
|
||||
EXP_7D_MV=false
|
||||
EXP_ALERTS=false
|
||||
EXP_FUNNELS=false
|
||||
EXP_FUNNELS=false
|
||||
EXP_RESOURCES=true
|
||||
Loading…
Add table
Reference in a new issue