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 38 namespace SysTuning { 39 namespace TraceStreamer { 40 using namespace TraceStdtype; 41 class TraceDataCacheReader : virtual public TraceDataCacheBase { 42 public: 43 TraceDataCacheReader() = default; 44 TraceDataCacheReader(const TraceDataCacheReader &) = delete; 45 TraceDataCacheReader &operator=(const TraceDataCacheReader &) = delete; 46 ~TraceDataCacheReader() override; 47 48 public: 49 const std::string &GetDataFromDict(DataIndex id) const; 50 const Process &GetConstProcessData(InternalPid internalPid) const; 51 const std::deque<Process> &GetConstProcessData() const; 52 const Thread &GetConstThreadData(InternalTid internalTid) const; 53 const std::deque<Thread> &GetConstThreadData() const; 54 const CallStack &GetConstInternalSlicesData() const; 55 const CallStack &GetConstIrqData() const; 56 const Filter &GetConstFilterData() const; 57 const Raw &GetConstRawTableData() const; 58 const Measure &GetConstMeasureData() const; 59 const Measure &GetConstSysMemMeasureData() const; 60 const Measure &GetConstProcessMeasureData() const; 61 const Measure &GetConstXpowerMeasureData() const; 62 const ThreadStateData &GetConstThreadStateData() const; 63 const SchedSlice &GetConstSchedSliceData() const; 64 const CpuMeasureFilter &GetConstCpuMeasuresData() const; 65 const Instants &GetConstInstantsData() const; 66 const ProcessMeasureFilter &GetConstProcessMeasureFilterData() const; 67 const ClockEventData &GetConstClockEventFilterData() const; 68 const ClkEventData &GetConstClkEventFilterData() const; 69 const std::string &GetConstSchedStateData(uint64_t rowId) const; 70 uint64_t TraceStartTime() const; 71 uint64_t TraceEndTime() const; 72 const StatAndInfo &GetConstStatAndInfo() const; 73 const MetaData &GetConstMetaData() const; 74 const SymbolsData &GetConstSymbolsData() const; 75 const SysCall &GetConstSysCallData() const; 76 const LogInfo &GetConstHilogData() const; 77 const NativeHook &GetConstNativeHookData() const; 78 const NativeHookFrame &GetConstNativeHookFrameData() const; 79 const NativeHookStatistic &GetConstNativeHookStatisticData() const; 80 const Hidump &GetConstHidumpData() const; 81 const PerfCallChain &GetConstPerfCallChainData() const; 82 const PerfFiles &GetConstPerfFilesData() const; 83 const PerfSample &GetConstPerfSampleData() const; 84 const PerfThread &GetConstPerfThreadData() const; 85 const PerfReport &GetConstPerfReportData() const; 86 const PerfNapiAsync &GetConstPerfNapiAsyncData() const; 87 const ArgSet &GetConstArgSetData() const; 88 const DataType &GetConstDataTypeData() const; 89 const SysMeasureFilter &GetConstSysMeasureFilterData() const; 90 const NetDetailData &GetConstNetworkData() const; 91 const CpuUsageDetailData &GetConstCpuUsageInfoData() const; 92 const DiskIOData &GetConstDiskIOData() const; 93 const LiveProcessDetailData &GetConstLiveProcessData() const; 94 const FileSystemSample &GetConstFileSystemSample() const; 95 const HiSysEventDeviceStateData &GetConstHiSysEventDeviceStateData() const; 96 const EbpfCallStackData &GetConstEbpfCallStackData() const; 97 const PagedMemorySampleData &GetConstPagedMemorySampleData() const; 98 const HiSysEventSubkeys &GetConstHiSysEventSubkeysData() const; 99 const HiSysEventMeasureData &GetConstHiSyseventMeasureData() const; 100 const TraceConfig &GetConstTraceConfigData() const; 101 const HiSysEventAllEventData &GetConstHiSysEventAllEventData() const; 102 const SmapsData &GetConstSmapsData() const; 103 const BioLatencySampleData &GetConstBioLatencySampleData() const; 104 const ClockSnapshotData &GetConstClockSnapshotData() const; 105 const DataSourceClockIdData &GetConstDataSourceClockIdData() const; 106 const FrameSlice &GetConstFrameSliceData() const; 107 const FrameMaps &GetConstFrameMapsData() const; 108 const GPUSlice &GetConstGPUSliceData() const; 109 const DmaFence &GetConstDmaFenceData() const; 110 const TaskPoolInfo &GetConstTaskPoolData() const; 111 const JsHeapFiles &GetConstJsHeapFilesData() const; 112 const JsHeapEdges &GetConstJsHeapEdgesData() const; 113 const JsHeapInfo &GetConstJsHeapInfoData() const; 114 const JsHeapLocation &GetConstJsHeapLocationData() const; 115 const JsHeapNodes &GetConstJsHeapNodesData() const; 116 const JsHeapSample &GetConstJsHeapSampleData() const; 117 const JsHeapString &GetConstJsHeapStringData() const; 118 const JsHeapTraceFuncInfo &GetConstJsHeapTraceFuncInfoData() const; 119 const JsHeapTraceNode &GetConstJsHeapTraceNodeData() const; 120 const JsCpuProfilerNode &GetConstJsCpuProfilerNodeData() const; 121 const JsCpuProfilerSample &GetConstJsCpuProfilerSampleData() const; 122 const JsConfig &GetConstJsConfigData() const; 123 const AppStartup &GetConstAppStartupData() const; 124 const SoStaticInitalization &GetConstSoStaticInitalizationData() const; 125 const Animation &GetConstAnimation() const; 126 const DeviceInfo &GetConstDeviceInfo() const; 127 const DynamicFrame &GetConstDynamicFrame() const; 128 const AshMemData &GetConstAshMemData() const; 129 const DmaMemData &GetConstDmaMemData() const; 130 const GpuProcessMemData &GetConstGpuProcessMemData() const; 131 const GpuWindowMemData &GetConstGpuWindowMemData() const; 132 const CpuDumpInfo &GetConstCpuDumpInfo() const; 133 const ProfileMemInfo &GetConstProfileMemInfo() const; 134 const RSImageDumpInfo &GetConstRSImageDumpInfo() const; 135 }; 136 } // namespace TraceStreamer 137 } // namespace SysTuning 138 #endif 139