ttnn-visualizer 0.30.0__py3-none-any.whl → 0.32.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ttnn_visualizer/static/assets/{allPaths-BFtaymsj.js → allPaths-TGeU-aFf.js} +1 -1
- ttnn_visualizer/static/assets/{allPathsLoader-krdfUMe8.js → allPathsLoader-DHpmOXMr.js} +2 -2
- ttnn_visualizer/static/assets/{index-Bq0nVwFb.css → index-B5KR7Fm2.css} +2 -2
- ttnn_visualizer/static/assets/{index-BsP_KNDi.js → index-CKGckWFA.js} +226 -226
- ttnn_visualizer/static/assets/{splitPathsBySizeLoader-Exj9Tfv3.js → splitPathsBySizeLoader-BpjnZ0MM.js} +1 -1
- ttnn_visualizer/static/index.html +2 -2
- ttnn_visualizer/views.py +40 -40
- {ttnn_visualizer-0.30.0.dist-info → ttnn_visualizer-0.32.0.dist-info}/METADATA +1 -1
- {ttnn_visualizer-0.30.0.dist-info → ttnn_visualizer-0.32.0.dist-info}/RECORD +14 -14
- {ttnn_visualizer-0.30.0.dist-info → ttnn_visualizer-0.32.0.dist-info}/LICENSE +0 -0
- {ttnn_visualizer-0.30.0.dist-info → ttnn_visualizer-0.32.0.dist-info}/LICENSE_understanding.txt +0 -0
- {ttnn_visualizer-0.30.0.dist-info → ttnn_visualizer-0.32.0.dist-info}/WHEEL +0 -0
- {ttnn_visualizer-0.30.0.dist-info → ttnn_visualizer-0.32.0.dist-info}/entry_points.txt +0 -0
- {ttnn_visualizer-0.30.0.dist-info → ttnn_visualizer-0.32.0.dist-info}/top_level.txt +0 -0
@@ -1 +1 @@
|
|
1
|
-
import{_ as o,a as _,b as i,p as c,I as u}from"./index-
|
1
|
+
import{_ as o,a as _,b as i,p as c,I as u}from"./index-CKGckWFA.js";var p=function(n,s){return o(void 0,void 0,void 0,function(){var a,r;return _(this,function(e){switch(e.label){case 0:return a=c(n),s!==u.STANDARD?[3,2]:[4,i(()=>import("./index-BVMreIQm.js").then(t=>t.I),[])];case 1:return r=e.sent(),[3,4];case 2:return[4,i(()=>import("./index-Do7YB6C4.js").then(t=>t.I),[])];case 3:r=e.sent(),e.label=4;case 4:return[2,r[a]]}})})};export{p as splitPathsBySizeLoader};
|
@@ -27,8 +27,8 @@
|
|
27
27
|
name="theme-color"
|
28
28
|
content="#33333d"
|
29
29
|
/>
|
30
|
-
<script type="module" crossorigin src="/assets/index-
|
31
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
30
|
+
<script type="module" crossorigin src="/assets/index-CKGckWFA.js"></script>
|
31
|
+
<link rel="stylesheet" crossorigin href="/assets/index-B5KR7Fm2.css">
|
32
32
|
</head>
|
33
33
|
<body>
|
34
34
|
<div id="root"></div>
|
ttnn_visualizer/views.py
CHANGED
@@ -436,6 +436,45 @@ def delete_profiler_report(profiler_name, session: Instance):
|
|
436
436
|
return Response(status=HTTPStatus.NO_CONTENT, response=f"Report deleted successfully: {path}")
|
437
437
|
|
438
438
|
|
439
|
+
|
440
|
+
@api.route("/performance", methods=["GET"])
|
441
|
+
@with_session
|
442
|
+
def get_performance_data_list(session: Instance):
|
443
|
+
is_remote = True if session.remote_connection else False
|
444
|
+
config_key = "REMOTE_DATA_DIRECTORY" if is_remote else "LOCAL_DATA_DIRECTORY"
|
445
|
+
config_key = 'LOCAL_DATA_DIRECTORY'
|
446
|
+
data_directory = Path(current_app.config[config_key])
|
447
|
+
|
448
|
+
if is_remote:
|
449
|
+
connection = RemoteConnection.model_validate(session.remote_connection, strict=False)
|
450
|
+
path = data_directory / connection.host / current_app.config["PERFORMANCE_DIRECTORY_NAME"]
|
451
|
+
else:
|
452
|
+
path = data_directory / current_app.config["PERFORMANCE_DIRECTORY_NAME"]
|
453
|
+
|
454
|
+
if not path.exists():
|
455
|
+
path.mkdir(parents=True, exist_ok=True)
|
456
|
+
|
457
|
+
directory_names = [directory.name for directory in path.iterdir() if directory.is_dir()]
|
458
|
+
|
459
|
+
valid_dirs = []
|
460
|
+
|
461
|
+
for dir_name in directory_names:
|
462
|
+
dir_path = Path(path) / dir_name
|
463
|
+
files = list(dir_path.glob("**/*"))
|
464
|
+
|
465
|
+
# Would like to use the existing validate_files function but there's a type difference I'm not sure how to handle
|
466
|
+
if not any(file.name == "profile_log_device.csv" for file in files):
|
467
|
+
continue
|
468
|
+
if not any(file.name == "tracy_profile_log_host.tracy" for file in files):
|
469
|
+
continue
|
470
|
+
if not any(file.name.startswith("ops_perf_results") for file in files):
|
471
|
+
continue
|
472
|
+
|
473
|
+
valid_dirs.append(dir_name)
|
474
|
+
|
475
|
+
return jsonify(valid_dirs)
|
476
|
+
|
477
|
+
|
439
478
|
@api.route("/performance/device-log", methods=["GET"])
|
440
479
|
@with_session
|
441
480
|
def get_performance_data(session: Instance):
|
@@ -485,45 +524,6 @@ def delete_performance_report(performance_name, session: Instance):
|
|
485
524
|
return Response(status=HTTPStatus.NO_CONTENT, response=f"Report deleted successfully: {path}")
|
486
525
|
|
487
526
|
|
488
|
-
@api.route("/performance", methods=["GET"])
|
489
|
-
@with_session
|
490
|
-
def get_performance_data_list(session: Instance):
|
491
|
-
# Doesn't handle remote at the moment
|
492
|
-
# is_remote = True if session.remote_connection else False
|
493
|
-
# config_key = "REMOTE_DATA_DIRECTORY" if is_remote else "LOCAL_DATA_DIRECTORY"
|
494
|
-
config_key = 'LOCAL_DATA_DIRECTORY'
|
495
|
-
data_directory = Path(current_app.config[config_key])
|
496
|
-
|
497
|
-
# if is_remote:
|
498
|
-
# connection = RemoteConnection.model_validate(session.remote_connection, strict=False)
|
499
|
-
# path = data_directory / connection.host / current_app.config["PERFORMANCE_DIRECTORY_NAME"]
|
500
|
-
# else:
|
501
|
-
path = data_directory / current_app.config["PERFORMANCE_DIRECTORY_NAME"]
|
502
|
-
|
503
|
-
if not path.exists():
|
504
|
-
path.mkdir(parents=True, exist_ok=True)
|
505
|
-
|
506
|
-
directory_names = [directory.name for directory in path.iterdir() if directory.is_dir()]
|
507
|
-
|
508
|
-
valid_dirs = []
|
509
|
-
|
510
|
-
for dir_name in directory_names:
|
511
|
-
dir_path = Path(path) / dir_name
|
512
|
-
files = list(dir_path.glob("**/*"))
|
513
|
-
|
514
|
-
# Would like to use the existing validate_files function but there's a type difference I'm not sure how to handle
|
515
|
-
if not any(file.name == "profile_log_device.csv" for file in files):
|
516
|
-
continue
|
517
|
-
if not any(file.name == "tracy_profile_log_host.tracy" for file in files):
|
518
|
-
continue
|
519
|
-
if not any(file.name.startswith("ops_perf_results") for file in files):
|
520
|
-
continue
|
521
|
-
|
522
|
-
valid_dirs.append(dir_name)
|
523
|
-
|
524
|
-
return jsonify(valid_dirs)
|
525
|
-
|
526
|
-
|
527
527
|
@api.route("/performance/perf-results/raw", methods=["GET"])
|
528
528
|
@with_session
|
529
529
|
def get_performance_results_data_raw(session: Instance):
|
@@ -804,7 +804,7 @@ def test_remote_folder():
|
|
804
804
|
if not has_failures():
|
805
805
|
try:
|
806
806
|
check_remote_path_exists(connection, "profilerPath")
|
807
|
-
add_status(ConnectionTestStates.OK.value, "
|
807
|
+
add_status(ConnectionTestStates.OK.value, "Memory folder path exists")
|
808
808
|
except RemoteConnectionException as e:
|
809
809
|
add_status(ConnectionTestStates.FAILED.value, e.message)
|
810
810
|
|
@@ -17,18 +17,18 @@ ttnn_visualizer/sftp_operations.py,sha256=0uCxIx8yNAMTa2TB_hH7Q39qFABXfnFjNKYE_e
|
|
17
17
|
ttnn_visualizer/sockets.py,sha256=o0oTG26LCjTJL8ajHR28ZBp9Z8RfWDehaS8Orns1HoQ,3624
|
18
18
|
ttnn_visualizer/ssh_client.py,sha256=KRLuIk6wxrZZQUQKfC8QWMhXGJQvfKKeyxLThgRX6ak,2679
|
19
19
|
ttnn_visualizer/utils.py,sha256=_cAeR2wZylyGXaGAI6Z15n110i_rJmtFNBtHfsm_JXc,6186
|
20
|
-
ttnn_visualizer/views.py,sha256=
|
20
|
+
ttnn_visualizer/views.py,sha256=uKUIEwWWZnEaACvU6A0bBhxX8fxf9wSFW47X-v6nqsw,36177
|
21
21
|
ttnn_visualizer/bin/docker-entrypoint-web,sha256=uuv6aubpMCfOcuvDBxwBDITE8PN39teuwyJ2zA5KWuw,413
|
22
22
|
ttnn_visualizer/bin/pip3-install,sha256=nbSRT4GfJQIQ9KTNO3j-6b5WM4lrx9XA4GBlAURRMws,502
|
23
|
-
ttnn_visualizer/static/index.html,sha256=
|
24
|
-
ttnn_visualizer/static/assets/allPaths-
|
25
|
-
ttnn_visualizer/static/assets/allPathsLoader-
|
23
|
+
ttnn_visualizer/static/index.html,sha256=BFp1fCJtdzcbwXw9dTKZMyBawMRpiJKGTVE-ZH4ucMI,923
|
24
|
+
ttnn_visualizer/static/assets/allPaths-TGeU-aFf.js,sha256=2pMGs_GfgnsUBCGI42MDluxyNOzCxLaDI3F_cXNXDzI,309
|
25
|
+
ttnn_visualizer/static/assets/allPathsLoader-DHpmOXMr.js,sha256=71j0L2k395uxySgfBXQfEHRdCNToPCbOcd1RspE2-Lk,550
|
26
|
+
ttnn_visualizer/static/assets/index-B5KR7Fm2.css,sha256=5exW4At_DJhp7shItnMNim2YFLlzr0HLDEMFfAMfsvA,619623
|
26
27
|
ttnn_visualizer/static/assets/index-BVMreIQm.js,sha256=QJTBb4VVCMoLPYsWdru3heJX1VtMJQYJGx-tq8gZNTw,280965
|
27
|
-
ttnn_visualizer/static/assets/index-
|
28
|
-
ttnn_visualizer/static/assets/index-BsP_KNDi.js,sha256=CEZo8LJ9NlA7FV6Xi4-S_-TMgiYmwM7ONeiKBba3jfg,6993313
|
28
|
+
ttnn_visualizer/static/assets/index-CKGckWFA.js,sha256=Rc2lnMUKPxqEJiUtbnPWUvBSjQa3d2dExe9d0sj93nA,7001034
|
29
29
|
ttnn_visualizer/static/assets/index-Do7YB6C4.js,sha256=10jCIy7zph8mPB2htGfhXJBV7LO2FFrGhfz7xoQyh00,289378
|
30
30
|
ttnn_visualizer/static/assets/site-BTBrvHC5.webmanifest,sha256=Uy_XmnGuYFVf-OZuma2NvgEPdrCrevb3HZvaxSIHoA0,456
|
31
|
-
ttnn_visualizer/static/assets/splitPathsBySizeLoader-
|
31
|
+
ttnn_visualizer/static/assets/splitPathsBySizeLoader-BpjnZ0MM.js,sha256=7cV_CjjN_N92uNfyMCnrGvteb_Gmcw4UnTSWiy9evqk,472
|
32
32
|
ttnn_visualizer/static/favicon/android-chrome-192x192.png,sha256=BZWA09Zxaa3fXbaeS6nhWo2e-DUSjm9ElzNQ_xTB5XU,6220
|
33
33
|
ttnn_visualizer/static/favicon/android-chrome-512x512.png,sha256=HBiJSZyguB3o8fMJuqIGcpeBy_9JOdImme3wD02UYCw,62626
|
34
34
|
ttnn_visualizer/static/favicon/favicon-32x32.png,sha256=Zw201qUsczQv1UvoQvJf5smQ2ss10xaTeWxmQNYCGtY,480
|
@@ -37,10 +37,10 @@ ttnn_visualizer/static/sample-data/cluster-desc.yaml,sha256=LMxOmsRUXtVVU5ogzYkX
|
|
37
37
|
ttnn_visualizer/tests/__init__.py,sha256=qn9AwfHTxYYK0Icz-q2Q41Xo9ET6oc6anZzgh02PhK4,94
|
38
38
|
ttnn_visualizer/tests/test_queries.py,sha256=h3Yhq_JyiUpbZUNSoTZvOpucJ9WU4nQMMHLeihxa694,16568
|
39
39
|
ttnn_visualizer/tests/test_serializers.py,sha256=966AJkXLAwzsceSQ9QR-Sy7VrEbE71AtfMF3y9ZIIWc,18490
|
40
|
-
ttnn_visualizer-0.
|
41
|
-
ttnn_visualizer-0.
|
42
|
-
ttnn_visualizer-0.
|
43
|
-
ttnn_visualizer-0.
|
44
|
-
ttnn_visualizer-0.
|
45
|
-
ttnn_visualizer-0.
|
46
|
-
ttnn_visualizer-0.
|
40
|
+
ttnn_visualizer-0.32.0.dist-info/LICENSE,sha256=7_uV4foXIbLyroI1M6NdIySajtLuPwayZr1UN2ItErI,11353
|
41
|
+
ttnn_visualizer-0.32.0.dist-info/LICENSE_understanding.txt,sha256=pymi-yb_RvYM9p2ZA4iSNsImcvhDBBxlGuJCY9dTq7M,233
|
42
|
+
ttnn_visualizer-0.32.0.dist-info/METADATA,sha256=sHWjBSGzHl6c5JYrWzr1S2o2fvNlG3IDfusl9HDiVpg,7332
|
43
|
+
ttnn_visualizer-0.32.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
44
|
+
ttnn_visualizer-0.32.0.dist-info/entry_points.txt,sha256=QpuUpkmQ_mEHJTMqOBdU0MH2Z4WF_9iFsGACeyyAO1E,61
|
45
|
+
ttnn_visualizer-0.32.0.dist-info/top_level.txt,sha256=M1EGkvDOuIfbhDbcUdz2-TSdmCtDoQ2Uyag9k5JLDSY,16
|
46
|
+
ttnn_visualizer-0.32.0.dist-info/RECORD,,
|
File without changes
|
{ttnn_visualizer-0.30.0.dist-info → ttnn_visualizer-0.32.0.dist-info}/LICENSE_understanding.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|