1 /* 2 * Copyright (c) 2021 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 16 #ifndef TRACE_STREAMERTOKEN_H 17 #define TRACE_STREAMERTOKEN_H 18 19 #include <memory> 20 namespace SysTuning { 21 namespace TraceStreamer { 22 class AnimationFilter; 23 class SliceFilter; 24 class ProcessFilter; 25 class CpuFilter; 26 class MeasureFilter; 27 class FilterFilter; 28 class ClockFilterEx; 29 class SymbolsFilter; 30 class StatFilter; 31 class BinderFilter; 32 class ArgsFilter; 33 class IrqFilter; 34 class SystemEventMeasureFilter; 35 class HiSysEventMeasureFilter; 36 class FrameFilter; 37 class APPStartupFilter; 38 class TaskPoolFilter; 39 class PerfDataFilter; 40 class TraceStreamerFilters { 41 public: 42 TraceStreamerFilters(); 43 ~TraceStreamerFilters(); 44 void FilterClear(); 45 std::unique_ptr<AnimationFilter> animationFilter_; 46 std::unique_ptr<ClockFilterEx> clockFilter_; 47 std::unique_ptr<FilterFilter> filterFilter_; 48 std::unique_ptr<SliceFilter> sliceFilter_; 49 std::unique_ptr<ProcessFilter> processFilter_; 50 std::unique_ptr<CpuFilter> cpuFilter_; 51 std::unique_ptr<MeasureFilter> cpuMeasureFilter_; 52 std::unique_ptr<MeasureFilter> threadMeasureFilter_; 53 std::unique_ptr<MeasureFilter> threadFilter_; 54 std::unique_ptr<MeasureFilter> processMeasureFilter_; 55 std::unique_ptr<MeasureFilter> processFilterFilter_; 56 std::unique_ptr<SymbolsFilter> symbolsFilter_; 57 std::unique_ptr<StatFilter> statFilter_; 58 std::unique_ptr<MeasureFilter> clockRateFilter_; 59 std::unique_ptr<MeasureFilter> clockEnableFilter_; 60 std::unique_ptr<MeasureFilter> clockDisableFilter_; 61 std::unique_ptr<MeasureFilter> clkRateFilter_; 62 std::unique_ptr<MeasureFilter> clkEnableFilter_; 63 std::unique_ptr<MeasureFilter> clkDisableFilter_; 64 std::unique_ptr<BinderFilter> binderFilter_; 65 std::unique_ptr<ArgsFilter> argsFilter_; 66 std::unique_ptr<IrqFilter> irqFilter_; 67 std::unique_ptr<SystemEventMeasureFilter> sysEventMemMeasureFilter_; 68 std::unique_ptr<SystemEventMeasureFilter> sysEventVMemMeasureFilter_; 69 std::unique_ptr<SystemEventMeasureFilter> sysEventSourceFilter_; 70 std::unique_ptr<HiSysEventMeasureFilter> hiSysEventMeasureFilter_; 71 std::unique_ptr<FrameFilter> frameFilter_; 72 std::unique_ptr<APPStartupFilter> appStartupFilter_; 73 std::unique_ptr<TaskPoolFilter> taskPoolFilter_; 74 std::unique_ptr<PerfDataFilter> perfDataFilter_; 75 }; 76 } // namespace TraceStreamer 77 } // namespace SysTuning 78 79 #endif // TRACE_STREAMERTOKEN_H 80