1/* 2 * Copyright (C) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16import { QueryEnum } from './QueryEnum'; 17import { cpuDataReceiver, searchDataHandler } from '../CpuDataReceiver'; 18import { processDataReceiver } from '../process/ProcessDataReceiver'; 19import { threadDataReceiver } from '../process//ThreadDataReceiver'; 20import { funcDataReceiver } from '../process//FuncDataReceiver'; 21import { hiperfCpuDataReceiver } from '../hiperf/HiperfCpuDataReceiver'; 22import { hiperfProcessDataReceiver } from '../hiperf/HiperfProcessDataReceiver'; 23import { hiperfThreadDataReceiver } from '../hiperf/HiperfThreadDataReceiver'; 24import { cpuStateReceiver } from '../cpu/CpuStateReceiver'; 25import { cpuFreqLimitReceiver } from '../cpu/CpuFreqLimitDataReceiver'; 26import { clockDataReceiver } from '../ClockDataReceiver'; 27import { irqDataReceiver } from '../IrqDataReceiver'; 28import { processExpectedDataReceiver } from '../process/ProcessExpectedDataReceiver'; 29import { processActualDataReceiver } from '../process//ProcessActualDataReceiver'; 30import { hiPerfCallChartDataHandler, hiPerfCallStackCacheHandler } from '../hiperf/HiperfCallChartReceiver'; 31import { virtualMemoryDataReceiver } from '../VirtualMemoryDataReceiver'; 32import { processMemDataReceiver } from '../process//ProcessMemDataReceiver'; 33import { processStartupDataReceiver } from '../process//ProcessStartupDataReceiver'; 34import { processSoInitDataReceiver } from '../process//ProcessSoInitDataReceiver'; 35import { processDeliverInputEventDataReceiver } from '../process//ProcessDeliverInputEventDataReceiver'; 36 37import { 38 dmaDataReceiver, 39 gpuDataReceiver, 40 gpuMemoryDataReceiver, 41 gpuResourceDataReceiver, 42 gpuTotalDataReceiver, 43 gpuWindowDataReceiver, 44 purgeableDataReceiver, 45 sMapsDataReceiver, 46 shmDataReceiver, 47 abilityDmaDataReceiver, 48 abilityGpuMemoryDataReceiver, 49 abilityPurgeableDataReceiver, 50} from '../VmTrackerDataReceiver'; 51import { 52 abilityBytesInTraceDataReceiver, 53 abilityBytesOutTraceDataReceiver, 54 abilityMemoryUsedDataReceiver, 55 abilityPacketInTraceDataReceiver, 56 abilityPacketsOutTraceDataReceiver, 57 cpuAbilityMonitorDataReceiver, 58 cpuAbilitySystemDataReceiver, 59 cpuAbilityUserDataReceiver, 60 abilityBytesReadDataReceiver, 61 abilityBytesWrittenDataReceiver, 62 abilityReadOpsDataReceiver, 63 abilityWrittenOpsDataReceiver, 64} from '../AbilityMonitorReceiver'; 65import { hiSysEventDataReceiver } from '../HiSysEventDataReceiver'; 66import { logDataReceiver } from '../LogDataReceiver'; 67import { cpuProfilerDataReceiver } from '../ArkTsReceiver'; 68import { frameActualReceiver, frameExpectedReceiver } from '../FrameJanksReceiver'; 69import { diskIoReceiver, eBPFVmReceiver, fileSystemDataReceiver } from '../EBPFReceiver'; 70import { nativeMemoryDataHandler } from '../NativeMemoryDataReceiver'; 71import { frameAnimationReceiver, frameDynamicReceiver, frameSpacingReceiver } from '../FrameDynamicEffectReceiver'; 72import { 73 energySysEventReceiver, 74 hiSysEnergyAnomalyDataReceiver, hiSysEnergyPowerReceiver, 75 hiSysEnergyStateReceiver 76} from '../EnergySysEventReceiver'; 77import {clearMemoryCache} from "./AllMemoryCache"; 78import { cpuFreqDataReceiver } from '../cpu/CpuFreqDataReceiver'; 79const traficHandlers: Map<number, any> = new Map<number, any>([]); 80export const execProtoForWorker = (data: any, proc: Function): void => traficHandlers.get(data.name)?.(data, proc); 81 82traficHandlers.set(QueryEnum.ClearMemoryCache, clearMemoryCache); 83traficHandlers.set(QueryEnum.CpuData, cpuDataReceiver); 84traficHandlers.set(QueryEnum.SearchCpuData, searchDataHandler); 85traficHandlers.set(QueryEnum.CpuFreqData, cpuFreqDataReceiver); 86traficHandlers.set(QueryEnum.CpuStateData, cpuStateReceiver); 87traficHandlers.set(QueryEnum.CpuFreqLimitData, cpuFreqLimitReceiver); 88traficHandlers.set(QueryEnum.ProcessData, processDataReceiver); 89traficHandlers.set(QueryEnum.ThreadData, threadDataReceiver); 90traficHandlers.set(QueryEnum.FuncData, funcDataReceiver); 91traficHandlers.set(QueryEnum.HiperfCallChart, hiPerfCallChartDataHandler); 92traficHandlers.set(QueryEnum.HiperfCallStack, hiPerfCallStackCacheHandler); 93traficHandlers.set(QueryEnum.HiperfCpuData, hiperfCpuDataReceiver); 94traficHandlers.set(QueryEnum.HiperfProcessData, hiperfProcessDataReceiver); 95traficHandlers.set(QueryEnum.HiperfThreadData, hiperfThreadDataReceiver); 96traficHandlers.set(QueryEnum.NativeMemoryChartCacheNormal, nativeMemoryDataHandler); 97traficHandlers.set(QueryEnum.NativeMemoryChartCacheStatistic, nativeMemoryDataHandler); 98traficHandlers.set(QueryEnum.NativeMemoryChartData, nativeMemoryDataHandler); 99traficHandlers.set(QueryEnum.ClockData, clockDataReceiver); 100traficHandlers.set(QueryEnum.IrqData, irqDataReceiver); 101traficHandlers.set(QueryEnum.VirtualMemoryData, virtualMemoryDataReceiver); 102traficHandlers.set(QueryEnum.ProcessMemData, processMemDataReceiver); 103traficHandlers.set(QueryEnum.ProcessStartupData, processStartupDataReceiver); 104traficHandlers.set(QueryEnum.ProcessSoInitData, processSoInitDataReceiver); 105traficHandlers.set(QueryEnum.processExpectedData, processExpectedDataReceiver); 106traficHandlers.set(QueryEnum.processActualData, processActualDataReceiver); 107traficHandlers.set(QueryEnum.processDeliverInputEventData, processDeliverInputEventDataReceiver); 108traficHandlers.set(QueryEnum.VmTrackerSmapsData, sMapsDataReceiver); 109traficHandlers.set(QueryEnum.VmTrackerDmaData, dmaDataReceiver); 110traficHandlers.set(QueryEnum.VmTrackerGpuMemoryData, gpuMemoryDataReceiver); 111traficHandlers.set(QueryEnum.VmTrackerGpuData, gpuDataReceiver); 112traficHandlers.set(QueryEnum.VmTrackerGpuResourceData, gpuResourceDataReceiver); 113traficHandlers.set(QueryEnum.VmTrackerGpuTotalData, gpuTotalDataReceiver); 114traficHandlers.set(QueryEnum.VmTrackerGpuWindowData, gpuWindowDataReceiver); 115traficHandlers.set(QueryEnum.VmTrackerShmData, shmDataReceiver); 116traficHandlers.set(QueryEnum.VmTrackerPurgeableData, purgeableDataReceiver); 117traficHandlers.set(QueryEnum.AbilityMemoryUsedData, abilityMemoryUsedDataReceiver); 118traficHandlers.set(QueryEnum.CpuAbilityUserData, cpuAbilityUserDataReceiver); 119traficHandlers.set(QueryEnum.CpuAbilitySystemData, cpuAbilitySystemDataReceiver); 120traficHandlers.set(QueryEnum.CpuAbilityMonitorData, cpuAbilityMonitorDataReceiver); 121traficHandlers.set(QueryEnum.AbilityBytesReadData, abilityBytesReadDataReceiver); 122traficHandlers.set(QueryEnum.AbilityBytesWrittenData, abilityBytesWrittenDataReceiver); 123traficHandlers.set(QueryEnum.AbilityReadOpsData, abilityReadOpsDataReceiver); 124traficHandlers.set(QueryEnum.AbilityWrittenOpsData, abilityWrittenOpsDataReceiver); 125traficHandlers.set(QueryEnum.AbilityBytesInTraceData, abilityBytesInTraceDataReceiver); 126traficHandlers.set(QueryEnum.AbilityBytesOutTraceData, abilityBytesOutTraceDataReceiver); 127traficHandlers.set(QueryEnum.AbilityPacketInTraceData, abilityPacketInTraceDataReceiver); 128traficHandlers.set(QueryEnum.AbilityPacketsOutTraceData, abilityPacketsOutTraceDataReceiver); 129traficHandlers.set(QueryEnum.AbilityPurgeableData, abilityPurgeableDataReceiver); 130traficHandlers.set(QueryEnum.AbilityDmaData, abilityDmaDataReceiver); 131traficHandlers.set(QueryEnum.AbilityGpuMemoryData, abilityGpuMemoryDataReceiver); 132traficHandlers.set(QueryEnum.HiSysEventData, hiSysEventDataReceiver); 133traficHandlers.set(QueryEnum.HilogData, logDataReceiver); 134traficHandlers.set(QueryEnum.FileSystemData, fileSystemDataReceiver); 135traficHandlers.set(QueryEnum.DiskIoData, diskIoReceiver); 136traficHandlers.set(QueryEnum.EBPFVm, eBPFVmReceiver); 137traficHandlers.set(QueryEnum.CpuProfilerData, cpuProfilerDataReceiver); 138traficHandlers.set(QueryEnum.FrameExpectedData, frameExpectedReceiver); 139traficHandlers.set(QueryEnum.FrameActualData, frameActualReceiver); 140traficHandlers.set(QueryEnum.EnergyAnomalyData, hiSysEnergyAnomalyDataReceiver); 141traficHandlers.set(QueryEnum.EnergyStateData, hiSysEnergyStateReceiver); 142traficHandlers.set(QueryEnum.EnergyPowerData, hiSysEnergyPowerReceiver); 143traficHandlers.set(QueryEnum.FrameAnimationData, frameAnimationReceiver); 144traficHandlers.set(QueryEnum.FrameDynamicData, frameDynamicReceiver); 145traficHandlers.set(QueryEnum.FrameSpacingData, frameSpacingReceiver); 146traficHandlers.set(QueryEnum.EnergySystemData, energySysEventReceiver); 147