salome.kernel 9.14.0.post6__cp39-cp39-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.
Files changed (444) hide show
  1. salome/bin/salome/IDLparser.py +882 -0
  2. salome/bin/salome/KernelHelpersUseCases +0 -0
  3. salome/bin/salome/NSparam.py +51 -0
  4. salome/bin/salome/ORBConfigFile.py +55 -0
  5. salome/bin/salome/SALOMEDS_Client +0 -0
  6. salome/bin/salome/SALOMEDS_Server +0 -0
  7. salome/bin/salome/SALOME_ConnectionManagerServer +0 -0
  8. salome/bin/salome/SALOME_Container +0 -0
  9. salome/bin/salome/SALOME_ContainerPy.py +397 -0
  10. salome/bin/salome/SALOME_Container_No_NS_Serv +0 -0
  11. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess +0 -0
  12. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_FT +0 -0
  13. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_Replay +0 -0
  14. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_Replay_FT +0 -0
  15. salome/bin/salome/SALOME_DataScopeServer +0 -0
  16. salome/bin/salome/SALOME_DataScopeServer_SSL +0 -0
  17. salome/bin/salome/SALOME_LauncherServer +0 -0
  18. salome/bin/salome/SALOME_Logger_Server +0 -0
  19. salome/bin/salome/SALOME_ModuleCatalog_Client +0 -0
  20. salome/bin/salome/SALOME_ModuleCatalog_Server +0 -0
  21. salome/bin/salome/SALOME_Registry_Server +0 -0
  22. salome/bin/salome/TestComponentPy.py +71 -0
  23. salome/bin/salome/TestContainer +0 -0
  24. salome/bin/salome/TestContainerManager +0 -0
  25. salome/bin/salome/TestLauncher +0 -0
  26. salome/bin/salome/TestLifeCycleCORBA.py +89 -0
  27. salome/bin/salome/TestLogger +0 -0
  28. salome/bin/salome/TestLogger.py +27 -0
  29. salome/bin/salome/TestModuleCatalog.py +87 -0
  30. salome/bin/salome/Test_LifeCycleCORBA +0 -0
  31. salome/bin/salome/VERSION +3 -0
  32. salome/bin/salome/addToKillList.py +35 -0
  33. salome/bin/salome/app-quickstart.py +288 -0
  34. salome/bin/salome/appli/.bashrc +50 -0
  35. salome/bin/salome/appli/extra.env.d/001.py +42 -0
  36. salome/bin/salome/appli/python_test_driver.py +148 -0
  37. salome/bin/salome/appli/salome +193 -0
  38. salome/bin/salome/appli/salome_instance.py +31 -0
  39. salome/bin/salome/appli/salome_test_driver.py +150 -0
  40. salome/bin/salome/appli/salome_test_driver_gui.py +82 -0
  41. salome/bin/salome/appli_clean.sh +53 -0
  42. salome/bin/salome/appli_gen.py +606 -0
  43. salome/bin/salome/dummyexe_loggerTraceCollector +0 -0
  44. salome/bin/salome/envSalome.py +59 -0
  45. salome/bin/salome/killSalome.py +48 -0
  46. salome/bin/salome/killSalomeWithPort.py +56 -0
  47. salome/bin/salome/prepare_generating_doc.py +104 -0
  48. salome/bin/salome/pythonpath_reduction.py +184 -0
  49. salome/bin/salome/runConsole.py +39 -0
  50. salome/bin/salome/runIDLparser +58 -0
  51. salome/bin/salome/runRemote.py +101 -0
  52. salome/bin/salome/runSalome.py +30 -0
  53. salome/bin/salome/runSalomeNoServer.py +24 -0
  54. salome/bin/salome/runSalomeOld.py +36 -0
  55. salome/bin/salome/runSalomeOnDemand.py +41 -0
  56. salome/bin/salome/salomeContext.py +36 -0
  57. salome/bin/salome/salome_process_attach +44 -0
  58. salome/bin/salome/salome_process_launcher +58 -0
  59. salome/bin/salome/setenv.py +32 -0
  60. salome/bin/salome/showNS.py +33 -0
  61. salome/bin/salome/test/kernel/ArgvKeeper/CTestTestfile.cmake +31 -0
  62. salome/bin/salome/test/kernel/ArgvKeeper/TestArgvKeeper +0 -0
  63. salome/bin/salome/test/kernel/ArgvKeeper/test_ArgvKeeper.py +34 -0
  64. salome/bin/salome/test/kernel/CTestTestfile.cmake +49 -0
  65. salome/bin/salome/test/kernel/Container/CTestTestfile.cmake +29 -0
  66. salome/bin/salome/test/kernel/Container/testProxy.py +291 -0
  67. salome/bin/salome/test/kernel/Container/testcontainer.py +106 -0
  68. salome/bin/salome/test/kernel/KernelHelpers/CTestTestfile.cmake +31 -0
  69. salome/bin/salome/test/kernel/KernelHelpers/KernelHelpersUnitTests.hxx +58 -0
  70. salome/bin/salome/test/kernel/KernelHelpers/TestKernelHelpers +0 -0
  71. salome/bin/salome/test/kernel/KernelHelpers/TestKernelHelpers.py +55 -0
  72. salome/bin/salome/test/kernel/Launcher/CTestTestfile.cmake +43 -0
  73. salome/bin/salome/test/kernel/Launcher/TestSSLAttached.py +110 -0
  74. salome/bin/salome/test/kernel/Launcher/launcher_use_case.py +65 -0
  75. salome/bin/salome/test/kernel/Launcher/testCrashProofContainer.py +423 -0
  76. salome/bin/salome/test/kernel/Launcher/testPerfLogManager1.py +382 -0
  77. salome/bin/salome/test/kernel/Launcher/test_launcher.py +674 -0
  78. salome/bin/salome/test/kernel/Launcher/test_stress.sh +45 -0
  79. salome/bin/salome/test/kernel/Launcher_SWIG/CTestTestfile.cmake +30 -0
  80. salome/bin/salome/test/kernel/Launcher_SWIG/test_swig_launcher.py +706 -0
  81. salome/bin/salome/test/kernel/LifeCycleCORBA/CTestTestfile.cmake +27 -0
  82. salome/bin/salome/test/kernel/LifeCycleCORBA/LifeCycleCORBATest.hxx +105 -0
  83. salome/bin/salome/test/kernel/LifeCycleCORBA/TestLifeCycleCORBA +0 -0
  84. salome/bin/salome/test/kernel/LifeCycleCORBA/TestLifeCycleCORBA.py +93 -0
  85. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/CTestTestfile.cmake +40 -0
  86. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/CatalogResources_resource.xml +15 -0
  87. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/LifeCycleCORBA_SWIGTest.py +217 -0
  88. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/SALOME_TestComponentPy.py +49 -0
  89. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/TestLifeCycleCORBA_SWIG.py +100 -0
  90. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/testcontainermanager.py +88 -0
  91. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/testresourcemanager.py +155 -0
  92. salome/bin/salome/test/kernel/NamingService/CTestTestfile.cmake +28 -0
  93. salome/bin/salome/test/kernel/NamingService/NamingServiceTest.hxx +169 -0
  94. salome/bin/salome/test/kernel/NamingService/TestNamingService +0 -0
  95. salome/bin/salome/test/kernel/NamingService/TestNamingService.py +64 -0
  96. salome/bin/salome/test/kernel/SALOMEDS/CTestTestfile.cmake +27 -0
  97. salome/bin/salome/test/kernel/SALOMEDS/SALOMEDSTest.hxx +192 -0
  98. salome/bin/salome/test/kernel/SALOMEDS/TestSALOMEDS +0 -0
  99. salome/bin/salome/test/kernel/SALOMEDS/TestSALOMEDS.py +55 -0
  100. salome/bin/salome/test/kernel/SALOMEDSImpl/CTestTestfile.cmake +27 -0
  101. salome/bin/salome/test/kernel/SALOMEDSImpl/SALOMEDSImplTest.hxx +51 -0
  102. salome/bin/salome/test/kernel/SALOMEDSImpl/TestSALOMEDSImpl +0 -0
  103. salome/bin/salome/test/kernel/SALOMEDSImpl/TestSALOMEDSImpl.py +55 -0
  104. salome/bin/salome/test/kernel/SALOMELocalTrace/CTestTestfile.cmake +27 -0
  105. salome/bin/salome/test/kernel/SALOMELocalTrace/SALOMELocalTraceTest.hxx +59 -0
  106. salome/bin/salome/test/kernel/SALOMELocalTrace/TestSALOMELocalTrace +0 -0
  107. salome/bin/salome/test/kernel/SALOMELocalTrace/TestSALOMELocalTrace.py +40 -0
  108. salome/bin/salome/test/kernel/SALOMETraceCollector/CTestTestfile.cmake +27 -0
  109. salome/bin/salome/test/kernel/SALOMETraceCollector/SALOMETraceCollectorTest.hxx +51 -0
  110. salome/bin/salome/test/kernel/SALOMETraceCollector/TestSALOMETraceCollector +0 -0
  111. salome/bin/salome/test/kernel/SALOMETraceCollector/TestSALOMETraceCollector.py +57 -0
  112. salome/bin/salome/test/kernel/UnitTests/CTestTestfile.cmake +28 -0
  113. salome/bin/salome/test/kernel/UnitTests/UnitTests +0 -0
  114. salome/bin/salome/test/kernel/UnitTests/UnitTests.py +89 -0
  115. salome/bin/salome/test/kernel/Utils/CTestTestfile.cmake +27 -0
  116. salome/bin/salome/test/kernel/Utils/TestUtils +0 -0
  117. salome/bin/salome/test/kernel/Utils/TestUtils.py +55 -0
  118. salome/bin/salome/test/kernel/Utils/UtilsTest.hxx +58 -0
  119. salome/bin/salome/test/kernel/lib/libLifeCycleCORBATest.so +0 -0
  120. salome/bin/salome/test/kernel/lib/libNamingServiceTest.so +0 -0
  121. salome/bin/salome/test/kernel/lib/libSALOMEDSImplTest.so +0 -0
  122. salome/bin/salome/test/kernel/lib/libSALOMEDSTest.so +0 -0
  123. salome/bin/salome/test/kernel/lib/libSALOMELocalTraceTest.so +0 -0
  124. salome/bin/salome/test/kernel/lib/libSALOMETraceCollectorTest.so +0 -0
  125. salome/bin/salome/test/kernel/lib/libSalomeKernelHelpersTest.so +0 -0
  126. salome/bin/salome/test/kernel/lib/libUtilsTest.so +0 -0
  127. salome/bin/salome/testDF +0 -0
  128. salome/bin/salome/testDS +0 -0
  129. salome/bin/salome/virtual_salome.py +38 -0
  130. salome/bin/salome/waitContainers.py +82 -0
  131. salome/bin/salome/waitNS.py +31 -0
  132. salome/kernel/ArgvKeeper.py +132 -0
  133. salome/kernel/Calcium_Ports_idl.py +645 -0
  134. salome/kernel/DSC_Engines_idl.py +443 -0
  135. salome/kernel/Engines/__init__.py +24 -0
  136. salome/kernel/Engines__POA/__init__.py +24 -0
  137. salome/kernel/Help.py +141 -0
  138. salome/kernel/KernelBasis.py +463 -0
  139. salome/kernel/KernelContainer.py +81 -0
  140. salome/kernel/KernelDS.py +87 -0
  141. salome/kernel/KernelLauncher.py +117 -0
  142. salome/kernel/KernelLogger.py +75 -0
  143. salome/kernel/KernelModuleCatalog.py +76 -0
  144. salome/kernel/KernelSDS.py +92 -0
  145. salome/kernel/KernelServices.py +105 -0
  146. salome/kernel/LifeCycleCORBA.py +92 -0
  147. salome/kernel/Logger_idl.py +89 -0
  148. salome/kernel/NSTEST/__init__.py +13 -0
  149. salome/kernel/NSTEST__POA/__init__.py +13 -0
  150. salome/kernel/NSparam_impl.py +50 -0
  151. salome/kernel/NamingService.py +365 -0
  152. salome/kernel/ORBConfigFile_impl.py +102 -0
  153. salome/kernel/Palm_Ports_idl.py +162 -0
  154. salome/kernel/PortManager.py +259 -0
  155. salome/kernel/Ports/Calcium_Ports/__init__.py +13 -0
  156. salome/kernel/Ports/Palm_Ports/__init__.py +13 -0
  157. salome/kernel/Ports/__init__.py +18 -0
  158. salome/kernel/Ports__POA/Calcium_Ports/__init__.py +13 -0
  159. salome/kernel/Ports__POA/Palm_Ports/__init__.py +13 -0
  160. salome/kernel/Ports__POA/__init__.py +18 -0
  161. salome/kernel/PyInterp.py +99 -0
  162. salome/kernel/Registry/__init__.py +13 -0
  163. salome/kernel/Registry__POA/__init__.py +13 -0
  164. salome/kernel/SALOME/__init__.py +19 -0
  165. salome/kernel/SALOMEDS/__init__.py +14 -0
  166. salome/kernel/SALOMEDS_Attributes_idl.py +2288 -0
  167. salome/kernel/SALOMEDS__POA/__init__.py +14 -0
  168. salome/kernel/SALOMEDS_idl.py +1590 -0
  169. salome/kernel/SALOMEWrappedStdType.py +383 -0
  170. salome/kernel/SALOME_Comm_idl.py +1045 -0
  171. salome/kernel/SALOME_CommonTypes_idl.py +69 -0
  172. salome/kernel/SALOME_ComponentPy.py +338 -0
  173. salome/kernel/SALOME_Component_idl.py +962 -0
  174. salome/kernel/SALOME_Container.py +242 -0
  175. salome/kernel/SALOME_ContainerHelper.py +840 -0
  176. salome/kernel/SALOME_ContainerManager_idl.py +236 -0
  177. salome/kernel/SALOME_DriverPy.py +86 -0
  178. salome/kernel/SALOME_Embedded_NamingService.py +41 -0
  179. salome/kernel/SALOME_Embedded_NamingService_ClientPy.py +59 -0
  180. salome/kernel/SALOME_Embedded_NamingService_idl.py +125 -0
  181. salome/kernel/SALOME_Exception_idl.py +75 -0
  182. salome/kernel/SALOME_ExternalServerLauncher_idl.py +199 -0
  183. salome/kernel/SALOME_GenericObj_idl.py +154 -0
  184. salome/kernel/SALOME_GlobalsImpl.py +38 -0
  185. salome/kernel/SALOME_Launcher_idl.py +327 -0
  186. salome/kernel/SALOME_Locker_idl.py +185 -0
  187. salome/kernel/SALOME_LogManager.py +103 -0
  188. salome/kernel/SALOME_LogManager_idl.py +348 -0
  189. salome/kernel/SALOME_Logger/__init__.py +13 -0
  190. salome/kernel/SALOME_Logger__POA/__init__.py +13 -0
  191. salome/kernel/SALOME_MPIObject_idl.py +100 -0
  192. salome/kernel/SALOME_ModuleCatalog/__init__.py +13 -0
  193. salome/kernel/SALOME_ModuleCatalog__POA/__init__.py +13 -0
  194. salome/kernel/SALOME_ModuleCatalog_idl.py +624 -0
  195. salome/kernel/SALOME_NamingServicePy.py +313 -0
  196. salome/kernel/SALOME_PACOExtension_idl.py +292 -0
  197. salome/kernel/SALOME_ParamPorts_idl.py +102 -0
  198. salome/kernel/SALOME_Parametric_idl.py +154 -0
  199. salome/kernel/SALOME_Ports_idl.py +347 -0
  200. salome/kernel/SALOME_PyNode.py +1557 -0
  201. salome/kernel/SALOME_PyNode_idl.py +387 -0
  202. salome/kernel/SALOME_Registry_idl.py +155 -0
  203. salome/kernel/SALOME_ResourcesManager_idl.py +215 -0
  204. salome/kernel/SALOME_SDS_idl.py +1181 -0
  205. salome/kernel/SALOME_Session_idl.py +214 -0
  206. salome/kernel/SALOME_TYPES/__init__.py +14 -0
  207. salome/kernel/SALOME_TYPES__POA/__init__.py +14 -0
  208. salome/kernel/SALOME_TestComponent_idl.py +121 -0
  209. salome/kernel/SALOME_TestModuleCatalog/__init__.py +13 -0
  210. salome/kernel/SALOME_TestModuleCatalog__POA/__init__.py +13 -0
  211. salome/kernel/SALOME_TestModuleCatalog_idl.py +194 -0
  212. salome/kernel/SALOME_Trace.py +96 -0
  213. salome/kernel/SALOME_Types_idl.py +81 -0
  214. salome/kernel/SALOME__POA/__init__.py +19 -0
  215. salome/kernel/SALOME_utilities.py +63 -0
  216. salome/kernel/SalomeSDSClt.py +552 -0
  217. salome/kernel/TestKiller.py +76 -0
  218. salome/kernel/Utils_Identity.py +93 -0
  219. salome/kernel/_ArgvKeeper.so +0 -0
  220. salome/kernel/_KernelBasis.so +0 -0
  221. salome/kernel/_KernelContainer.so +0 -0
  222. salome/kernel/_KernelDS.so +0 -0
  223. salome/kernel/_KernelLauncher.so +0 -0
  224. salome/kernel/_KernelLogger.so +0 -0
  225. salome/kernel/_KernelModuleCatalog.so +0 -0
  226. salome/kernel/_KernelSDS.so +0 -0
  227. salome/kernel/_KernelServices.so +0 -0
  228. salome/kernel/_NamingService.so +0 -0
  229. salome/kernel/_calcium.so +0 -0
  230. salome/kernel/_libNOTIFICATION.so +0 -0
  231. salome/kernel/_libSALOME_Comm.so +0 -0
  232. salome/kernel/_libSALOME_LifeCycleCORBA.so +0 -0
  233. salome/kernel/_pylauncher.so +0 -0
  234. salome/kernel/addToKillList_impl.py +127 -0
  235. salome/kernel/batchmode_salome.py +295 -0
  236. salome/kernel/calcium.py +866 -0
  237. salome/kernel/dsccalcium.py +98 -0
  238. salome/kernel/iparameters.py +255 -0
  239. salome/kernel/kernel_test.py +114 -0
  240. salome/kernel/killSalomeWithPort_impl.py +518 -0
  241. salome/kernel/killSalome_impl.py +94 -0
  242. salome/kernel/launchConfigureParser.py +1234 -0
  243. salome/kernel/launcher_proxy.py +122 -0
  244. salome/kernel/libNOTIFICATION.py +119 -0
  245. salome/kernel/libSALOME_Comm.py +85 -0
  246. salome/kernel/libSALOME_LifeCycleCORBA.py +232 -0
  247. salome/kernel/main.py +8 -0
  248. salome/kernel/nameserver.py +134 -0
  249. salome/kernel/nstest_idl.py +129 -0
  250. salome/kernel/omnipatch.py +136 -0
  251. salome/kernel/orbmodule.py +246 -0
  252. salome/kernel/parseConfigFile.py +261 -0
  253. salome/kernel/pylauncher.py +883 -0
  254. salome/kernel/runConsole_impl.py +224 -0
  255. salome/kernel/runSalomeCommon.py +418 -0
  256. salome/kernel/runSalomeNoServer_impl.py +48 -0
  257. salome/kernel/runSalomeOld_impl.py +603 -0
  258. salome/kernel/runSalomeOnDemand_impl.py +72 -0
  259. salome/kernel/runSalome_impl.py +341 -0
  260. salome/kernel/runSession.py +360 -0
  261. salome/kernel/runTests.py +90 -0
  262. salome/kernel/salome/__init__.py +648 -0
  263. salome/kernel/salome/kernel/__init__.py +111 -0
  264. salome/kernel/salome/kernel/datamodeler.py +363 -0
  265. salome/kernel/salome/kernel/deprecation.py +165 -0
  266. salome/kernel/salome/kernel/diclookup.py +137 -0
  267. salome/kernel/salome/kernel/enumerate.py +232 -0
  268. salome/kernel/salome/kernel/logconfig.py +27 -0
  269. salome/kernel/salome/kernel/logger.py +290 -0
  270. salome/kernel/salome/kernel/parametric/__init__.py +26 -0
  271. salome/kernel/salome/kernel/parametric/compo_utils.py +137 -0
  272. salome/kernel/salome/kernel/parametric/pyscript_utils.py +135 -0
  273. salome/kernel/salome/kernel/parametric/study_exchange_vars.py +285 -0
  274. salome/kernel/salome/kernel/pyunittester.py +184 -0
  275. salome/kernel/salome/kernel/services.py +267 -0
  276. salome/kernel/salome/kernel/studyedit.py +637 -0
  277. salome/kernel/salome/kernel/syshelper.py +116 -0
  278. salome/kernel/salome/kernel/termcolor.py +239 -0
  279. salome/kernel/salome/kernel/testdata.py +159 -0
  280. salome/kernel/salome/kernel/threadhelper.py +385 -0
  281. salome/kernel/salome/kernel/uiexception.py +121 -0
  282. salome/kernel/salome/kernel/unittester.py +89 -0
  283. salome/kernel/salomeContextUtils.py +353 -0
  284. salome/kernel/salomeContext_impl.py +731 -0
  285. salome/kernel/salome_ComponentGUI.py +92 -0
  286. salome/kernel/salome_genericobj.py +44 -0
  287. salome/kernel/salome_iapp.py +206 -0
  288. salome/kernel/salome_instance_impl.py +109 -0
  289. salome/kernel/salome_kernel_utils.py +88 -0
  290. salome/kernel/salome_notebook.py +183 -0
  291. salome/kernel/salome_psutil.py +94 -0
  292. salome/kernel/salome_pynode.py +74 -0
  293. salome/kernel/salome_study.py +347 -0
  294. salome/kernel/salome_test.py +56 -0
  295. salome/kernel/salome_utils.py +563 -0
  296. salome/kernel/salome_version.py +164 -0
  297. salome/kernel/searchFreePort.py +130 -0
  298. salome/kernel/server.py +154 -0
  299. salome/kernel/setenv_impl.py +240 -0
  300. salome/kernel/share/salome/resources/kernel/Anita semi square.ttf +0 -0
  301. salome/kernel/share/salome/resources/kernel/CatalogModulePersonnel.xml_skel +24 -0
  302. salome/kernel/share/salome/resources/kernel/CatalogResources.xml +4 -0
  303. salome/kernel/share/salome/resources/kernel/KERNELCatalog.xml +102 -0
  304. salome/kernel/share/salome/resources/kernel/SALOMEDS_Resources +10 -0
  305. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_LAN.py +19 -0
  306. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_MPICH.py +18 -0
  307. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_OPENMPI.py +21 -0
  308. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_NO_MPI.py +25 -0
  309. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE.py +108 -0
  310. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE_OLD.py +115 -0
  311. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/script_parameters.py +25 -0
  312. salome/kernel/share/salome/resources/kernel/app-template/CMakeLists.txt +125 -0
  313. salome/kernel/share/salome/resources/kernel/app-template/LICENCE +504 -0
  314. salome/kernel/share/salome/resources/kernel/app-template/README +0 -0
  315. salome/kernel/share/salome/resources/kernel/app-template/doc/CMakeLists.txt +31 -0
  316. salome/kernel/share/salome/resources/kernel/app-template/doc/README +1 -0
  317. salome/kernel/share/salome/resources/kernel/app-template/doc/conf.py.in +197 -0
  318. salome/kernel/share/salome/resources/kernel/app-template/doc/index.rst +14 -0
  319. salome/kernel/share/salome/resources/kernel/app-template/doc/intro.rst +4 -0
  320. salome/kernel/share/salome/resources/kernel/app-template/doc/link.rst +4 -0
  321. salome/kernel/share/salome/resources/kernel/app-template/resources/CMakeLists.txt +36 -0
  322. salome/kernel/share/salome/resources/kernel/app-template/resources/SalomeApp.xml.in +30 -0
  323. salome/kernel/share/salome/resources/kernel/app-template/resources/about.png +0 -0
  324. salome/kernel/share/salome/resources/kernel/app-template/resources/app_icon.png +0 -0
  325. salome/kernel/share/salome/resources/kernel/app-template/resources/app_logo.png +0 -0
  326. salome/kernel/share/salome/resources/kernel/app-template/resources/doc/CMakeLists.txt +27 -0
  327. salome/kernel/share/salome/resources/kernel/app-template/resources/doc/README +1 -0
  328. salome/kernel/share/salome/resources/kernel/app-template/resources/doc/sample.pdf +0 -0
  329. salome/kernel/share/salome/resources/kernel/app-template/resources/icon_about.png +0 -0
  330. salome/kernel/share/salome/resources/kernel/app-template/resources/splash.png +0 -0
  331. salome/kernel/share/salome/resources/kernel/app-template/src/CMakeLists.txt +22 -0
  332. salome/kernel/share/salome/resources/kernel/app-template/src/resources/CMakeLists.txt +34 -0
  333. salome/kernel/share/salome/resources/kernel/app-template/src/resources/LightApp_images.ts +23 -0
  334. salome/kernel/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_en.ts +35 -0
  335. salome/kernel/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_fr.ts +35 -0
  336. salome/kernel/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_ja.ts +35 -0
  337. salome/kernel/share/salome/resources/kernel/app-template/src/tests/CMakeLists.txt +29 -0
  338. salome/kernel/share/salome/resources/kernel/app-template/src/tests/README +1 -0
  339. salome/kernel/share/salome/resources/kernel/app-template/src/tests/helloWorld.py +1 -0
  340. salome/kernel/share/salome/resources/kernel/background.png +0 -0
  341. salome/kernel/share/salome/resources/kernel/channel.cfg +278 -0
  342. salome/kernel/share/salome/resources/kernel/testLauncher.xml +10 -0
  343. salome/kernel/version_and_config.py +24 -0
  344. salome/share/salome/resources/kernel/Anita semi square.ttf +0 -0
  345. salome/share/salome/resources/kernel/CatalogModulePersonnel.xml_skel +24 -0
  346. salome/share/salome/resources/kernel/CatalogResources.xml +4 -0
  347. salome/share/salome/resources/kernel/KERNELCatalog.xml +102 -0
  348. salome/share/salome/resources/kernel/SALOMEDS_Resources +10 -0
  349. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_LAN.py +19 -0
  350. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_MPICH.py +18 -0
  351. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_OPENMPI.py +21 -0
  352. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_NO_MPI.py +25 -0
  353. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE.py +108 -0
  354. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE_OLD.py +115 -0
  355. salome/share/salome/resources/kernel/ScriptsTemplate/script_parameters.py +25 -0
  356. salome/share/salome/resources/kernel/app-template/CMakeLists.txt +125 -0
  357. salome/share/salome/resources/kernel/app-template/LICENCE +504 -0
  358. salome/share/salome/resources/kernel/app-template/README +0 -0
  359. salome/share/salome/resources/kernel/app-template/doc/CMakeLists.txt +31 -0
  360. salome/share/salome/resources/kernel/app-template/doc/README +1 -0
  361. salome/share/salome/resources/kernel/app-template/doc/conf.py.in +197 -0
  362. salome/share/salome/resources/kernel/app-template/doc/index.rst +14 -0
  363. salome/share/salome/resources/kernel/app-template/doc/intro.rst +4 -0
  364. salome/share/salome/resources/kernel/app-template/doc/link.rst +4 -0
  365. salome/share/salome/resources/kernel/app-template/resources/CMakeLists.txt +36 -0
  366. salome/share/salome/resources/kernel/app-template/resources/SalomeApp.xml.in +30 -0
  367. salome/share/salome/resources/kernel/app-template/resources/about.png +0 -0
  368. salome/share/salome/resources/kernel/app-template/resources/app_icon.png +0 -0
  369. salome/share/salome/resources/kernel/app-template/resources/app_logo.png +0 -0
  370. salome/share/salome/resources/kernel/app-template/resources/doc/CMakeLists.txt +27 -0
  371. salome/share/salome/resources/kernel/app-template/resources/doc/README +1 -0
  372. salome/share/salome/resources/kernel/app-template/resources/doc/sample.pdf +0 -0
  373. salome/share/salome/resources/kernel/app-template/resources/icon_about.png +0 -0
  374. salome/share/salome/resources/kernel/app-template/resources/splash.png +0 -0
  375. salome/share/salome/resources/kernel/app-template/src/CMakeLists.txt +22 -0
  376. salome/share/salome/resources/kernel/app-template/src/resources/CMakeLists.txt +34 -0
  377. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_images.ts +23 -0
  378. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_en.ts +35 -0
  379. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_fr.ts +35 -0
  380. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_ja.ts +35 -0
  381. salome/share/salome/resources/kernel/app-template/src/tests/CMakeLists.txt +29 -0
  382. salome/share/salome/resources/kernel/app-template/src/tests/README +1 -0
  383. salome/share/salome/resources/kernel/app-template/src/tests/helloWorld.py +1 -0
  384. salome/share/salome/resources/kernel/background.png +0 -0
  385. salome/share/salome/resources/kernel/channel.cfg +278 -0
  386. salome/share/salome/resources/kernel/testLauncher.xml +10 -0
  387. salome_kernel-9.14.0.post6.dist-info/METADATA +25 -0
  388. salome_kernel-9.14.0.post6.dist-info/RECORD +443 -0
  389. salome_kernel-9.14.0.post6.dist-info/WHEEL +6 -0
  390. salome_kernel-9.14.0.post6.dist-info/entry_points.txt +2 -0
  391. salome_kernel-9.14.0.post6.dist-info/sboms/auditwheel.cdx.json +1 -0
  392. salome_kernel.libs/libArgvKeeper-822351d5.so +0 -0
  393. salome_kernel.libs/libCOS4-b4544fb9.so.2.5 +0 -0
  394. salome_kernel.libs/libCOSDynamic4-618dbb1d.so.2.5 +0 -0
  395. salome_kernel.libs/libCalciumC-f6af782c.so +0 -0
  396. salome_kernel.libs/libDF-281cc999.so +0 -0
  397. salome_kernel.libs/libLauncher-09c39914.so +0 -0
  398. salome_kernel.libs/libLauncherWrapHelper-5ee25ab2.so +0 -0
  399. salome_kernel.libs/libOpUtil-8d37ccc8.so +0 -0
  400. salome_kernel.libs/libRegistry-e4a63a9e.so +0 -0
  401. salome_kernel.libs/libResourcesManager-f4ef9548.so +0 -0
  402. salome_kernel.libs/libSALOMEBasics-f4d874ac.so +0 -0
  403. salome_kernel.libs/libSALOMELocalTrace-a3992e5b.so +0 -0
  404. salome_kernel.libs/libSALOMELog-55805468.so +0 -0
  405. salome_kernel.libs/libSalomeCalcium-859bd08a.so +0 -0
  406. salome_kernel.libs/libSalomeCatalog-cc0d3e4b.so +0 -0
  407. salome_kernel.libs/libSalomeCommunication-451307b4.so +0 -0
  408. salome_kernel.libs/libSalomeContainer-385f22bc.so +0 -0
  409. salome_kernel.libs/libSalomeContainerServer-22f0534a.so +0 -0
  410. salome_kernel.libs/libSalomeDS-52142005.so +0 -0
  411. salome_kernel.libs/libSalomeDSCContainer-50b97993.so +0 -0
  412. salome_kernel.libs/libSalomeDSCSuperv-c3169f30.so +0 -0
  413. salome_kernel.libs/libSalomeDSCSupervBasic-49dc930a.so +0 -0
  414. salome_kernel.libs/libSalomeDSClient-dc9947bb.so +0 -0
  415. salome_kernel.libs/libSalomeDSImpl-7984f375.so +0 -0
  416. salome_kernel.libs/libSalomeDatastream-450015c8.so +0 -0
  417. salome_kernel.libs/libSalomeGenericObj-3ccf0028.so +0 -0
  418. salome_kernel.libs/libSalomeHDFPersist-5d0aa606.so +0 -0
  419. salome_kernel.libs/libSalomeIDLKernel-2eb1ed8e.so +0 -0
  420. salome_kernel.libs/libSalomeKernelHelpers-1e3c2b19.so +0 -0
  421. salome_kernel.libs/libSalomeLauncher-59553570.so +0 -0
  422. salome_kernel.libs/libSalomeLifeCycleCORBA-d0360629.so +0 -0
  423. salome_kernel.libs/libSalomeLoggerServer-15201cc7.so +0 -0
  424. salome_kernel.libs/libSalomeNS-a03a7eba.so +0 -0
  425. salome_kernel.libs/libSalomeNotification-66efcfbd.so +0 -0
  426. salome_kernel.libs/libSalomeORB-f304f4df.so +0 -0
  427. salome_kernel.libs/libSalomePalm-72fea792.so +0 -0
  428. salome_kernel.libs/libSalomeResourcesManager-fd411949.so +0 -0
  429. salome_kernel.libs/libSalomeSDS-543d0459.so +0 -0
  430. salome_kernel.libs/libSalomeTestComponentEngine-317ebef6.so +0 -0
  431. salome_kernel.libs/libTOOLSDS-db8e8629.so +0 -0
  432. salome_kernel.libs/libbatch-779d48ee.so +0 -0
  433. salome_kernel.libs/libboost_atomic-489c2d94.so.1.81.0 +0 -0
  434. salome_kernel.libs/libboost_filesystem-e610b554.so.1.81.0 +0 -0
  435. salome_kernel.libs/libboost_system-4a7650ea.so.1.81.0 +0 -0
  436. salome_kernel.libs/libcppunit-1-17e77af1.12.so.1.0.0 +0 -0
  437. salome_kernel.libs/libhdf5-4696a94b.so.103.0.0 +0 -0
  438. salome_kernel.libs/liblzma-004595ca.so.5.2.2 +0 -0
  439. salome_kernel.libs/libomniDynamic4-9edc765d.so.2.5 +0 -0
  440. salome_kernel.libs/libomniORB4-4725824d.so.2.5 +0 -0
  441. salome_kernel.libs/libomnithread-99f9d0d3.so.4.1 +0 -0
  442. salome_kernel.libs/libwith_loggerTraceCollector-c1de231b.so +0 -0
  443. salome_kernel.libs/libwith_loggerTraceCollector.so +0 -0
  444. 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