salome.kernel 9.14.0__cp37-cp37m-manylinux2014_x86_64.manylinux_2_17_x86_64.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.
Potentially problematic release.
This version of salome.kernel might be problematic. Click here for more details.
- salome/bin/salome/IDLparser.py +882 -0
- salome/bin/salome/KernelHelpersUseCases +0 -0
- salome/bin/salome/NSparam.py +51 -0
- salome/bin/salome/ORBConfigFile.py +55 -0
- salome/bin/salome/SALOMEDS_Client +0 -0
- salome/bin/salome/SALOMEDS_Server +0 -0
- salome/bin/salome/SALOME_ConnectionManagerServer +0 -0
- salome/bin/salome/SALOME_Container +0 -0
- salome/bin/salome/SALOME_ContainerPy.py +397 -0
- salome/bin/salome/SALOME_Container_No_NS_Serv +0 -0
- salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess +0 -0
- salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_FT +0 -0
- salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_Replay +0 -0
- salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_Replay_FT +0 -0
- salome/bin/salome/SALOME_DataScopeServer +0 -0
- salome/bin/salome/SALOME_DataScopeServer_SSL +0 -0
- salome/bin/salome/SALOME_LauncherServer +0 -0
- salome/bin/salome/SALOME_Logger_Server +0 -0
- salome/bin/salome/SALOME_ModuleCatalog_Client +0 -0
- salome/bin/salome/SALOME_ModuleCatalog_Server +0 -0
- salome/bin/salome/SALOME_Registry_Server +0 -0
- salome/bin/salome/TestComponentPy.py +71 -0
- salome/bin/salome/TestContainer +0 -0
- salome/bin/salome/TestContainerManager +0 -0
- salome/bin/salome/TestLauncher +0 -0
- salome/bin/salome/TestLifeCycleCORBA.py +89 -0
- salome/bin/salome/TestLogger +0 -0
- salome/bin/salome/TestLogger.py +27 -0
- salome/bin/salome/TestModuleCatalog.py +87 -0
- salome/bin/salome/Test_LifeCycleCORBA +0 -0
- salome/bin/salome/VERSION +3 -0
- salome/bin/salome/addToKillList.py +35 -0
- salome/bin/salome/app-quickstart.py +288 -0
- salome/bin/salome/appli/.bashrc +50 -0
- salome/bin/salome/appli/extra.env.d/001.py +39 -0
- salome/bin/salome/appli/python_test_driver.py +148 -0
- salome/bin/salome/appli/salome +193 -0
- salome/bin/salome/appli/salome_instance.py +31 -0
- salome/bin/salome/appli/salome_test_driver.py +150 -0
- salome/bin/salome/appli/salome_test_driver_gui.py +82 -0
- salome/bin/salome/appli_clean.sh +53 -0
- salome/bin/salome/appli_gen.py +606 -0
- salome/bin/salome/dummyexe_loggerTraceCollector +0 -0
- salome/bin/salome/envSalome.py +59 -0
- salome/bin/salome/killSalome.py +48 -0
- salome/bin/salome/killSalomeWithPort.py +56 -0
- salome/bin/salome/prepare_generating_doc.py +104 -0
- salome/bin/salome/pythonpath_reduction.py +184 -0
- salome/bin/salome/runConsole.py +39 -0
- salome/bin/salome/runIDLparser +58 -0
- salome/bin/salome/runRemote.py +101 -0
- salome/bin/salome/runSalome.py +30 -0
- salome/bin/salome/runSalomeNoServer.py +24 -0
- salome/bin/salome/runSalomeOld.py +36 -0
- salome/bin/salome/runSalomeOnDemand.py +41 -0
- salome/bin/salome/salomeContext.py +36 -0
- salome/bin/salome/salome_process_attach +44 -0
- salome/bin/salome/salome_process_launcher +58 -0
- salome/bin/salome/setenv.py +32 -0
- salome/bin/salome/showNS.py +33 -0
- salome/bin/salome/test/kernel/ArgvKeeper/CTestTestfile.cmake +31 -0
- salome/bin/salome/test/kernel/ArgvKeeper/TestArgvKeeper +0 -0
- salome/bin/salome/test/kernel/ArgvKeeper/test_ArgvKeeper.py +34 -0
- salome/bin/salome/test/kernel/CTestTestfile.cmake +49 -0
- salome/bin/salome/test/kernel/Container/CTestTestfile.cmake +29 -0
- salome/bin/salome/test/kernel/Container/testProxy.py +291 -0
- salome/bin/salome/test/kernel/Container/testcontainer.py +106 -0
- salome/bin/salome/test/kernel/KernelHelpers/CTestTestfile.cmake +31 -0
- salome/bin/salome/test/kernel/KernelHelpers/KernelHelpersUnitTests.hxx +58 -0
- salome/bin/salome/test/kernel/KernelHelpers/TestKernelHelpers +0 -0
- salome/bin/salome/test/kernel/KernelHelpers/TestKernelHelpers.py +55 -0
- salome/bin/salome/test/kernel/Launcher/CTestTestfile.cmake +43 -0
- salome/bin/salome/test/kernel/Launcher/TestSSLAttached.py +110 -0
- salome/bin/salome/test/kernel/Launcher/launcher_use_case.py +65 -0
- salome/bin/salome/test/kernel/Launcher/testCrashProofContainer.py +423 -0
- salome/bin/salome/test/kernel/Launcher/testPerfLogManager1.py +382 -0
- salome/bin/salome/test/kernel/Launcher/test_launcher.py +674 -0
- salome/bin/salome/test/kernel/Launcher/test_stress.sh +45 -0
- salome/bin/salome/test/kernel/Launcher_SWIG/CTestTestfile.cmake +30 -0
- salome/bin/salome/test/kernel/Launcher_SWIG/test_swig_launcher.py +706 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA/CTestTestfile.cmake +27 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA/LifeCycleCORBATest.hxx +105 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA/TestLifeCycleCORBA +0 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA/TestLifeCycleCORBA.py +93 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/CTestTestfile.cmake +40 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/CatalogResources_resource.xml +15 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/LifeCycleCORBA_SWIGTest.py +217 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/SALOME_TestComponentPy.py +49 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/TestLifeCycleCORBA_SWIG.py +100 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/testcontainermanager.py +88 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/testresourcemanager.py +155 -0
- salome/bin/salome/test/kernel/NamingService/CTestTestfile.cmake +28 -0
- salome/bin/salome/test/kernel/NamingService/NamingServiceTest.hxx +169 -0
- salome/bin/salome/test/kernel/NamingService/TestNamingService +0 -0
- salome/bin/salome/test/kernel/NamingService/TestNamingService.py +64 -0
- salome/bin/salome/test/kernel/SALOMEDS/CTestTestfile.cmake +27 -0
- salome/bin/salome/test/kernel/SALOMEDS/SALOMEDSTest.hxx +192 -0
- salome/bin/salome/test/kernel/SALOMEDS/TestSALOMEDS +0 -0
- salome/bin/salome/test/kernel/SALOMEDS/TestSALOMEDS.py +55 -0
- salome/bin/salome/test/kernel/SALOMEDSImpl/CTestTestfile.cmake +27 -0
- salome/bin/salome/test/kernel/SALOMEDSImpl/SALOMEDSImplTest.hxx +51 -0
- salome/bin/salome/test/kernel/SALOMEDSImpl/TestSALOMEDSImpl +0 -0
- salome/bin/salome/test/kernel/SALOMEDSImpl/TestSALOMEDSImpl.py +55 -0
- salome/bin/salome/test/kernel/SALOMELocalTrace/CTestTestfile.cmake +27 -0
- salome/bin/salome/test/kernel/SALOMELocalTrace/SALOMELocalTraceTest.hxx +59 -0
- salome/bin/salome/test/kernel/SALOMELocalTrace/TestSALOMELocalTrace +0 -0
- salome/bin/salome/test/kernel/SALOMELocalTrace/TestSALOMELocalTrace.py +40 -0
- salome/bin/salome/test/kernel/SALOMETraceCollector/CTestTestfile.cmake +27 -0
- salome/bin/salome/test/kernel/SALOMETraceCollector/SALOMETraceCollectorTest.hxx +51 -0
- salome/bin/salome/test/kernel/SALOMETraceCollector/TestSALOMETraceCollector +0 -0
- salome/bin/salome/test/kernel/SALOMETraceCollector/TestSALOMETraceCollector.py +57 -0
- salome/bin/salome/test/kernel/UnitTests/CTestTestfile.cmake +28 -0
- salome/bin/salome/test/kernel/UnitTests/UnitTests +0 -0
- salome/bin/salome/test/kernel/UnitTests/UnitTests.py +89 -0
- salome/bin/salome/test/kernel/Utils/CTestTestfile.cmake +27 -0
- salome/bin/salome/test/kernel/Utils/TestUtils +0 -0
- salome/bin/salome/test/kernel/Utils/TestUtils.py +55 -0
- salome/bin/salome/test/kernel/Utils/UtilsTest.hxx +58 -0
- salome/bin/salome/test/kernel/lib/libLifeCycleCORBATest.so +0 -0
- salome/bin/salome/test/kernel/lib/libNamingServiceTest.so +0 -0
- salome/bin/salome/test/kernel/lib/libSALOMEDSImplTest.so +0 -0
- salome/bin/salome/test/kernel/lib/libSALOMEDSTest.so +0 -0
- salome/bin/salome/test/kernel/lib/libSALOMELocalTraceTest.so +0 -0
- salome/bin/salome/test/kernel/lib/libSALOMETraceCollectorTest.so +0 -0
- salome/bin/salome/test/kernel/lib/libSalomeKernelHelpersTest.so +0 -0
- salome/bin/salome/test/kernel/lib/libUtilsTest.so +0 -0
- salome/bin/salome/testDF +0 -0
- salome/bin/salome/testDS +0 -0
- salome/bin/salome/virtual_salome.py +38 -0
- salome/bin/salome/waitContainers.py +82 -0
- salome/bin/salome/waitNS.py +31 -0
- salome/kernel/ArgvKeeper.py +132 -0
- salome/kernel/Calcium_Ports_idl.py +645 -0
- salome/kernel/DSC_Engines_idl.py +443 -0
- salome/kernel/Engines/__init__.py +24 -0
- salome/kernel/Engines__POA/__init__.py +24 -0
- salome/kernel/Help.py +141 -0
- salome/kernel/KernelBasis.py +463 -0
- salome/kernel/KernelContainer.py +81 -0
- salome/kernel/KernelDS.py +87 -0
- salome/kernel/KernelLauncher.py +117 -0
- salome/kernel/KernelLogger.py +75 -0
- salome/kernel/KernelModuleCatalog.py +76 -0
- salome/kernel/KernelSDS.py +92 -0
- salome/kernel/KernelServices.py +105 -0
- salome/kernel/LifeCycleCORBA.py +92 -0
- salome/kernel/Logger_idl.py +89 -0
- salome/kernel/NSTEST/__init__.py +13 -0
- salome/kernel/NSTEST__POA/__init__.py +13 -0
- salome/kernel/NSparam_impl.py +50 -0
- salome/kernel/NamingService.py +365 -0
- salome/kernel/ORBConfigFile_impl.py +102 -0
- salome/kernel/Palm_Ports_idl.py +162 -0
- salome/kernel/PortManager.py +259 -0
- salome/kernel/Ports/Calcium_Ports/__init__.py +13 -0
- salome/kernel/Ports/Palm_Ports/__init__.py +13 -0
- salome/kernel/Ports/__init__.py +18 -0
- salome/kernel/Ports__POA/Calcium_Ports/__init__.py +13 -0
- salome/kernel/Ports__POA/Palm_Ports/__init__.py +13 -0
- salome/kernel/Ports__POA/__init__.py +18 -0
- salome/kernel/PyInterp.py +99 -0
- salome/kernel/Registry/__init__.py +13 -0
- salome/kernel/Registry__POA/__init__.py +13 -0
- salome/kernel/SALOME/__init__.py +19 -0
- salome/kernel/SALOMEDS/__init__.py +14 -0
- salome/kernel/SALOMEDS_Attributes_idl.py +2288 -0
- salome/kernel/SALOMEDS__POA/__init__.py +14 -0
- salome/kernel/SALOMEDS_idl.py +1590 -0
- salome/kernel/SALOMEWrappedStdType.py +383 -0
- salome/kernel/SALOME_Comm_idl.py +1045 -0
- salome/kernel/SALOME_CommonTypes_idl.py +69 -0
- salome/kernel/SALOME_ComponentPy.py +338 -0
- salome/kernel/SALOME_Component_idl.py +962 -0
- salome/kernel/SALOME_Container.py +242 -0
- salome/kernel/SALOME_ContainerHelper.py +840 -0
- salome/kernel/SALOME_ContainerManager_idl.py +236 -0
- salome/kernel/SALOME_DriverPy.py +86 -0
- salome/kernel/SALOME_Embedded_NamingService.py +41 -0
- salome/kernel/SALOME_Embedded_NamingService_ClientPy.py +59 -0
- salome/kernel/SALOME_Embedded_NamingService_idl.py +125 -0
- salome/kernel/SALOME_Exception_idl.py +75 -0
- salome/kernel/SALOME_ExternalServerLauncher_idl.py +199 -0
- salome/kernel/SALOME_GenericObj_idl.py +154 -0
- salome/kernel/SALOME_GlobalsImpl.py +38 -0
- salome/kernel/SALOME_Launcher_idl.py +327 -0
- salome/kernel/SALOME_Locker_idl.py +185 -0
- salome/kernel/SALOME_LogManager.py +103 -0
- salome/kernel/SALOME_LogManager_idl.py +348 -0
- salome/kernel/SALOME_Logger/__init__.py +13 -0
- salome/kernel/SALOME_Logger__POA/__init__.py +13 -0
- salome/kernel/SALOME_MPIObject_idl.py +100 -0
- salome/kernel/SALOME_ModuleCatalog/__init__.py +13 -0
- salome/kernel/SALOME_ModuleCatalog__POA/__init__.py +13 -0
- salome/kernel/SALOME_ModuleCatalog_idl.py +624 -0
- salome/kernel/SALOME_NamingServicePy.py +313 -0
- salome/kernel/SALOME_PACOExtension_idl.py +292 -0
- salome/kernel/SALOME_ParamPorts_idl.py +102 -0
- salome/kernel/SALOME_Parametric_idl.py +154 -0
- salome/kernel/SALOME_Ports_idl.py +347 -0
- salome/kernel/SALOME_PyNode.py +1557 -0
- salome/kernel/SALOME_PyNode_idl.py +387 -0
- salome/kernel/SALOME_Registry_idl.py +155 -0
- salome/kernel/SALOME_ResourcesManager_idl.py +215 -0
- salome/kernel/SALOME_SDS_idl.py +1181 -0
- salome/kernel/SALOME_Session_idl.py +214 -0
- salome/kernel/SALOME_TYPES/__init__.py +14 -0
- salome/kernel/SALOME_TYPES__POA/__init__.py +14 -0
- salome/kernel/SALOME_TestComponent_idl.py +121 -0
- salome/kernel/SALOME_TestModuleCatalog/__init__.py +13 -0
- salome/kernel/SALOME_TestModuleCatalog__POA/__init__.py +13 -0
- salome/kernel/SALOME_TestModuleCatalog_idl.py +194 -0
- salome/kernel/SALOME_Trace.py +96 -0
- salome/kernel/SALOME_Types_idl.py +81 -0
- salome/kernel/SALOME__POA/__init__.py +19 -0
- salome/kernel/SALOME_utilities.py +63 -0
- salome/kernel/SalomeSDSClt.py +552 -0
- salome/kernel/TestKiller.py +76 -0
- salome/kernel/Utils_Identity.py +93 -0
- salome/kernel/_ArgvKeeper.so +0 -0
- salome/kernel/_KernelBasis.so +0 -0
- salome/kernel/_KernelContainer.so +0 -0
- salome/kernel/_KernelDS.so +0 -0
- salome/kernel/_KernelLauncher.so +0 -0
- salome/kernel/_KernelLogger.so +0 -0
- salome/kernel/_KernelModuleCatalog.so +0 -0
- salome/kernel/_KernelSDS.so +0 -0
- salome/kernel/_KernelServices.so +0 -0
- salome/kernel/_NamingService.so +0 -0
- salome/kernel/_calcium.so +0 -0
- salome/kernel/_libNOTIFICATION.so +0 -0
- salome/kernel/_libSALOME_Comm.so +0 -0
- salome/kernel/_libSALOME_LifeCycleCORBA.so +0 -0
- salome/kernel/_pylauncher.so +0 -0
- salome/kernel/addToKillList_impl.py +127 -0
- salome/kernel/batchmode_salome.py +295 -0
- salome/kernel/calcium.py +866 -0
- salome/kernel/dsccalcium.py +98 -0
- salome/kernel/iparameters.py +255 -0
- salome/kernel/kernel_test.py +114 -0
- salome/kernel/killSalomeWithPort_impl.py +518 -0
- salome/kernel/killSalome_impl.py +94 -0
- salome/kernel/launchConfigureParser.py +1234 -0
- salome/kernel/launcher_proxy.py +122 -0
- salome/kernel/libNOTIFICATION.py +119 -0
- salome/kernel/libSALOME_Comm.py +85 -0
- salome/kernel/libSALOME_LifeCycleCORBA.py +232 -0
- salome/kernel/main.py +8 -0
- salome/kernel/nameserver.py +134 -0
- salome/kernel/nstest_idl.py +129 -0
- salome/kernel/omnipatch.py +136 -0
- salome/kernel/orbmodule.py +246 -0
- salome/kernel/parseConfigFile.py +261 -0
- salome/kernel/pylauncher.py +883 -0
- salome/kernel/runConsole_impl.py +224 -0
- salome/kernel/runSalomeCommon.py +418 -0
- salome/kernel/runSalomeNoServer_impl.py +48 -0
- salome/kernel/runSalomeOld_impl.py +603 -0
- salome/kernel/runSalomeOnDemand_impl.py +72 -0
- salome/kernel/runSalome_impl.py +341 -0
- salome/kernel/runSession.py +360 -0
- salome/kernel/runTests.py +90 -0
- salome/kernel/salome/__init__.py +646 -0
- salome/kernel/salome/kernel/__init__.py +111 -0
- salome/kernel/salome/kernel/datamodeler.py +363 -0
- salome/kernel/salome/kernel/deprecation.py +165 -0
- salome/kernel/salome/kernel/diclookup.py +137 -0
- salome/kernel/salome/kernel/enumerate.py +232 -0
- salome/kernel/salome/kernel/logconfig.py +27 -0
- salome/kernel/salome/kernel/logger.py +290 -0
- salome/kernel/salome/kernel/parametric/__init__.py +26 -0
- salome/kernel/salome/kernel/parametric/compo_utils.py +137 -0
- salome/kernel/salome/kernel/parametric/pyscript_utils.py +135 -0
- salome/kernel/salome/kernel/parametric/study_exchange_vars.py +285 -0
- salome/kernel/salome/kernel/pyunittester.py +184 -0
- salome/kernel/salome/kernel/services.py +267 -0
- salome/kernel/salome/kernel/studyedit.py +637 -0
- salome/kernel/salome/kernel/syshelper.py +116 -0
- salome/kernel/salome/kernel/termcolor.py +239 -0
- salome/kernel/salome/kernel/testdata.py +159 -0
- salome/kernel/salome/kernel/threadhelper.py +385 -0
- salome/kernel/salome/kernel/uiexception.py +121 -0
- salome/kernel/salome/kernel/unittester.py +89 -0
- salome/kernel/salomeContextUtils.py +353 -0
- salome/kernel/salomeContext_impl.py +731 -0
- salome/kernel/salome_ComponentGUI.py +92 -0
- salome/kernel/salome_genericobj.py +44 -0
- salome/kernel/salome_iapp.py +206 -0
- salome/kernel/salome_instance_impl.py +109 -0
- salome/kernel/salome_kernel_utils.py +88 -0
- salome/kernel/salome_notebook.py +183 -0
- salome/kernel/salome_psutil.py +94 -0
- salome/kernel/salome_pynode.py +74 -0
- salome/kernel/salome_study.py +347 -0
- salome/kernel/salome_test.py +56 -0
- salome/kernel/salome_utils.py +563 -0
- salome/kernel/salome_version.py +164 -0
- salome/kernel/searchFreePort.py +130 -0
- salome/kernel/server.py +154 -0
- salome/kernel/setenv_impl.py +240 -0
- salome/kernel/version_and_config.py +24 -0
- salome/share/salome/resources/kernel/Anita semi square.ttf +0 -0
- salome/share/salome/resources/kernel/CatalogModulePersonnel.xml_skel +24 -0
- salome/share/salome/resources/kernel/CatalogResources.xml +4 -0
- salome/share/salome/resources/kernel/KERNELCatalog.xml +102 -0
- salome/share/salome/resources/kernel/SALOMEDS_Resources +10 -0
- salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_LAN.py +19 -0
- salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_MPICH.py +18 -0
- salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_OPENMPI.py +21 -0
- salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_NO_MPI.py +25 -0
- salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE.py +108 -0
- salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE_OLD.py +115 -0
- salome/share/salome/resources/kernel/ScriptsTemplate/script_parameters.py +25 -0
- salome/share/salome/resources/kernel/app-template/CMakeLists.txt +125 -0
- salome/share/salome/resources/kernel/app-template/LICENCE +504 -0
- salome/share/salome/resources/kernel/app-template/README +0 -0
- salome/share/salome/resources/kernel/app-template/doc/CMakeLists.txt +31 -0
- salome/share/salome/resources/kernel/app-template/doc/README +1 -0
- salome/share/salome/resources/kernel/app-template/doc/conf.py.in +197 -0
- salome/share/salome/resources/kernel/app-template/doc/index.rst +14 -0
- salome/share/salome/resources/kernel/app-template/doc/intro.rst +4 -0
- salome/share/salome/resources/kernel/app-template/doc/link.rst +4 -0
- salome/share/salome/resources/kernel/app-template/resources/CMakeLists.txt +36 -0
- salome/share/salome/resources/kernel/app-template/resources/SalomeApp.xml.in +30 -0
- salome/share/salome/resources/kernel/app-template/resources/about.png +0 -0
- salome/share/salome/resources/kernel/app-template/resources/app_icon.png +0 -0
- salome/share/salome/resources/kernel/app-template/resources/app_logo.png +0 -0
- salome/share/salome/resources/kernel/app-template/resources/doc/CMakeLists.txt +27 -0
- salome/share/salome/resources/kernel/app-template/resources/doc/README +1 -0
- salome/share/salome/resources/kernel/app-template/resources/doc/sample.pdf +0 -0
- salome/share/salome/resources/kernel/app-template/resources/icon_about.png +0 -0
- salome/share/salome/resources/kernel/app-template/resources/splash.png +0 -0
- salome/share/salome/resources/kernel/app-template/src/CMakeLists.txt +22 -0
- salome/share/salome/resources/kernel/app-template/src/resources/CMakeLists.txt +34 -0
- salome/share/salome/resources/kernel/app-template/src/resources/LightApp_images.ts +23 -0
- salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_en.ts +35 -0
- salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_fr.ts +35 -0
- salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_ja.ts +35 -0
- salome/share/salome/resources/kernel/app-template/src/tests/CMakeLists.txt +29 -0
- salome/share/salome/resources/kernel/app-template/src/tests/README +1 -0
- salome/share/salome/resources/kernel/app-template/src/tests/helloWorld.py +1 -0
- salome/share/salome/resources/kernel/background.png +0 -0
- salome/share/salome/resources/kernel/channel.cfg +278 -0
- salome/share/salome/resources/kernel/testLauncher.xml +10 -0
- salome.kernel-9.14.0.dist-info/METADATA +24 -0
- salome.kernel-9.14.0.dist-info/RECORD +399 -0
- salome.kernel-9.14.0.dist-info/WHEEL +6 -0
- salome.kernel-9.14.0.dist-info/entry_points.txt +2 -0
- salome.kernel.libs/libArgvKeeper-822351d5.so +0 -0
- salome.kernel.libs/libCOS4-b4544fb9.so.2.5 +0 -0
- salome.kernel.libs/libCOSDynamic4-618dbb1d.so.2.5 +0 -0
- salome.kernel.libs/libCalciumC-a61b99a1.so +0 -0
- salome.kernel.libs/libDF-281cc999.so +0 -0
- salome.kernel.libs/libLauncher-09c39914.so +0 -0
- salome.kernel.libs/libLauncherWrapHelper-5ee25ab2.so +0 -0
- salome.kernel.libs/libOpUtil-8d37ccc8.so +0 -0
- salome.kernel.libs/libRegistry-e4a63a9e.so +0 -0
- salome.kernel.libs/libResourcesManager-f4ef9548.so +0 -0
- salome.kernel.libs/libSALOMEBasics-f4d874ac.so +0 -0
- salome.kernel.libs/libSALOMELocalTrace-a3992e5b.so +0 -0
- salome.kernel.libs/libSALOMELog-55805468.so +0 -0
- salome.kernel.libs/libSalomeCalcium-6800d8d0.so +0 -0
- salome.kernel.libs/libSalomeCatalog-96c5b2bc.so +0 -0
- salome.kernel.libs/libSalomeCommunication-451307b4.so +0 -0
- salome.kernel.libs/libSalomeContainer-d1a25367.so +0 -0
- salome.kernel.libs/libSalomeContainerServer-372d46c2.so +0 -0
- salome.kernel.libs/libSalomeDS-34cd5abf.so +0 -0
- salome.kernel.libs/libSalomeDSCContainer-ee0cf498.so +0 -0
- salome.kernel.libs/libSalomeDSCSuperv-f529bca5.so +0 -0
- salome.kernel.libs/libSalomeDSCSupervBasic-e6a3b4cf.so +0 -0
- salome.kernel.libs/libSalomeDSClient-dc9947bb.so +0 -0
- salome.kernel.libs/libSalomeDSImpl-cb508584.so +0 -0
- salome.kernel.libs/libSalomeDatastream-755ff3cb.so +0 -0
- salome.kernel.libs/libSalomeGenericObj-3ccf0028.so +0 -0
- salome.kernel.libs/libSalomeHDFPersist-69945ed0.so +0 -0
- salome.kernel.libs/libSalomeIDLKernel-2eb1ed8e.so +0 -0
- salome.kernel.libs/libSalomeKernelHelpers-1514c9e0.so +0 -0
- salome.kernel.libs/libSalomeLauncher-6d57b2ba.so +0 -0
- salome.kernel.libs/libSalomeLifeCycleCORBA-69902a7b.so +0 -0
- salome.kernel.libs/libSalomeLoggerServer-3668e9ae.so +0 -0
- salome.kernel.libs/libSalomeNS-a03a7eba.so +0 -0
- salome.kernel.libs/libSalomeNotification-66efcfbd.so +0 -0
- salome.kernel.libs/libSalomeORB-f304f4df.so +0 -0
- salome.kernel.libs/libSalomePalm-4204405e.so +0 -0
- salome.kernel.libs/libSalomeResourcesManager-fd411949.so +0 -0
- salome.kernel.libs/libSalomeSDS-7822101d.so +0 -0
- salome.kernel.libs/libSalomeTestComponentEngine-9899af25.so +0 -0
- salome.kernel.libs/libTOOLSDS-db8e8629.so +0 -0
- salome.kernel.libs/libbatch-6b5b319f.so +0 -0
- salome.kernel.libs/libboost_atomic-489c2d94.so.1.81.0 +0 -0
- salome.kernel.libs/libboost_filesystem-e610b554.so.1.81.0 +0 -0
- salome.kernel.libs/libboost_system-4a7650ea.so.1.81.0 +0 -0
- salome.kernel.libs/libcppunit-1-17e77af1.12.so.1.0.0 +0 -0
- salome.kernel.libs/libhdf5-60e81d69.so.103.0.0 +0 -0
- salome.kernel.libs/liblzma-004595ca.so.5.2.2 +0 -0
- salome.kernel.libs/libomniDynamic4-9edc765d.so.2.5 +0 -0
- salome.kernel.libs/libomniORB4-4725824d.so.2.5 +0 -0
- salome.kernel.libs/libomnithread-99f9d0d3.so.4.1 +0 -0
- salome.kernel.libs/libwith_loggerTraceCollector-6b94c51b.so +0 -0
- salome.kernel.libs/libwith_loggerTraceCollector.so +0 -0
- salome.kernel.libs/libxml2-3998bec4.so.2.9.1 +0 -0
|
@@ -0,0 +1,840 @@
|
|
|
1
|
+
# -*- coding: iso-8859-1 -*-
|
|
2
|
+
# Copyright (C) 2023-2024 CEA, EDF
|
|
3
|
+
#
|
|
4
|
+
# This library is free software; you can redistribute it and/or
|
|
5
|
+
# modify it under the terms of the GNU Lesser General Public
|
|
6
|
+
# License as published by the Free Software Foundation; either
|
|
7
|
+
# version 2.1 of the License, or (at your option) any later version.
|
|
8
|
+
#
|
|
9
|
+
# This library is distributed in the hope that it will be useful,
|
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
12
|
+
# Lesser General Public License for more details.
|
|
13
|
+
#
|
|
14
|
+
# You should have received a copy of the GNU Lesser General Public
|
|
15
|
+
# License along with this library; if not, write to the Free Software
|
|
16
|
+
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
17
|
+
#
|
|
18
|
+
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
|
19
|
+
#
|
|
20
|
+
|
|
21
|
+
from collections import defaultdict
|
|
22
|
+
|
|
23
|
+
import pickle
|
|
24
|
+
|
|
25
|
+
class ScriptExecInfo:
|
|
26
|
+
@classmethod
|
|
27
|
+
def GetRepresentationOfTimeDelta(cls,endTime, startTime):
|
|
28
|
+
if endTime is None and startTime is None:
|
|
29
|
+
return "not measured"
|
|
30
|
+
td = endTime - startTime
|
|
31
|
+
import time
|
|
32
|
+
ts_of_td = time.gmtime(td.total_seconds())
|
|
33
|
+
return "{}.{:06d}".format(time.strftime("%H:%M:%S",ts_of_td),td.microseconds)
|
|
34
|
+
|
|
35
|
+
@classmethod
|
|
36
|
+
def MemRepr(cls,memInByte):
|
|
37
|
+
m = int( memInByte )
|
|
38
|
+
UNITS=["B","kB","MB","GB"]
|
|
39
|
+
remain = 0
|
|
40
|
+
oss = ""
|
|
41
|
+
for i in range( len(UNITS) ):
|
|
42
|
+
if m<1024:
|
|
43
|
+
oss = "{:03d}".format( int( (remain/1024)*1000 ) )
|
|
44
|
+
oss = "{}.{} {}".format(m,oss,UNITS[i])
|
|
45
|
+
return oss
|
|
46
|
+
else:
|
|
47
|
+
if i!=3:
|
|
48
|
+
remain = m%1024
|
|
49
|
+
m//=1024
|
|
50
|
+
return "{} {}".format(m,UNITS[3])
|
|
51
|
+
|
|
52
|
+
@classmethod
|
|
53
|
+
def SpeedRepr(cls,memInBytePerS):
|
|
54
|
+
return "{}/s".format( cls.MemRepr(memInBytePerS) )
|
|
55
|
+
|
|
56
|
+
def __init__(self):
|
|
57
|
+
self._measure_time_resolution_ms = None
|
|
58
|
+
self._cpu_mem_during_exec = None
|
|
59
|
+
self._start_exec_time = None
|
|
60
|
+
self._end_exec_time = None
|
|
61
|
+
self._start_input_time = None
|
|
62
|
+
self._end_input_time = None
|
|
63
|
+
self._start_output_time = None
|
|
64
|
+
self._end_output_time = None
|
|
65
|
+
self._input_mem = 0
|
|
66
|
+
self._input_hdd_mem = None
|
|
67
|
+
self._output_mem = 0
|
|
68
|
+
self._output_hdd_mem = None
|
|
69
|
+
self._start_pos_log = None
|
|
70
|
+
self._stop_pos_log = None
|
|
71
|
+
self._freestyle_log = []
|
|
72
|
+
|
|
73
|
+
@property
|
|
74
|
+
def freestyle(self):
|
|
75
|
+
return self._freestyle_log
|
|
76
|
+
|
|
77
|
+
@freestyle.setter
|
|
78
|
+
def freestyle(self, value):
|
|
79
|
+
self._freestyle_log = [ value ]
|
|
80
|
+
|
|
81
|
+
def preappendFreestyle(self, value):
|
|
82
|
+
self._freestyle_log = value + self._freestyle_log
|
|
83
|
+
|
|
84
|
+
def appendFreestyle(self, value):
|
|
85
|
+
self._freestyle_log += value
|
|
86
|
+
|
|
87
|
+
@property
|
|
88
|
+
def measureTimeResolution(self):
|
|
89
|
+
return self._measure_time_resolution_ms
|
|
90
|
+
|
|
91
|
+
@measureTimeResolution.setter
|
|
92
|
+
def measureTimeResolution(self, value):
|
|
93
|
+
self._measure_time_resolution_ms = value
|
|
94
|
+
|
|
95
|
+
@property
|
|
96
|
+
def tracePosStart(self):
|
|
97
|
+
return self._start_pos_log
|
|
98
|
+
|
|
99
|
+
@tracePosStart.setter
|
|
100
|
+
def tracePosStart(self,value):
|
|
101
|
+
self._start_pos_log = value
|
|
102
|
+
|
|
103
|
+
@property
|
|
104
|
+
def tracePosStop(self):
|
|
105
|
+
return self._stop_pos_log
|
|
106
|
+
|
|
107
|
+
@tracePosStop.setter
|
|
108
|
+
def tracePosStop(self,value):
|
|
109
|
+
self._stop_pos_log = value
|
|
110
|
+
|
|
111
|
+
@property
|
|
112
|
+
def CPUMemDuringExec(self):
|
|
113
|
+
return self._cpu_mem_during_exec
|
|
114
|
+
|
|
115
|
+
@CPUMemDuringExec.setter
|
|
116
|
+
def CPUMemDuringExec(self,value):
|
|
117
|
+
self._cpu_mem_during_exec = value
|
|
118
|
+
|
|
119
|
+
@property
|
|
120
|
+
def CPUMemDuringExecStr(self):
|
|
121
|
+
return [(a,ScriptExecInfo.MemRepr(b)) for a,b in self._cpu_mem_during_exec.data]
|
|
122
|
+
|
|
123
|
+
@property
|
|
124
|
+
def inputMem(self):
|
|
125
|
+
return self._input_mem
|
|
126
|
+
|
|
127
|
+
@inputMem.setter
|
|
128
|
+
def inputMem(self,value):
|
|
129
|
+
self._input_mem = value
|
|
130
|
+
|
|
131
|
+
@property
|
|
132
|
+
def inputMemStr(self):
|
|
133
|
+
return ScriptExecInfo.MemRepr( self.inputMem )
|
|
134
|
+
|
|
135
|
+
@property
|
|
136
|
+
def outputMem(self):
|
|
137
|
+
return self._output_mem
|
|
138
|
+
|
|
139
|
+
@outputMem.setter
|
|
140
|
+
def outputMem(self,value):
|
|
141
|
+
self._output_mem = value
|
|
142
|
+
|
|
143
|
+
@property
|
|
144
|
+
def outputMemStr(self):
|
|
145
|
+
return ScriptExecInfo.MemRepr( self.outputMem )
|
|
146
|
+
|
|
147
|
+
def inputReadHDDSize(self):
|
|
148
|
+
return self.inputHDDMem.getSizeOfFileRead()
|
|
149
|
+
|
|
150
|
+
def inputReadHDDSizeRepr(self):
|
|
151
|
+
return ScriptExecInfo.MemRepr( self.inputReadHDDSize() )
|
|
152
|
+
|
|
153
|
+
def inputReadHDDSpeed(self):
|
|
154
|
+
return self.inputReadHDDSize() / ( self.endInputTime - self.startInputTime ).total_seconds()
|
|
155
|
+
|
|
156
|
+
def inputReadHDDSpeedRepr(self):
|
|
157
|
+
return ScriptExecInfo.SpeedRepr( self.inputReadHDDSpeed() )
|
|
158
|
+
|
|
159
|
+
def outputWriteHDDSize(self):
|
|
160
|
+
return self.outputHDDMem.getSizeOfFileRead()
|
|
161
|
+
|
|
162
|
+
def outputWriteHDDSizeRepr(self):
|
|
163
|
+
return ScriptExecInfo.MemRepr( self.outputWriteHDDSize() )
|
|
164
|
+
|
|
165
|
+
def outputWriteHDDSpeed(self):
|
|
166
|
+
return self.outputWriteHDDSize() / ( self.endOutputTime - self.startOutputTime ).total_seconds()
|
|
167
|
+
|
|
168
|
+
def outputWriteHDDSpeedRepr(self):
|
|
169
|
+
return ScriptExecInfo.SpeedRepr( self.outputWriteHDDSpeed() )
|
|
170
|
+
|
|
171
|
+
@property
|
|
172
|
+
def inputHDDMem(self):
|
|
173
|
+
return self._input_hdd_mem
|
|
174
|
+
|
|
175
|
+
@inputHDDMem.setter
|
|
176
|
+
def inputHDDMem(self,value):
|
|
177
|
+
self._input_hdd_mem = value
|
|
178
|
+
|
|
179
|
+
@property
|
|
180
|
+
def inputHDDMemStr(self):
|
|
181
|
+
if self._input_hdd_mem is None:
|
|
182
|
+
return "not computed"
|
|
183
|
+
return " ".join( [ ScriptExecInfo.MemRepr( elt.getSizeOfFileRead() ) for elt in self._input_hdd_mem] )
|
|
184
|
+
|
|
185
|
+
@property
|
|
186
|
+
def outputHDDMem(self):
|
|
187
|
+
return self._output_hdd_mem
|
|
188
|
+
|
|
189
|
+
@outputHDDMem.setter
|
|
190
|
+
def outputHDDMem(self,value):
|
|
191
|
+
self._output_hdd_mem = value
|
|
192
|
+
|
|
193
|
+
@property
|
|
194
|
+
def outputHDDMemStr(self):
|
|
195
|
+
if self._output_hdd_mem is None:
|
|
196
|
+
return "not computed"
|
|
197
|
+
return " ".join( [ ScriptExecInfo.MemRepr( elt.getSizeOfFileRead() ) for elt in self._output_hdd_mem] )
|
|
198
|
+
|
|
199
|
+
@property
|
|
200
|
+
def startInputTime(self):
|
|
201
|
+
return self._start_input_time
|
|
202
|
+
|
|
203
|
+
@startInputTime.setter
|
|
204
|
+
def startInputTime(self,value):
|
|
205
|
+
self._start_input_time = value
|
|
206
|
+
|
|
207
|
+
@property
|
|
208
|
+
def endInputTime(self):
|
|
209
|
+
return self._end_input_time
|
|
210
|
+
|
|
211
|
+
@endInputTime.setter
|
|
212
|
+
def endInputTime(self,value):
|
|
213
|
+
self._end_input_time = value
|
|
214
|
+
|
|
215
|
+
@property
|
|
216
|
+
def startExecTime(self):
|
|
217
|
+
return self._start_exec_time
|
|
218
|
+
|
|
219
|
+
@startExecTime.setter
|
|
220
|
+
def startExecTime(self,value):
|
|
221
|
+
self._start_exec_time = value
|
|
222
|
+
|
|
223
|
+
@property
|
|
224
|
+
def endExecTime(self):
|
|
225
|
+
return self._end_exec_time
|
|
226
|
+
|
|
227
|
+
@endExecTime.setter
|
|
228
|
+
def endExecTime(self,value):
|
|
229
|
+
self._end_exec_time = value
|
|
230
|
+
|
|
231
|
+
@property
|
|
232
|
+
def execTime(self):
|
|
233
|
+
if ( self.endExecTime is not None ) and (self.startExecTime is not None):
|
|
234
|
+
return self.endExecTime - self.startExecTime
|
|
235
|
+
return None
|
|
236
|
+
|
|
237
|
+
@property
|
|
238
|
+
def fullExecTime(self):
|
|
239
|
+
return self.endOutputTime - self.startInputTime
|
|
240
|
+
|
|
241
|
+
@property
|
|
242
|
+
def startOutputTime(self):
|
|
243
|
+
return self._start_output_time
|
|
244
|
+
|
|
245
|
+
@startOutputTime.setter
|
|
246
|
+
def startOutputTime(self,value):
|
|
247
|
+
self._start_output_time = value
|
|
248
|
+
|
|
249
|
+
@property
|
|
250
|
+
def endOutputTime(self):
|
|
251
|
+
return self._end_output_time
|
|
252
|
+
|
|
253
|
+
@endOutputTime.setter
|
|
254
|
+
def endOutputTime(self,value):
|
|
255
|
+
self._end_output_time = value
|
|
256
|
+
|
|
257
|
+
@property
|
|
258
|
+
def execTimeStr(self):
|
|
259
|
+
return ScriptExecInfo.GetRepresentationOfTimeDelta(self.endExecTime,self.startExecTime)
|
|
260
|
+
|
|
261
|
+
@property
|
|
262
|
+
def inputTimeStr(self):
|
|
263
|
+
return ScriptExecInfo.GetRepresentationOfTimeDelta(self.endInputTime,self.startInputTime)
|
|
264
|
+
|
|
265
|
+
@property
|
|
266
|
+
def outputTimeStr(self):
|
|
267
|
+
return ScriptExecInfo.GetRepresentationOfTimeDelta(self.endOutputTime,self.startOutputTime)
|
|
268
|
+
|
|
269
|
+
def __str__(self):
|
|
270
|
+
CPUMemDuringExecForStr = self.CPUMemDuringExecStr
|
|
271
|
+
if len( CPUMemDuringExecForStr ) > 30:
|
|
272
|
+
CPUMemDuringExecForStr = "{} ...".format( str(CPUMemDuringExecForStr[:30]) )
|
|
273
|
+
else:
|
|
274
|
+
CPUMemDuringExecForStr = str( CPUMemDuringExecForStr )
|
|
275
|
+
return """start exec time = {self.startExecTime}
|
|
276
|
+
end exec time = {self.endExecTime}
|
|
277
|
+
exec_time = {self.execTimeStr}
|
|
278
|
+
Measure time resolution = {self.measureTimeResolution} ms
|
|
279
|
+
CPU and mem monitoring = {CPUMemDuringExecForStr}
|
|
280
|
+
input unpickling and ev load from disk time = {self.inputTimeStr}
|
|
281
|
+
output serialization and ev write to disk time = {self.outputTimeStr}
|
|
282
|
+
input memory size before exec (MemoryPeak 2x) = {self.inputMemStr}
|
|
283
|
+
input memory size from HDD = {self.inputHDDMemStr}
|
|
284
|
+
output memory size after exec (MemoryPeak 2x) = {self.outputMemStr}
|
|
285
|
+
output memory size from HDD = {self.outputHDDMemStr}
|
|
286
|
+
Start position in log = {self.tracePosStart}
|
|
287
|
+
End position in log = {self.tracePosStop}""".format(**locals())
|
|
288
|
+
|
|
289
|
+
class ScriptExecInfoDeco:
|
|
290
|
+
def __init__(self, eff, father):
|
|
291
|
+
self._eff = eff
|
|
292
|
+
self._father = father
|
|
293
|
+
@property
|
|
294
|
+
def father(self):
|
|
295
|
+
return self._father
|
|
296
|
+
def get(self):
|
|
297
|
+
return self._eff
|
|
298
|
+
def __getitem__(self,i):
|
|
299
|
+
return self._eff[i]
|
|
300
|
+
def __str__(self):
|
|
301
|
+
return self._eff.__str__()
|
|
302
|
+
def __repr__(self):
|
|
303
|
+
return self._eff.__repr__()
|
|
304
|
+
def log(self):
|
|
305
|
+
with open(self.father.father.logfile,"rb") as f:
|
|
306
|
+
cont = f.read()
|
|
307
|
+
return cont[self._eff.tracePosStart:self._eff.tracePosStop].decode()
|
|
308
|
+
@property
|
|
309
|
+
def nodeName(self):
|
|
310
|
+
return self.father.get().nodeName
|
|
311
|
+
@property
|
|
312
|
+
def code(self):
|
|
313
|
+
return self.father.code
|
|
314
|
+
@property
|
|
315
|
+
def ns_entry(self):
|
|
316
|
+
return self.father.father.ns_entry
|
|
317
|
+
@property
|
|
318
|
+
def computingNode(self):
|
|
319
|
+
return self.father.computingNode
|
|
320
|
+
|
|
321
|
+
@property
|
|
322
|
+
def freestyle(self):
|
|
323
|
+
return self.get().freestyle
|
|
324
|
+
|
|
325
|
+
@property
|
|
326
|
+
def measureTimeResolution(self):
|
|
327
|
+
return self.get().measureTimeResolution
|
|
328
|
+
|
|
329
|
+
@property
|
|
330
|
+
def CPUMemDuringExec(self):
|
|
331
|
+
return self.get().CPUMemDuringExec
|
|
332
|
+
|
|
333
|
+
@property
|
|
334
|
+
def inputMem(self):
|
|
335
|
+
return self.get().inputMem
|
|
336
|
+
|
|
337
|
+
@property
|
|
338
|
+
def outputMem(self):
|
|
339
|
+
return self.get().outputMem
|
|
340
|
+
|
|
341
|
+
@property
|
|
342
|
+
def inputHDDMem(self):
|
|
343
|
+
return self.get().inputHDDMem
|
|
344
|
+
|
|
345
|
+
@property
|
|
346
|
+
def outputHDDMem(self):
|
|
347
|
+
return self.get().outputHDDMem
|
|
348
|
+
|
|
349
|
+
def inputReadHDDSize(self):
|
|
350
|
+
return self.get().inputReadHDDSize()
|
|
351
|
+
|
|
352
|
+
def inputReadHDDSizeRepr(self):
|
|
353
|
+
return self.get().inputReadHDDSizeRepr()
|
|
354
|
+
|
|
355
|
+
def inputReadHDDSpeed(self):
|
|
356
|
+
return self.get().inputReadHDDSpeed()
|
|
357
|
+
|
|
358
|
+
def inputReadHDDSpeedRepr(self):
|
|
359
|
+
return self.get().inputReadHDDSpeedRepr()
|
|
360
|
+
|
|
361
|
+
def outputWriteHDDSize(self):
|
|
362
|
+
return self.get().outputWriteHDDSize()
|
|
363
|
+
|
|
364
|
+
def outputWriteHDDSizeRepr(self):
|
|
365
|
+
return self.get().outputWriteHDDSizeRepr()
|
|
366
|
+
|
|
367
|
+
def outputWriteHDDSpeed(self):
|
|
368
|
+
return self.get().outputWriteHDDSpeed()
|
|
369
|
+
|
|
370
|
+
def outputWriteHDDSpeedRepr(self):
|
|
371
|
+
return self.get().outputWriteHDDSpeedRepr()
|
|
372
|
+
|
|
373
|
+
@property
|
|
374
|
+
def startInputTime(self):
|
|
375
|
+
return self.get().startInputTime
|
|
376
|
+
|
|
377
|
+
@property
|
|
378
|
+
def endInputTime(self):
|
|
379
|
+
return self.get().endInputTime
|
|
380
|
+
|
|
381
|
+
@property
|
|
382
|
+
def startExecTime(self):
|
|
383
|
+
return self.get().startExecTime
|
|
384
|
+
|
|
385
|
+
@property
|
|
386
|
+
def endExecTime(self):
|
|
387
|
+
return self.get().endExecTime
|
|
388
|
+
|
|
389
|
+
@property
|
|
390
|
+
def execTime(self):
|
|
391
|
+
return self.get().execTime
|
|
392
|
+
|
|
393
|
+
@property
|
|
394
|
+
def fullExecTime(self):
|
|
395
|
+
return self.get().fullExecTime
|
|
396
|
+
|
|
397
|
+
@property
|
|
398
|
+
def startOutputTime(self):
|
|
399
|
+
return self.get().startOutputTime
|
|
400
|
+
|
|
401
|
+
@property
|
|
402
|
+
def endOutputTime(self):
|
|
403
|
+
return self.get().endOutputTime
|
|
404
|
+
|
|
405
|
+
class ScriptInfoAbstract:
|
|
406
|
+
def __init__(self, scriptPtr):
|
|
407
|
+
self._node_name = scriptPtr.getName()
|
|
408
|
+
self._code = scriptPtr.getCode()
|
|
409
|
+
self._exec = [pickle.loads(elt.getObj()) for elt in scriptPtr.listOfExecs()]
|
|
410
|
+
|
|
411
|
+
@property
|
|
412
|
+
def execs(self):
|
|
413
|
+
return self._exec
|
|
414
|
+
|
|
415
|
+
@property
|
|
416
|
+
def nodeName(self):
|
|
417
|
+
return self._node_name
|
|
418
|
+
|
|
419
|
+
@property
|
|
420
|
+
def code(self):
|
|
421
|
+
return self._code
|
|
422
|
+
|
|
423
|
+
@code.setter
|
|
424
|
+
def code(self,value):
|
|
425
|
+
self._code = value
|
|
426
|
+
|
|
427
|
+
def __len__(self):
|
|
428
|
+
return len( self._exec )
|
|
429
|
+
|
|
430
|
+
def __getitem__(self,i):
|
|
431
|
+
return self._exec[i]
|
|
432
|
+
|
|
433
|
+
def __str__(self):
|
|
434
|
+
return """name = {self.nodeName}\ncode = {self.code}\nexecs = {self.execs}""".format(**locals())
|
|
435
|
+
|
|
436
|
+
def __repr__(self):
|
|
437
|
+
return """ScriptInfo \"{self.nodeName}\"""".format(**locals())
|
|
438
|
+
|
|
439
|
+
class ScriptInfoClt(ScriptInfoAbstract):
|
|
440
|
+
def __init__(self, scriptPtr):
|
|
441
|
+
def unPickledSafe( dataPickled ):
|
|
442
|
+
if len(dataPickled) > 0:
|
|
443
|
+
return pickle.loads(dataPickled)
|
|
444
|
+
else:
|
|
445
|
+
return None
|
|
446
|
+
self._node_name = scriptPtr.getName()
|
|
447
|
+
self._code = scriptPtr.getCode()
|
|
448
|
+
self._exec = [unPickledSafe(elt.getObj()) for elt in scriptPtr.listOfExecs()]
|
|
449
|
+
|
|
450
|
+
class ScriptInfo(ScriptInfoAbstract):
|
|
451
|
+
def __init__(self, nodeName, code, execs):
|
|
452
|
+
self._node_name = nodeName
|
|
453
|
+
self._code = code
|
|
454
|
+
self._exec = execs
|
|
455
|
+
|
|
456
|
+
class ScriptInfoDeco:
|
|
457
|
+
def __init__(self, eff, father):
|
|
458
|
+
self._eff = eff
|
|
459
|
+
self._father = father
|
|
460
|
+
@property
|
|
461
|
+
def father(self):
|
|
462
|
+
return self._father
|
|
463
|
+
def get(self):
|
|
464
|
+
return self._eff
|
|
465
|
+
@property
|
|
466
|
+
def nodeName(self):
|
|
467
|
+
return self.get().nodeName
|
|
468
|
+
@property
|
|
469
|
+
def code(self):
|
|
470
|
+
return self.get().code
|
|
471
|
+
@property
|
|
472
|
+
def ns_entry(self):
|
|
473
|
+
return self.father.ns_entry
|
|
474
|
+
@property
|
|
475
|
+
def computingNode(self):
|
|
476
|
+
return self.father.computingNode
|
|
477
|
+
def __getitem__(self,i):
|
|
478
|
+
return ScriptExecInfoDeco( self._eff[i], self )
|
|
479
|
+
def __len__(self):
|
|
480
|
+
return self._eff.__len__()
|
|
481
|
+
def __str__(self):
|
|
482
|
+
return self._eff.__str__()
|
|
483
|
+
def __repr__(self):
|
|
484
|
+
return self._eff.__repr__()
|
|
485
|
+
|
|
486
|
+
class ContainerLogInfoAbstract:
|
|
487
|
+
|
|
488
|
+
@property
|
|
489
|
+
def log(self):
|
|
490
|
+
with open(self.logfile,"rb") as f:
|
|
491
|
+
cont = f.read()
|
|
492
|
+
return cont.decode()
|
|
493
|
+
|
|
494
|
+
@property
|
|
495
|
+
def ns_entry(self):
|
|
496
|
+
return self._ns_entry
|
|
497
|
+
|
|
498
|
+
@property
|
|
499
|
+
def logfile(self):
|
|
500
|
+
return self._log_file
|
|
501
|
+
|
|
502
|
+
@property
|
|
503
|
+
def computingNode(self):
|
|
504
|
+
return ContainerLogInfoAbstract.ComputingNodeFromNSEntry( self.ns_entry )
|
|
505
|
+
|
|
506
|
+
def __len__(self):
|
|
507
|
+
return len( self._scripts )
|
|
508
|
+
|
|
509
|
+
def __getitem__(self,i):
|
|
510
|
+
return ScriptInfoDeco( self._scripts[i], self)
|
|
511
|
+
|
|
512
|
+
def __str__(self):
|
|
513
|
+
return """NS entry = {self.ns_entry} LogFile = {self.logfile}""".format(**locals())
|
|
514
|
+
|
|
515
|
+
@classmethod
|
|
516
|
+
def ComputingNodeFromNSEntry(cls, nsEntry):
|
|
517
|
+
return nsEntry.split("/")[2]
|
|
518
|
+
|
|
519
|
+
class ContainerLogInfoClt(ContainerLogInfoAbstract):
|
|
520
|
+
def __init__(self,contLogPtr):
|
|
521
|
+
self._log_file = contLogPtr.getLogFile()
|
|
522
|
+
self._ns_entry = contLogPtr.getContainerEntryInNS()
|
|
523
|
+
self._scripts = [ScriptInfoClt(elt) for elt in contLogPtr.listOfScripts()]
|
|
524
|
+
|
|
525
|
+
class ContainerLogInfo(ContainerLogInfoAbstract):
|
|
526
|
+
def __init__(self, nsEntry, logFile, scripts):
|
|
527
|
+
self._log_file = logFile
|
|
528
|
+
self._ns_entry = nsEntry
|
|
529
|
+
self._scripts = scripts
|
|
530
|
+
|
|
531
|
+
from abc import ABC, abstractmethod
|
|
532
|
+
|
|
533
|
+
class InOutputObjVisitorAbstract(ABC):
|
|
534
|
+
def __init__(self):
|
|
535
|
+
self._cur_obj = None
|
|
536
|
+
self._data = []
|
|
537
|
+
|
|
538
|
+
def enter(self):
|
|
539
|
+
self._cur_obj = ObjMemModel()
|
|
540
|
+
return self._cur_obj
|
|
541
|
+
|
|
542
|
+
def leave(self):
|
|
543
|
+
self._data.append( self._cur_obj )
|
|
544
|
+
self._cur_obj = None
|
|
545
|
+
|
|
546
|
+
def getSizeOfFileRead(self):
|
|
547
|
+
return sum( [elt.getSizeOfFileRead() for elt in self._data] )
|
|
548
|
+
|
|
549
|
+
def visitor(self):
|
|
550
|
+
return self
|
|
551
|
+
|
|
552
|
+
def setHDDMem(self, v):
|
|
553
|
+
pass
|
|
554
|
+
|
|
555
|
+
def setFileName(self, fileName):
|
|
556
|
+
pass
|
|
557
|
+
|
|
558
|
+
@abstractmethod
|
|
559
|
+
def getRepr(self):
|
|
560
|
+
pass
|
|
561
|
+
|
|
562
|
+
class InOutputObjVisitorIter:
|
|
563
|
+
def __init__(self, visitor):
|
|
564
|
+
self._visitor = visitor
|
|
565
|
+
self._current = 0
|
|
566
|
+
|
|
567
|
+
def __next__(self):
|
|
568
|
+
if self._current >= len(self._visitor._data):
|
|
569
|
+
raise StopIteration
|
|
570
|
+
else:
|
|
571
|
+
ret = self._visitor._data[ self._current ]
|
|
572
|
+
self._current += 1
|
|
573
|
+
return ret
|
|
574
|
+
|
|
575
|
+
class InOutputObjVisitor(InOutputObjVisitorAbstract):
|
|
576
|
+
def __init__(self):
|
|
577
|
+
super().__init__()
|
|
578
|
+
|
|
579
|
+
def getRepr(self):
|
|
580
|
+
return self.getSizeOfFileRead()
|
|
581
|
+
|
|
582
|
+
def __iter__(self):
|
|
583
|
+
return InOutputObjVisitorIter(self)
|
|
584
|
+
|
|
585
|
+
class ObjMemModel(InOutputObjVisitorAbstract):
|
|
586
|
+
def __init__(self):
|
|
587
|
+
super().__init__()
|
|
588
|
+
self._hdd_mem = 0
|
|
589
|
+
self._file_name = None
|
|
590
|
+
|
|
591
|
+
def setHDDMem(self, v):
|
|
592
|
+
self._hdd_mem = v
|
|
593
|
+
del self._data
|
|
594
|
+
|
|
595
|
+
def setFileName(self, fileName):
|
|
596
|
+
self._file_name = fileName
|
|
597
|
+
pass
|
|
598
|
+
|
|
599
|
+
def getSizeOfFileRead(self):
|
|
600
|
+
if hasattr(self,"_data"):
|
|
601
|
+
return super().getSizeOfFileRead()
|
|
602
|
+
else:
|
|
603
|
+
return self._hdd_mem
|
|
604
|
+
|
|
605
|
+
def getRepr(self):
|
|
606
|
+
return self.getSizeOfFileRead()
|
|
607
|
+
|
|
608
|
+
class FakeObjVisitor:
|
|
609
|
+
def setHDDMem(self, v):
|
|
610
|
+
pass
|
|
611
|
+
|
|
612
|
+
def setFileName(self, fileName):
|
|
613
|
+
pass
|
|
614
|
+
|
|
615
|
+
def visitor(self):
|
|
616
|
+
return None
|
|
617
|
+
|
|
618
|
+
class InOutputObjVisitorCM:
|
|
619
|
+
def __init__(self, visitor):
|
|
620
|
+
self._visitor = visitor
|
|
621
|
+
def __enter__(self):
|
|
622
|
+
if self._visitor:
|
|
623
|
+
r = self._visitor.enter()
|
|
624
|
+
return r
|
|
625
|
+
else:
|
|
626
|
+
return FakeObjVisitor()
|
|
627
|
+
def __exit__(self,exctype, exc, tb):
|
|
628
|
+
if self._visitor:
|
|
629
|
+
self._visitor.leave()
|
|
630
|
+
pass
|
|
631
|
+
|
|
632
|
+
class OffsetType:
|
|
633
|
+
def __init__(self,i):
|
|
634
|
+
self._i = i
|
|
635
|
+
def __int__(self):
|
|
636
|
+
return self._i
|
|
637
|
+
def __iadd__(self,delta):
|
|
638
|
+
self._i += delta
|
|
639
|
+
return self
|
|
640
|
+
|
|
641
|
+
def unserializeInt(structData, offset):
|
|
642
|
+
from ctypes import c_int
|
|
643
|
+
sz_of_cint = 4
|
|
644
|
+
sz = c_int.from_buffer_copy( structData[int(offset):int(offset)+sz_of_cint] ).value
|
|
645
|
+
offset += sz_of_cint
|
|
646
|
+
return sz
|
|
647
|
+
|
|
648
|
+
def unserializeString(structData,offset):
|
|
649
|
+
sz = unserializeInt(structData,offset)
|
|
650
|
+
ret = structData[int(offset):int(offset)+sz].decode()
|
|
651
|
+
offset += sz
|
|
652
|
+
return ret
|
|
653
|
+
|
|
654
|
+
def unserializeContainerScriptExecPerfLog(structData, offset):
|
|
655
|
+
import pickle
|
|
656
|
+
sz = unserializeInt(structData,offset)
|
|
657
|
+
inst = None
|
|
658
|
+
if sz > 0:
|
|
659
|
+
inst = pickle.loads( structData[int(offset):int(offset)+sz] )
|
|
660
|
+
offset += sz
|
|
661
|
+
return inst
|
|
662
|
+
|
|
663
|
+
def unserializeContainerScriptPerfLog(structData, offset):
|
|
664
|
+
name = unserializeString(structData,offset)
|
|
665
|
+
code = unserializeString(structData,offset)
|
|
666
|
+
numberOfSessions = unserializeInt(structData,offset)
|
|
667
|
+
sessions = []
|
|
668
|
+
for _ in range(numberOfSessions):
|
|
669
|
+
session = unserializeContainerScriptExecPerfLog(structData,offset)
|
|
670
|
+
sessions.append( session )
|
|
671
|
+
return ScriptInfo(name,code,sessions)
|
|
672
|
+
|
|
673
|
+
def unserializeContainerPerfLog(structData, offset):
|
|
674
|
+
nsEntry = unserializeString(structData,offset)
|
|
675
|
+
logFile = unserializeString(structData,offset)
|
|
676
|
+
scripts = []
|
|
677
|
+
nbScripts = unserializeInt(structData,offset)
|
|
678
|
+
for _ in range(nbScripts):
|
|
679
|
+
script = unserializeContainerScriptPerfLog(structData,offset)
|
|
680
|
+
scripts.append( script )
|
|
681
|
+
return ContainerLogInfo(nsEntry,logFile,scripts)
|
|
682
|
+
|
|
683
|
+
def unserializeLogManager(structData):
|
|
684
|
+
offset = OffsetType(0)
|
|
685
|
+
numberOfScripts = unserializeInt(structData,offset)
|
|
686
|
+
logManagerInst = []
|
|
687
|
+
for _ in range(numberOfScripts):
|
|
688
|
+
containerPerfLogInst = unserializeContainerPerfLog(structData,offset)
|
|
689
|
+
logManagerInst.append( containerPerfLogInst )
|
|
690
|
+
if int(offset) != len(structData):
|
|
691
|
+
raise RuntimeError("Something went wrong during unserialization phase.")
|
|
692
|
+
return logManagerInst
|
|
693
|
+
|
|
694
|
+
def ListAllExecContainIn( listOfContainerLogInfo ):
|
|
695
|
+
"""
|
|
696
|
+
For all ContainerLogInfo contained in listOfContainerLogInfo extract all ScriptExecInfo contained recursively
|
|
697
|
+
in it. This method filters all "side" executions like those positionning environment for exemple.
|
|
698
|
+
|
|
699
|
+
See also : ListAllExecFinishedContainIn
|
|
700
|
+
|
|
701
|
+
Args:
|
|
702
|
+
-----
|
|
703
|
+
|
|
704
|
+
listOfContainerLogInfo (list<ContainerLogInfo>) : instance typically returned by salome.LogManagerLoadFromFile
|
|
705
|
+
|
|
706
|
+
Returns
|
|
707
|
+
-------
|
|
708
|
+
|
|
709
|
+
list<ScriptExecInfoDeco> : all ScriptExecInfoDeco instance contained recursively in all input ContainerLogInfo instances
|
|
710
|
+
|
|
711
|
+
"""
|
|
712
|
+
allexecs = sum( [sum( [[myexec for myexec in ps] for ps in cont],[] ) for cont in listOfContainerLogInfo], [] )
|
|
713
|
+
return [elt for elt in allexecs if elt.get() is not None]
|
|
714
|
+
|
|
715
|
+
def ListAllExecFinishedContainIn( listOfContainerLogInfo ):
|
|
716
|
+
"""
|
|
717
|
+
For all ContainerLogInfo contained in listOfContainerLogInfo extract all ScriptExecInfo contained recursively
|
|
718
|
+
in it. This method filters all "side" executions like those positionning environment for exemple and those not finished.
|
|
719
|
+
|
|
720
|
+
See also : ListAllExecContainIn
|
|
721
|
+
|
|
722
|
+
Args:
|
|
723
|
+
-----
|
|
724
|
+
|
|
725
|
+
listOfContainerLogInfo (list<ContainerLogInfo>) : instance typically returned by salome.LogManagerLoadFromFile
|
|
726
|
+
|
|
727
|
+
Returns
|
|
728
|
+
-------
|
|
729
|
+
|
|
730
|
+
list<ScriptExecInfoDeco> : all ScriptExecInfoDeco instance contained recursively in all input ContainerLogInfo instances
|
|
731
|
+
|
|
732
|
+
"""
|
|
733
|
+
beforeFiltering = ListAllExecContainIn( listOfContainerLogInfo )
|
|
734
|
+
return [elt for elt in beforeFiltering if elt.get().execTime is not None]
|
|
735
|
+
|
|
736
|
+
def IsExecTimeHigherThan( execInstDeco, limitDuration ):
|
|
737
|
+
"""
|
|
738
|
+
Example of Usage :
|
|
739
|
+
|
|
740
|
+
[elt for elt in allexecs if IsExecTimeHigherThan(elt,datetime.timedelta(hours=1))]
|
|
741
|
+
|
|
742
|
+
Args:
|
|
743
|
+
-----
|
|
744
|
+
|
|
745
|
+
execInstDeco (ScriptExecInfoDeco)
|
|
746
|
+
limitDuration (datetime.timedelta) Ex (datetime.timedelta(hours=1))
|
|
747
|
+
|
|
748
|
+
"""
|
|
749
|
+
if execInstDeco.get() is not None:
|
|
750
|
+
return execInstDeco.get().execTime > limitDuration
|
|
751
|
+
else:
|
|
752
|
+
return False
|
|
753
|
+
|
|
754
|
+
def GetMaxTimeExec( listOfFinishedExecs ):
|
|
755
|
+
"""
|
|
756
|
+
Returns the instance among listOfFinishedExecs that spends the max time to be executed
|
|
757
|
+
|
|
758
|
+
Args:
|
|
759
|
+
-----
|
|
760
|
+
|
|
761
|
+
listOfFinishedExecs ( list<ScriptExecInfoDeco> ) : instance of ScriptExecInfoDeco that have finished to be executed
|
|
762
|
+
Typically returned by ListAllExecFinishedContainIn
|
|
763
|
+
|
|
764
|
+
Returns
|
|
765
|
+
-------
|
|
766
|
+
|
|
767
|
+
ScriptExecInfoDeco :
|
|
768
|
+
"""
|
|
769
|
+
return listOfFinishedExecs[ max([(i,elt.execTime) for i,elt in enumerate( listOfFinishedExecs) ],key = lambda x : x[1])[0] ]
|
|
770
|
+
|
|
771
|
+
def GetMinTimeExec( listOfFinishedExecs ):
|
|
772
|
+
"""
|
|
773
|
+
Returns the instance among listOfFinishedExecs that spends the min time to be executed
|
|
774
|
+
|
|
775
|
+
Args:
|
|
776
|
+
-----
|
|
777
|
+
|
|
778
|
+
listOfFinishedExecs ( list<ScriptExecInfoDeco> ) : instance of ScriptExecInfoDeco that have finished to be executed
|
|
779
|
+
Typically returned by ListAllExecFinishedContainIn
|
|
780
|
+
|
|
781
|
+
Returns
|
|
782
|
+
-------
|
|
783
|
+
|
|
784
|
+
ScriptExecInfoDeco :
|
|
785
|
+
"""
|
|
786
|
+
return listOfFinishedExecs[ min([(i,elt.execTime) for i,elt in enumerate( listOfFinishedExecs) ],key = lambda x : x[1])[0] ]
|
|
787
|
+
|
|
788
|
+
class DistriutionClass:
|
|
789
|
+
def __init__(self, begin, end, listOfExecs):
|
|
790
|
+
self._begin = begin
|
|
791
|
+
self._end = end
|
|
792
|
+
self._list_of_execs = sorted( listOfExecs, key = lambda x : x.execTime)
|
|
793
|
+
def __getitem__(self, *args):
|
|
794
|
+
return self._list_of_execs.__getitem__( *args )
|
|
795
|
+
@property
|
|
796
|
+
def begin(self):
|
|
797
|
+
return self._begin
|
|
798
|
+
@property
|
|
799
|
+
def end(self):
|
|
800
|
+
return self._end
|
|
801
|
+
@property
|
|
802
|
+
def listOfExecs(self):
|
|
803
|
+
return self._list_of_execs
|
|
804
|
+
@property
|
|
805
|
+
def size(self):
|
|
806
|
+
return len( self.listOfExecs )
|
|
807
|
+
@property
|
|
808
|
+
def reprGlobal(self):
|
|
809
|
+
return f"[{self.begin}->{self.end}] : {self.size} execs"
|
|
810
|
+
|
|
811
|
+
class DistributionOfExecs:
|
|
812
|
+
"""
|
|
813
|
+
Class in charge to distribute execution log instance into equi-classes
|
|
814
|
+
"""
|
|
815
|
+
def __init__(self, listOfFinishedExecs, nbOfClasses):
|
|
816
|
+
self._list_of_finished_execs = listOfFinishedExecs
|
|
817
|
+
self._nb_of_classes = nbOfClasses
|
|
818
|
+
self._classes = DistributionOfExecs.ComputeDistributionOfExecTime(self._list_of_finished_execs,self._nb_of_classes)
|
|
819
|
+
|
|
820
|
+
def __getitem__(self, *args):
|
|
821
|
+
return self._classes.__getitem__( *args )
|
|
822
|
+
def reprOfExecs(self):
|
|
823
|
+
import numpy as np
|
|
824
|
+
cs = np.cumsum( [elt.size for elt in self._classes] )
|
|
825
|
+
ret = []
|
|
826
|
+
for i,(elt,cum_nb) in enumerate( zip(self._classes,cs) ):
|
|
827
|
+
ratio = (cum_nb / cs[-1])*100.0
|
|
828
|
+
ret.append( f"- For class {i} - {elt.reprGlobal} ( {ratio:.1f}% )" )
|
|
829
|
+
return "\n".join( ret )
|
|
830
|
+
@classmethod
|
|
831
|
+
def ComputeDistributionOfExecTime( cls, listOfFinishedExecs, nbOfClasses ):
|
|
832
|
+
maxt = GetMaxTimeExec( listOfFinishedExecs )
|
|
833
|
+
mint = GetMinTimeExec( listOfFinishedExecs )
|
|
834
|
+
deltaTime = ( maxt.execTime - mint.execTime ) / nbOfClasses
|
|
835
|
+
res = []
|
|
836
|
+
for i in range( nbOfClasses ):
|
|
837
|
+
begin = mint.execTime + i * deltaTime
|
|
838
|
+
end = mint.execTime + (i+1) * deltaTime
|
|
839
|
+
res.append( DistriutionClass(begin,end,[elt for elt in listOfFinishedExecs if elt.execTime >=begin and elt.execTime <= end]) )
|
|
840
|
+
return res
|