@yuebai008/cli
Version:
Command line interface for rapid qg-minigame development
1 lines • 3.8 kB
JavaScript
import*as Common from"../../core/common/common.js";import*as i18n from"../../core/i18n/i18n.js";import*as Root from"../../core/root/root.js";import*as SDK from"../../core/sdk/sdk.js";import*as UI from"../../ui/legacy/legacy.js";let loadedProfilerModule;const UIStrings={memory:"Memory",liveHeapProfile:"Live Heap Profile",startRecordingHeapAllocations:"Start recording heap allocations",stopRecordingHeapAllocations:"Stop recording heap allocations",startRecordingHeapAllocationsAndReload:"Start recording heap allocations and reload the page",startStopRecording:"Start/stop recording",showNativeFunctions:"Show native functions in JS Profile",showMemory:"Show Memory",showLiveHeapProfile:"Show Live Heap Profile"},str_=i18n.i18n.registerUIStrings("panels/profiler/profiler-meta.ts",UIStrings),i18nLazyString=i18n.i18n.getLazilyComputedLocalizedString.bind(void 0,str_);async function loadProfilerModule(){return loadedProfilerModule||(loadedProfilerModule=await import("./profiler.js")),loadedProfilerModule}function maybeRetrieveContextTypes(e){return void 0===loadedProfilerModule?[]:e(loadedProfilerModule)}UI.ViewManager.registerViewExtension({location:"panel",id:"heap_profiler",commandPrompt:i18nLazyString(UIStrings.showMemory),title:i18nLazyString(UIStrings.memory),order:60,loadView:async()=>(await loadProfilerModule()).HeapProfilerPanel.HeapProfilerPanel.instance()}),UI.ViewManager.registerViewExtension({location:"drawer-view",id:"live_heap_profile",commandPrompt:i18nLazyString(UIStrings.showLiveHeapProfile),title:i18nLazyString(UIStrings.liveHeapProfile),persistence:"closeable",order:100,loadView:async()=>(await loadProfilerModule()).LiveHeapProfileView.LiveHeapProfileView.instance(),experiment:Root.Runtime.ExperimentName.LIVE_HEAP_PROFILE}),UI.ActionRegistration.registerActionExtension({actionId:"live-heap-profile.toggle-recording",iconClass:"record-start",toggleable:!0,toggledIconClass:"record-stop",toggleWithRedColor:!0,loadActionDelegate:async()=>(await loadProfilerModule()).LiveHeapProfileView.ActionDelegate.instance(),category:UI.ActionRegistration.ActionCategory.MEMORY,experiment:Root.Runtime.ExperimentName.LIVE_HEAP_PROFILE,options:[{value:!0,title:i18nLazyString(UIStrings.startRecordingHeapAllocations)},{value:!1,title:i18nLazyString(UIStrings.stopRecordingHeapAllocations)}]}),UI.ActionRegistration.registerActionExtension({actionId:"live-heap-profile.start-with-reload",iconClass:"refresh",loadActionDelegate:async()=>(await loadProfilerModule()).LiveHeapProfileView.ActionDelegate.instance(),category:UI.ActionRegistration.ActionCategory.MEMORY,experiment:Root.Runtime.ExperimentName.LIVE_HEAP_PROFILE,title:i18nLazyString(UIStrings.startRecordingHeapAllocationsAndReload)}),UI.ActionRegistration.registerActionExtension({actionId:"profiler.heap-toggle-recording",category:UI.ActionRegistration.ActionCategory.MEMORY,iconClass:"record-start",title:i18nLazyString(UIStrings.startStopRecording),toggleable:!0,toggledIconClass:"record-stop",toggleWithRedColor:!0,contextTypes:()=>maybeRetrieveContextTypes((e=>[e.HeapProfilerPanel.HeapProfilerPanel])),loadActionDelegate:async()=>(await loadProfilerModule()).HeapProfilerPanel.HeapProfilerPanel.instance(),bindings:[{platform:"windows,linux",shortcut:"Ctrl+E"},{platform:"mac",shortcut:"Meta+E"}]}),Common.Settings.registerSettingExtension({category:Common.Settings.SettingCategory.PERFORMANCE,storageType:Common.Settings.SettingStorageType.Synced,title:i18nLazyString(UIStrings.showNativeFunctions),settingName:"showNativeFunctionsInJSProfile",settingType:Common.Settings.SettingType.BOOLEAN,defaultValue:!0}),UI.ContextMenu.registerProvider({contextTypes:()=>[SDK.RemoteObject.RemoteObject],loadProvider:async()=>(await loadProfilerModule()).HeapProfilerPanel.HeapProfilerPanel.instance(),experiment:void 0});