Skip to content

Adding logging enhancements in lf_webpage script - #76

Open
haricharan-candela wants to merge 5 commits into
masterfrom
webpage_update
Open

Adding logging enhancements in lf_webpage script#76
haricharan-candela wants to merge 5 commits into
masterfrom
webpage_update

Conversation

@haricharan-candela

@haricharan-candela haricharan-candela commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

Adds some initial logging checks to webpage script

Test logs:

python3 lf_webpage.py --mgr 192.168.207.78 --upstream_port eth1 --duration 10m --bands 5G --client_type Real --file_size 2MB
{'5G': {'dl_time': None, 'min': None, 'max': None, 'avg': None, 'bytes_rd': None, 'speed': None, 'url_times': None}}
2026-07-21 11:03:22,728 root INFO: Upstream port IP 192.168.13.57
2026-07-21 11:03:24,408 __main__ INFO: 1.30  1.30 android oppo
2026-07-21 11:03:24,409 __main__ INFO: 1.40  1.40 android vivo
2026-07-21 11:03:24,409 __main__ INFO: AVAILABLE DEVICES TO RUN TEST : ['1.30 android oppo', '1.40 android vivo']
Enter the desired resources to run the test:1.30,1.40
2026-07-21 11:03:37,599 __main__ INFO: Test is initiated on devices: ['1.30', '1.40']
2026-07-21 11:03:37,599 __main__ INFO: devices list 1.30,1.40 ['1.30', '1.40']
2026-07-21 11:03:37,599 __main__ INFO: resource eid list ['1.30.', '1.40.'] ['1.30.wlan0', '1.40.wlan0']
2026-07-21 11:03:37,599 __main__ INFO: INPUT DEVICES LIST ['1.30.wlan0', '1.40.wlan0']
2026-07-21 11:03:37,600 __main__ INFO: REAL CLIENT LIST: ['1.30 android oppo', '1.40 android vivo']
2026-07-21 11:03:37,600 __main__ INFO: MAC ID LIST: ['ea:c0:40:cb:f5:8a', 'be:5d:07:76:c8:81']
2026-07-21 11:03:37,787 paramiko.transport INFO: Connected (version 2.0, client OpenSSH_9.3)
2026-07-21 11:03:38,537 paramiko.transport INFO: Authentication (password) successful!
File creation done 2MB
2026-07-21 11:03:50,553 py-json.http_profile INFO: Cleaning up cxs and endpoints
2026-07-21 11:03:50,553 py-json.station_profile INFO: Cleaning up stations
2026-07-21 11:03:52,962 py-json.LANforge.LFUtils INFO: LFUtils: Waiting until 2 ports disappear...
2026-07-21 11:03:53,181 py-json.LANforge.LFUtils INFO: LFUtils::wait_until_ports_disappear:: Request returned None: [http://192.168.207.78:8080/port/1/1/http_sta0000,http_sta0001?fields=alias]
2026-07-21 11:03:53,181 py-json.LANforge.LFUtils INFO: LFUtils: Waiting until 2 ports disappear...
2026-07-21 11:03:53,368 py-json.LANforge.LFUtils INFO: LFUtils::wait_until_ports_disappear:: Request returned None: [http://192.168.207.78:8080/port/1/1/http_sta0000,http_sta0001?fields=alias]
precleanup done
2026-07-21 11:03:54,780 __main__ INFO: Upstream IP: 192.168.13.57
2026-07-21 11:03:55,246 py-json.http_profile INFO: Create HTTP CXs...py-json.http_profile
2026-07-21 11:03:55,440 py-json.http_profile INFO: HTTP url:dl http://192.168.13.57/webpage.html /dev/null
2026-07-21 11:03:56,472 py-json.http_profile INFO: HTTP url:dl http://192.168.13.57/webpage.html /dev/null
2026-07-21 11:03:58,848 __main__ INFO: Created 2 CX(s)
Test Build done
2026-07-21 11:03:59,282 __main__ INFO: cross connections found for all devices
2026-07-21 11:03:59,282 __main__ INFO: Test started on the devices : ['1.30.wlan0', '1.40.wlan0']
Test started at  2026 21 11:03:59
2026-07-21 11:03:59,282 py-json.http_profile INFO: Starting CXs...
2026-07-21 11:14:05,119 py-json.http_profile INFO: Stopping CXs...
2026-07-21 11:14:05,683 __main__ INFO: [925.58, 850.774] [200000000, 200000000] [2680796.5684, 2675511.2]
result {'5G': {'dl_time': [925.58, 850.774], 'min': [850.774], 'max': [925.58], 'avg': [888.177], 'bytes_rd': [200000000, 200000000], 'speed': [2680796.5684, 2675511.2], 'url_times': [100, 100]}}
Test Finished
Test ended at  2026 21 11:14:05
total test duration  0:10:06
2026-07-21 11:14:05,683 py-scripts.lf_report INFO: path set:
2026-07-21 11:14:05,684 py-scripts.lf_report INFO: path_date_time 2026-07-21-11-14-05_webpage_test
2026-07-21 11:14:05,706 py-scripts.lf_report INFO: report path : 2026-07-21-11-14-05_webpage_test
[100, 100]
['1.30 android oppo', '1.40 android vivo']
        Client names  Download
0  1.30 android oppo       100
1  1.40 android vivo       100
graph name Total-url_http.png
2026-07-21 11:14:05,882 py-scripts.lf_report INFO: csv_src_file: Total-url_http.csv
2026-07-21 11:14:05,882 py-scripts.lf_report INFO: csv_dst_file: 2026-07-21-11-14-05_webpage_test/Total-url_http.csv
2026-07-21 11:14:05,882 py-scripts.lf_report INFO: graph_src_file: Total-url_http.png
2026-07-21 11:14:05,882 py-scripts.lf_report INFO: graph_dst_file: 2026-07-21-11-14-05_webpage_test/Total-url_http.png
2026-07-21 11:14:05,883 __main__ INFO: [925.58, 850.774] ['1.30 android oppo', '1.40 android vivo']
        Client names  Download
0  1.30 android oppo   925.580
1  1.40 android vivo   850.774
graph name ucg-avg_http.png
2026-07-21 11:14:05,962 py-scripts.lf_report INFO: csv_src_file: ucg-avg_http.csv
2026-07-21 11:14:05,962 py-scripts.lf_report INFO: csv_dst_file: 2026-07-21-11-14-05_webpage_test/ucg-avg_http.csv
2026-07-21 11:14:05,962 py-scripts.lf_report INFO: graph_src_file: ucg-avg_http.png
2026-07-21 11:14:05,962 py-scripts.lf_report INFO: graph_dst_file: 2026-07-21-11-14-05_webpage_test/ucg-avg_http.png
kpi_path :2026-07-21-11-14-05_webpage_test
self.kpi_path 2026-07-21-11-14-05_webpage_test
self.kpi_filename kpi.csv
kpifile 2026-07-21-11-14-05_webpage_test/kpi.csv
2026-07-21 11:14:06,241 py-scripts.lf_report INFO: output file 2026-07-21-11-14-05_webpage_test/_2026-07-21-11-14-06-test_l3_longevity.csv
csv output file : 2026-07-21-11-14-05_webpage_test/_2026-07-21-11-14-06-test_l3_longevity.csv
2026-07-21 11:14:06,267 py-scripts.lf_report INFO: write_output_html: 2026-07-21-11-14-05_webpage_test/Webpage.html
returned file 2026-07-21-11-14-05_webpage_test/Webpage.html
2026-07-21-11-14-05_webpage_test/Webpage.html
2026-07-21 11:14:06,961 py-json.http_profile INFO: Cleaning up cxs and endpoints
2026-07-21 11:14:08,040 py-json.station_profile INFO: Cleaning up stations
2026-07-21 11:14:08,040 py-json.station_profile INFO: INFO: StationProfile cleanup, list is empty

Failure logs:

{'5G': {'dl_time': None, 'min': None, 'max': None, 'avg': None, 'bytes_rd': None, 'speed': None, 'url_times': None}}
2026-07-28 00:17:16,859 root INFO: Upstream port IP 192.168.9.15
2026-07-28 00:17:17,052 py-scripts.DeviceConfig WARNING: 1.1.00008030-001E592C1180A02E is in phantom state. Please make sure debugging is enabled in developer settings.
2026-07-28 00:17:17,052 py-scripts.DeviceConfig WARNING: 1.1.00008110-001155242680A01E is in phantom state. Please make sure debugging is enabled in developer settings.
2026-07-28 00:17:17,052 py-scripts.DeviceConfig WARNING: 1.1.51201XEKB4D7DE is in phantom state. Please make sure debugging is enabled in developer settings.
2026-07-28 00:17:17,052 py-scripts.DeviceConfig WARNING: 1.1.la is in phantom state. Please make sure debugging is enabled in developer settings.
2026-07-28 00:17:17,329 py-scripts.DeviceConfig INFO: The laptop on port 1.11 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.12 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.13 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.14 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.15 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.16 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.17 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.18 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.19 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.20 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.21 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.23 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.31 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.40 is in phantom state.
2026-07-28 00:17:17,704 py-scripts.DeviceConfig INFO: The laptop on port 1.95 is in phantom state.
2026-07-28 00:17:17,705 py-scripts.DeviceConfig INFO: The laptop on port 1.100 is in phantom state.
2026-07-28 00:17:17,705 py-scripts.DeviceConfig INFO: The laptop on port 1.110 is in phantom state.
2026-07-28 00:17:17,705 py-scripts.DeviceConfig INFO: The laptop on port 1.360 is in phantom state.
2026-07-28 00:17:17,705 py-scripts.DeviceConfig INFO: The laptop on port 1.400 is in phantom state.
2026-07-28 00:17:18,268 __main__ INFO: 1.10 1.10 android sms
2026-07-28 00:17:18,268 __main__ INFO: 1.50 1.50 Mac macoss-MacBook-Air.local
2026-07-28 00:17:18,268 __main__ INFO: 1.56 1.56 Lin ubuntu24
2026-07-28 00:17:18,268 __main__ INFO: Test is initiated on devices: ['1.50', '1.56', '1.10']
2026-07-28 00:17:18,268 __main__ INFO: devices list 1.50,1.56,1.10 ['1.50', '1.56', '1.10']
2026-07-28 00:17:18,268 __main__ INFO: resource eid list ['1.50.', '1.56.', '1.10.'] ['1.10.wlan0', '1.50.en0', '1.56.sta0000']
2026-07-28 00:17:18,268 __main__ INFO: INPUT DEVICES LIST ['1.50.en0', '1.56.sta0000', '1.10.wlan0']
2026-07-28 00:17:18,268 __main__ INFO: REAL CLIENT LIST: ['1.50 Mac macoss-MacBook-Air.local', '1.56 Lin ubuntu24', '1.10 android sms']
2026-07-28 00:17:18,268 __main__ INFO: MAC ID LIST: ['30:35:ad:c5:e1:be', '5c:5f:67:75:9f:86', '86:29:83:2a:fd:aa']
2026-07-28 00:17:18,451 paramiko.transport INFO: Connected (version 2.0, client OpenSSH_9.3)
2026-07-28 00:17:19,008 paramiko.transport INFO: Authentication (password) successful!
File creation done 5MB
2026-07-28 00:17:31,391 py-json.http_profile INFO: Cleaning up cxs and endpoints
2026-07-28 00:17:31,391 py-json.station_profile INFO: Cleaning up stations
2026-07-28 00:17:34,944 py-json.LANforge.LFUtils INFO: LFUtils: Waiting until 3 ports disappear...
2026-07-28 00:17:35,172 py-json.LANforge.LFUtils INFO: LFUtils::wait_until_ports_disappear:: Request returned None: [http://192.168.207.75:8080/port/1/1/http_sta0000,http_sta0001,http_sta0002?fields=alias]
2026-07-28 00:17:35,172 py-json.LANforge.LFUtils INFO: LFUtils: Waiting until 3 ports disappear...
2026-07-28 00:17:35,306 py-json.LANforge.LFUtils INFO: LFUtils::wait_until_ports_disappear:: Request returned None: [http://192.168.207.75:8080/port/1/1/http_sta0000,http_sta0001,http_sta0002?fields=alias]
precleanup done
2026-07-28 00:17:36,606 __main__ INFO: Upstream IP: 192.168.9.15
2026-07-28 00:17:37,015 py-json.http_profile INFO: Create HTTP CXs...py-json.http_profile
2026-07-28 00:17:37,236 py-json.http_profile INFO: HTTP url:dl http://192.168.9.15/webpage.html /dev/null
2026-07-28 00:17:38,085 py-json.http_profile INFO: HTTP url:dl http://192.168.9.15/webpage.html /dev/null
2026-07-28 00:17:39,020 py-json.http_profile INFO: HTTP url:dl http://192.168.9.15/webpage.html /dev/null
2026-07-28 00:17:41,893 __main__ INFO: Created 3 CX(s)
Test Build done
2026-07-28 00:17:42,460 __main__ INFO: cross connections found for all devices
2026-07-28 00:17:42,460 __main__ INFO: Test started on the devices : ['1.50.en0', '1.56.sta0000', '1.10.wlan0']
Test started at 2026 28 00:17:42
2026-07-28 00:17:42,461 py-json.http_profile INFO: Starting CXs...
2026-07-28 00:18:28,173 __main__ WARNING: CX 'sta0000_http56_l4' status changed: Run -> WAITING
2026-07-28 00:19:45,644 __main__ WARNING: CX 'sta0000_http56_l4' is missing from the monitoring data, the device may have disconnected or its connection was not created. Continuing the test with the remaining devices.
URL : layer4/en0_http50_l4,sta0000_http56_l4,wlan0_http10_l4/list?fields=uc-avg,uc-max,uc-min,total-urls,rx rate (1m),bytes-rd,total-err,status
Response keys: ['en0_http50_l4']
2026-07-28 00:19:45,644 __main__ WARNING: CX 'wlan0_http10_l4' is missing from the monitoring data, the device may have disconnected or its connection was not created. Continuing the test with the remaining devices.
URL : layer4/en0_http50_l4,sta0000_http56_l4,wlan0_http10_l4/list?fields=uc-avg,uc-max,uc-min,total-urls,rx rate (1m),bytes-rd,total-err,status
Response keys: ['en0_http50_l4']
Test is stopped by the user
2026-07-28 00:21:17,482 py-json.http_profile INFO: Stopping CXs...
2026-07-28 00:21:17,854 py-json.LANforge.LFRequest ERROR:
= = LANforge Error Messages = =
= = URL: http://192.168.207.75:8080/cli-json/set_cx_state
X-Error-00: unable to execute set_cx_state rv: 22 (22 Invalid argument)
X-Error-01: URL: /cli-json/set_cx_state
= = = = = = = = = = = = = = = =
2026-07-28 00:21:18,066 py-json.LANforge.LFRequest ERROR:
= = LANforge Error Messages = =
= = URL: http://192.168.207.75:8080/cli-json/set_cx_state
X-Error-00: unable to execute set_cx_state rv: 22 (22 Invalid argument)
X-Error-01: URL: /cli-json/set_cx_state
= = = = = = = = = = = = = = = =
2026-07-28 00:21:18,068 __main__ INFO: [0.0, 0.0, 1792.555] [0, 0, 92189376] [0, 0, 6932398.0588]
result {'5G': {'dl_time': [0.0, 0.0, 1792.555], 'min': [0.0], 'max': [1792.555], 'avg': [597.5183333333333], 'bytes_rd': [0, 0, 92189376], 'speed': [0, 0, 6932398.0588], 'url_times': [0, 0, 18]}}
Test Finished
Test ended at 2026 28 00:21:18
total test duration 0:03:36
2026-07-28 00:21:18,071 py-scripts.lf_report INFO: path set: /home/hari/scripts/interop-webGUI/results/utrrfgbn
2026-07-28 00:21:18,071 py-scripts.lf_report INFO: path_date_time /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test
2026-07-28 00:21:18,072 py-scripts.lf_report INFO: report path : /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test
[0, 0, 18]
['1.50 Mac macoss-MacBook-Air.local', '1.56 Lin ubuntu24', '1.10 android sms']
Client names Download
0 1.50 Mac macoss-MacBook-Air.local 0
1 1.56 Lin ubuntu24 0
2 1.10 android sms 18
graph name Total-url_http.png
2026-07-28 00:21:18,265 py-scripts.lf_report INFO: csv_src_file: Total-url_http.csv
2026-07-28 00:21:18,266 py-scripts.lf_report INFO: csv_dst_file: /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test/Total-url_http.csv
2026-07-28 00:21:18,266 py-scripts.lf_report INFO: graph_src_file: Total-url_http.png
2026-07-28 00:21:18,266 py-scripts.lf_report INFO: graph_dst_file: /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test/Total-url_http.png
2026-07-28 00:21:18,266 __main__ INFO: [0.0, 0.0, 1792.555] ['1.50 Mac macoss-MacBook-Air.local', '1.56 Lin ubuntu24', '1.10 android sms']
Client names Download
0 1.50 Mac macoss-MacBook-Air.local 0.000
1 1.56 Lin ubuntu24 0.000
2 1.10 android sms 1792.555
graph name ucg-avg_http.png
2026-07-28 00:21:18,356 py-scripts.lf_report INFO: csv_src_file: ucg-avg_http.csv
2026-07-28 00:21:18,356 py-scripts.lf_report INFO: csv_dst_file: /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test/ucg-avg_http.csv
2026-07-28 00:21:18,356 py-scripts.lf_report INFO: graph_src_file: ucg-avg_http.png
2026-07-28 00:21:18,356 py-scripts.lf_report INFO: graph_dst_file: /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test/ucg-avg_http.png
kpi_path :/home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test
self.kpi_path /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test
self.kpi_filename kpi.csv
kpifile /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test/kpi.csv
2026-07-28 00:21:18,632 py-scripts.lf_report INFO: output file /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test/_2026-07-28-00-21-18-test_l3_longevity.csv
csv output file : /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test/_2026-07-28-00-21-18-test_l3_longevity.csv
2026-07-28 00:21:18,643 py-scripts.lf_report INFO: write_output_html: /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test/Webpage.html
returned file /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test/Webpage.html
/home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test/Webpage.html
2026-07-28 00:21:19,331 __main__ INFO: Monitoring Duration: 3m 31s
2026-07-28 00:21:19,331 py-json.http_profile INFO: Cleaning up cxs and endpoints
2026-07-28 00:21:20,132 py-json.LANforge.LFRequest ERROR:
= = LANforge Error Messages = =
= = URL: http://192.168.207.75:8080/cli-json/rm_cx
X-Error-00: unable to execute rm_cx rv: 22 (22 Invalid argument)
X-Error-01: URL: /cli-json/rm_cx
= = = = = = = = = = = = = = = =
2026-07-28 00:21:20,319 py-json.LANforge.LFRequest ERROR:
= = LANforge Error Messages = =
= = URL: http://192.168.207.75:8080/cli-json/rm_endp
X-Error-00: unable to execute rm_endp rv: 22 (22 Invalid argument)
X-Error-01: URL: /cli-json/rm_endp
= = = = = = = = = = = = = = = =
2026-07-28 00:21:20,508 py-json.LANforge.LFRequest ERROR:
= = LANforge Error Messages = =
= = URL: http://192.168.207.75:8080/cli-json/rm_cx
X-Error-00: unable to execute rm_cx rv: 22 (22 Invalid argument)
X-Error-01: URL: /cli-json/rm_cx
= = = = = = = = = = = = = = = =
2026-07-28 00:21:20,696 py-json.LANforge.LFRequest ERROR:
= = LANforge Error Messages = =
= = URL: http://192.168.207.75:8080/cli-json/rm_endp
X-Error-00: unable to execute rm_endp rv: 22 (22 Invalid argument)
X-Error-01: URL: /cli-json/rm_endp
= = = = = = = = = = = = = = = =
2026-07-28 00:21:20,697 py-json.station_profile INFO: Cleaning up stations
2026-07-28 00:21:20,697 py-json.station_profile INFO: INFO: StationProfile cleanup, list is empty
2026-07-28 00:21:20,713 __main__ INFO: successfully ran the http test

@haricharan-candela haricharan-candela added the Hold Holds until further added changes for review label Jul 21, 2026
@haricharan-candela haricharan-candela changed the title Webpage update Updates logging in lf_webpage script Jul 21, 2026
@haricharan-candela haricharan-candela changed the title Updates logging in lf_webpage script Update logging in lf_webpage script Jul 21, 2026
@haricharan-candela haricharan-candela changed the title Update logging in lf_webpage script Adding logging enhancements in lf_webpage script Jul 23, 2026
@haricharan-candela haricharan-candela added review_ready Ready for review and tested locally and removed Hold Holds until further added changes for review labels Jul 23, 2026
VERIFIED CLI: python3 lf_webpage.py --mgr 192.168.207.75 --upstream_port eth1 --duration 10m --bands 5G --client_type Real --file_size 2MB

Signed-off-by: haricharan-candela <haricharan.jaka@candelatech.com>
VERIFIED CLI: python3 lf_webpage.py --mgr 192.168.207.78 --upstream_port eth1 --duration 1m --bands 5G --client_type Real --file_size 2MB

Signed-off-by: haricharan-candela <haricharan.jaka@candelatech.com>
VERIFIED CLI: python3 lf_webpage.py --mgr 192.168.207.78 --upstream_port eth1 --duration 1m --bands 5G --client_type Real --file_size 2MB

Signed-off-by: haricharan-candela <haricharan.jaka@candelatech.com>
…ive docs strings

VERIFIED CLI: python3 lf_interop_utils.py --mgr 192.168.200.165 --get_l4_fields

Signed-off-by: haricharan-candela <haricharan.jaka@candelatech.com>
Signed-off-by: haricharan-candela <haricharan.jaka@candelatech.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review_ready Ready for review and tested locally

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant