Loading notebook.ipynb +5 −5 Original line number Original line Diff line number Diff line %% Cell type:markdown id: tags: %% Cell type:markdown id: tags: # X-Lap in Action # X-Lap in Action %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python %matplotlib inline %matplotlib inline ``` ``` %% Cell type:markdown id: tags: %% Cell type:markdown id: tags: ## Data Retrieval ## Data Retrieval %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python from xlap.parse import evaluate, parse_config from xlap.parse import evaluate, parse_config config = parse_config() config = parse_config() data_files = { data_files = { "sender": "rtn2018/20180417_testbed/", "sender": "rtn2018/20180417_testbed/", "receiver": "rtn2018/20180417_testbed/" "receiver": "rtn2018/20180417_testbed/" } } df_1GHz = evaluate(data_files["sender"] + "sender-1000000.csv", data_files["receiver"] + "receiver-1000000.csv", config=config, kind=0) df_1GHz = evaluate(data_files["sender"] + "sender-1000000.csv", data_files["receiver"] + "receiver-1000000.csv", config=config, kind=0) df_1GHz.name = "1GHz" df_1GHz.name = "1GHz" df_2GHz = evaluate(data_files["sender"] + "sender-2000000.csv", data_files["receiver"] + "receiver-2000000.csv", config=config, kind=0) df_2GHz = evaluate(data_files["sender"] + "sender-2000000.csv", data_files["receiver"] + "receiver-2000000.csv", config=config, kind=0) df_2GHz.name = "2GHz" df_2GHz.name = "2GHz" df_3GHz = evaluate(data_files["sender"] + "sender-3000000.csv", data_files["receiver"] + "receiver-3000000.csv", config=config, kind=0) df_3GHz = evaluate(data_files["sender"] + "sender-3000000.csv", data_files["receiver"] + "receiver-3000000.csv", config=config, kind=0) df_3GHz.name = "3GHz" df_3GHz.name = "3GHz" dfs = [df_1GHz, df_2GHz, df_3GHz] dfs = [df_1GHz, df_2GHz, df_3GHz] ``` ``` %% Cell type:markdown id: tags: %% Cell type:markdown id: tags: ## Traces ## Individual Packet Traces %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python from xlap.analyse.trace import traces from xlap.analyse.trace import traces traces(df_1GHz, config, global_xaxis=True) traces(df_1GHz, config, global_xaxis=True) ``` ``` %% Cell type:markdown id: tags: %% Cell type:markdown id: tags: ## Jitter Analysis ## Trace Jitter Analysis %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python from xlap.analyse.jitter import multi_trace_jitter from xlap.analyse.jitter import multi_trace_jitter multi_trace_jitter(dfs, config) multi_trace_jitter(dfs, config) ``` ``` %% Cell type:markdown id: tags: %% Cell type:markdown id: tags: ## CDFs ## Latency Distributions %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python from xlap.analyse.cdf import multi_cdf from xlap.analyse.cdf import multi_cdf from xlap.analyse.util import colors from xlap.analyse.util import colors import copy import copy cfg = copy.deepcopy(config) cfg = copy.deepcopy(config) list(map(cfg["durations"].pop, ("Decoding", list(map(cfg["durations"].pop, ("Decoding", "ReceiverIPC", "ReceiverIPC", "HandlePacket", "HandlePacket", "Feedback", "Feedback", "SenderIPC", "SenderIPC", "SenderEnqueued", "SenderEnqueued", "Enqueue"))) "Enqueue"))) multi_cdf(dfs, cfg, colors=colors) multi_cdf(dfs, cfg, colors=colors) ``` ``` %% Cell type:markdown id: tags: %% Cell type:markdown id: tags: ## Correlation ## Correlation with E2E Latency %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python from xlap.analyse.correlation import multi_correlation from xlap.analyse.correlation import multi_correlation multi_correlation(dfs, config, colors=colors, figsize=(3.0,2.0), cols=4) multi_correlation(dfs, config, colors=colors, figsize=(3.0,2.0), cols=4) ``` ``` %% Cell type:markdown id: tags: %% Cell type:markdown id: tags: ## Latency Criticality ## Latency Criticality %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python from xlap.analyse.latency import analyse from xlap.analyse.latency import analyse d = analyse(df_1GHz, config) d = analyse(df_1GHz, config) ``` ``` %% Cell type:markdown id: tags: %% Cell type:markdown id: tags: ### Correlations ### Correlations %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python d.corr.sort_values(ascending=False) d.corr.sort_values(ascending=False) ``` ``` %% Cell type:markdown id: tags: %% Cell type:markdown id: tags: ### Control Flow Graph ### Control Flow Graph %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python d.cfg d.cfg ``` ``` %% Cell type:markdown id: tags: %% Cell type:markdown id: tags: # Kolmogorov ## Timing Behaviour %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python from xlap.analyse.timing import timing_behaviour from xlap.analyse.timing import timing_behaviour timing_behaviour(df_1GHz, df_2GHz, config) timing_behaviour(df_1GHz, df_2GHz, config) ``` ``` %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python timing_behaviour(df_1GHz, df_3GHz, config) timing_behaviour(df_1GHz, df_3GHz, config) ``` ``` %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python timing_behaviour(df_2GHz, df_3GHz, config) timing_behaviour(df_2GHz, df_3GHz, config) ``` ``` Loading
notebook.ipynb +5 −5 Original line number Original line Diff line number Diff line %% Cell type:markdown id: tags: %% Cell type:markdown id: tags: # X-Lap in Action # X-Lap in Action %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python %matplotlib inline %matplotlib inline ``` ``` %% Cell type:markdown id: tags: %% Cell type:markdown id: tags: ## Data Retrieval ## Data Retrieval %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python from xlap.parse import evaluate, parse_config from xlap.parse import evaluate, parse_config config = parse_config() config = parse_config() data_files = { data_files = { "sender": "rtn2018/20180417_testbed/", "sender": "rtn2018/20180417_testbed/", "receiver": "rtn2018/20180417_testbed/" "receiver": "rtn2018/20180417_testbed/" } } df_1GHz = evaluate(data_files["sender"] + "sender-1000000.csv", data_files["receiver"] + "receiver-1000000.csv", config=config, kind=0) df_1GHz = evaluate(data_files["sender"] + "sender-1000000.csv", data_files["receiver"] + "receiver-1000000.csv", config=config, kind=0) df_1GHz.name = "1GHz" df_1GHz.name = "1GHz" df_2GHz = evaluate(data_files["sender"] + "sender-2000000.csv", data_files["receiver"] + "receiver-2000000.csv", config=config, kind=0) df_2GHz = evaluate(data_files["sender"] + "sender-2000000.csv", data_files["receiver"] + "receiver-2000000.csv", config=config, kind=0) df_2GHz.name = "2GHz" df_2GHz.name = "2GHz" df_3GHz = evaluate(data_files["sender"] + "sender-3000000.csv", data_files["receiver"] + "receiver-3000000.csv", config=config, kind=0) df_3GHz = evaluate(data_files["sender"] + "sender-3000000.csv", data_files["receiver"] + "receiver-3000000.csv", config=config, kind=0) df_3GHz.name = "3GHz" df_3GHz.name = "3GHz" dfs = [df_1GHz, df_2GHz, df_3GHz] dfs = [df_1GHz, df_2GHz, df_3GHz] ``` ``` %% Cell type:markdown id: tags: %% Cell type:markdown id: tags: ## Traces ## Individual Packet Traces %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python from xlap.analyse.trace import traces from xlap.analyse.trace import traces traces(df_1GHz, config, global_xaxis=True) traces(df_1GHz, config, global_xaxis=True) ``` ``` %% Cell type:markdown id: tags: %% Cell type:markdown id: tags: ## Jitter Analysis ## Trace Jitter Analysis %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python from xlap.analyse.jitter import multi_trace_jitter from xlap.analyse.jitter import multi_trace_jitter multi_trace_jitter(dfs, config) multi_trace_jitter(dfs, config) ``` ``` %% Cell type:markdown id: tags: %% Cell type:markdown id: tags: ## CDFs ## Latency Distributions %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python from xlap.analyse.cdf import multi_cdf from xlap.analyse.cdf import multi_cdf from xlap.analyse.util import colors from xlap.analyse.util import colors import copy import copy cfg = copy.deepcopy(config) cfg = copy.deepcopy(config) list(map(cfg["durations"].pop, ("Decoding", list(map(cfg["durations"].pop, ("Decoding", "ReceiverIPC", "ReceiverIPC", "HandlePacket", "HandlePacket", "Feedback", "Feedback", "SenderIPC", "SenderIPC", "SenderEnqueued", "SenderEnqueued", "Enqueue"))) "Enqueue"))) multi_cdf(dfs, cfg, colors=colors) multi_cdf(dfs, cfg, colors=colors) ``` ``` %% Cell type:markdown id: tags: %% Cell type:markdown id: tags: ## Correlation ## Correlation with E2E Latency %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python from xlap.analyse.correlation import multi_correlation from xlap.analyse.correlation import multi_correlation multi_correlation(dfs, config, colors=colors, figsize=(3.0,2.0), cols=4) multi_correlation(dfs, config, colors=colors, figsize=(3.0,2.0), cols=4) ``` ``` %% Cell type:markdown id: tags: %% Cell type:markdown id: tags: ## Latency Criticality ## Latency Criticality %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python from xlap.analyse.latency import analyse from xlap.analyse.latency import analyse d = analyse(df_1GHz, config) d = analyse(df_1GHz, config) ``` ``` %% Cell type:markdown id: tags: %% Cell type:markdown id: tags: ### Correlations ### Correlations %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python d.corr.sort_values(ascending=False) d.corr.sort_values(ascending=False) ``` ``` %% Cell type:markdown id: tags: %% Cell type:markdown id: tags: ### Control Flow Graph ### Control Flow Graph %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python d.cfg d.cfg ``` ``` %% Cell type:markdown id: tags: %% Cell type:markdown id: tags: # Kolmogorov ## Timing Behaviour %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python from xlap.analyse.timing import timing_behaviour from xlap.analyse.timing import timing_behaviour timing_behaviour(df_1GHz, df_2GHz, config) timing_behaviour(df_1GHz, df_2GHz, config) ``` ``` %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python timing_behaviour(df_1GHz, df_3GHz, config) timing_behaviour(df_1GHz, df_3GHz, config) ``` ``` %% Cell type:code id: tags: %% Cell type:code id: tags: ``` python ``` python timing_behaviour(df_2GHz, df_3GHz, config) timing_behaviour(df_2GHz, df_3GHz, config) ``` ```