1 /* 2 * Copyright (c) Huawei Technologies Co., Ltd. 2023. All rights reserved. 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 16 #ifndef TRACE_DATA_CACHE_READER_H 17 #define TRACE_DATA_CACHE_READER_H 18 19 #include "activity_monitor_stdtype.h" 20 #include "animation_stdtype.h" 21 #include "app_startup_stdtype.h" 22 #include "arkts_stdtype.h" 23 #include "base_stdtype.h" 24 #include "callstack_stdtype.h" 25 #include "common_stdtype.h" 26 #include "ebpf_stdtype.h" 27 #include "hilog_stdtype.h" 28 #include "hiperf_stdtype.h" 29 #include "hisysevent_stdtype.h" 30 #include "measure_stdtype.h" 31 #include "native_memory_stdtype.h" 32 #include "render_service_stdtype.h" 33 #include "sched_stdtype.h" 34 #include "syscall_stdtype.h" 35 #include "task_pool_stdtype.h" 36 #include "trace_data_cache_base.h" 37 #include "xpower_stdtype.h" 38 39 namespace SysTuning { 40 namespace TraceStreamer { 41 using namespace TraceStdtype; 42 class TraceDataCacheReader : virtual public TraceDataCacheBase { 43 public: 44 TraceDataCacheReader() = default; 45 TraceDataCacheReader(const TraceDataCacheReader &) = delete; 46 TraceDataCacheReader &operator=(const TraceDataCacheReader &) = delete; 47 ~TraceDataCacheReader() override; 48 49 public: 50 const std::string &GetDataFromDict(DataIndex id) const; 51 const Process &GetConstProcessData(InternalPid internalPid) const; 52 const std::deque<Process> &GetConstProcessData() const; 53 const Thread &GetConstThreadData(InternalTid internalTid) const; 54 const std::deque<Thread> &GetConstThreadData() const; 55 const CallStack &GetConstInternalSlicesData() const; 56 const CallStack &GetConstIrqData() const; 57 const Filter &GetConstFilterData() const; 58 const Raw &GetConstRawTableData() const; 59 const Measure &GetConstMeasureData() const; 60 const Measure &GetConstSysMemMeasureData() const; 61 const Measure &GetConstProcessMeasureData() const; 62 const Measure &GetConstXpowerMeasureData() const; 63 const ThreadStateData &GetConstThreadStateData() const; 64 const SchedSlice &GetConstSchedSliceData() const; 65 const CpuMeasureFilter &GetConstCpuMeasuresData() const; 66 const Instants &GetConstInstantsData() const; 67 const ProcessMeasureFilter &GetConstProcessMeasureFilterData() const; 68 const ClockEventData &GetConstClockEventFilterData() const; 69 const ClkEventData &GetConstClkEventFilterData() const; 70 const std::string &GetConstSchedStateData(uint64_t rowId) const; 71 uint64_t TraceStartTime() const; 72 uint64_t TraceEndTime() const; 73 const StatAndInfo &GetConstStatAndInfo() const; 74 const MetaData &GetConstMetaData() const; 75 const SymbolsData &GetConstSymbolsData() const; 76 const SysCall &GetConstSysCallData() const; 77 const LogInfo &GetConstHilogData() const; 78 const NativeHook &GetConstNativeHookData() const; 79 const NativeHookFrame &GetConstNativeHookFrameData() const; 80 const NativeHookStatistic &GetConstNativeHookStatisticData() const; 81 const Hidump &GetConstHidumpData() const; 82 const PerfCallChain &GetConstPerfCallChainData() const; 83 const PerfFiles &GetConstPerfFilesData() const; 84 const PerfSample &GetConstPerfSampleData() const; 85 const PerfThread &GetConstPerfThreadData() const; 86 const PerfReport &GetConstPerfReportData() const; 87 const PerfNapiAsync &GetConstPerfNapiAsyncData() const; 88 const ArgSet &GetConstArgSetData() const; 89 const DataType &GetConstDataTypeData() const; 90 const SysMeasureFilter &GetConstSysMeasureFilterData() const; 91 const NetDetailData &GetConstNetworkData() const; 92 const CpuUsageDetailData &GetConstCpuUsageInfoData() const; 93 const DiskIOData &GetConstDiskIOData() const; 94 const LiveProcessDetailData &GetConstLiveProcessData() const; 95 const FileSystemSample &GetConstFileSystemSample() const; 96 const HiSysEventDeviceStateData &GetConstHiSysEventDeviceStateData() const; 97 const EbpfCallStackData &GetConstEbpfCallStackData() const; 98 const PagedMemorySampleData &GetConstPagedMemorySampleData() const; 99 const HiSysEventSubkeys &GetConstHiSysEventSubkeysData() const; 100 const HiSysEventMeasureData &GetConstHiSyseventMeasureData() const; 101 const TraceConfig &GetConstTraceConfigData() const; 102 const HiSysEventAllEventData &GetConstHiSysEventAllEventData() const; 103 const SmapsData &GetConstSmapsData() const; 104 const BioLatencySampleData &GetConstBioLatencySampleData() const; 105 const ClockSnapshotData &GetConstClockSnapshotData() const; 106 const DataSourceClockIdData &GetConstDataSourceClockIdData() const; 107 const FrameSlice &GetConstFrameSliceData() const; 108 const FrameMaps &GetConstFrameMapsData() const; 109 const GPUSlice &GetConstGPUSliceData() const; 110 const DmaFence &GetConstDmaFenceData() const; 111 const TaskPoolInfo &GetConstTaskPoolData() const; 112 const JsHeapFiles &GetConstJsHeapFilesData() const; 113 const JsHeapEdges &GetConstJsHeapEdgesData() const; 114 const JsHeapInfo &GetConstJsHeapInfoData() const; 115 const JsHeapLocation &GetConstJsHeapLocationData() const; 116 const JsHeapNodes &GetConstJsHeapNodesData() const; 117 const JsHeapSample &GetConstJsHeapSampleData() const; 118 const JsHeapString &GetConstJsHeapStringData() const; 119 const JsHeapTraceFuncInfo &GetConstJsHeapTraceFuncInfoData() const; 120 const JsHeapTraceNode &GetConstJsHeapTraceNodeData() const; 121 const JsCpuProfilerNode &GetConstJsCpuProfilerNodeData() const; 122 const JsCpuProfilerSample &GetConstJsCpuProfilerSampleData() const; 123 const JsConfig &GetConstJsConfigData() const; 124 const AppStartup &GetConstAppStartupData() const; 125 const SoStaticInitalization &GetConstSoStaticInitalizationData() const; 126 const Animation &GetConstAnimation() const; 127 const DeviceInfo &GetConstDeviceInfo() const; 128 const DynamicFrame &GetConstDynamicFrame() const; 129 const AshMemData &GetConstAshMemData() const; 130 const DmaMemData &GetConstDmaMemData() const; 131 const GpuProcessMemData &GetConstGpuProcessMemData() const; 132 const GpuWindowMemData &GetConstGpuWindowMemData() const; 133 const CpuDumpInfo &GetConstCpuDumpInfo() const; 134 const ProfileMemInfo &GetConstProfileMemInfo() const; 135 const RSImageDumpInfo &GetConstRSImageDumpInfo() const; 136 const XPowerAppStatistic &GetConstXPowerAppStatisticInfo() const; 137 const XPowerAppDetailCPU &GetConstXPowerAppDetailCPUInfo() const; 138 const XPowerAppDetailGPU &GetConstXPowerAppDetailGPUInfo() const; 139 const XPowerAppDetailWifi &GetConstXPowerAppDetailWifiInfo() const; 140 const XPowerAppDetailDisplay &GetConstXPowerAppDetailDisplayInfo() const; 141 const XPowerComponentTop &GetConstXPowerComponentTopInfo() const; 142 }; 143 } // namespace TraceStreamer 144 } // namespace SysTuning 145 #endif 146