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 StatFilter; 30 class BinderFilter; 31 class ArgsFilter; 32 class IrqFilter; 33 class SystemEventMeasureFilter; 34 class HiSysEventMeasureFilter; 35 class FrameFilter; 36 class APPStartupFilter; 37 class TaskPoolFilter; 38 class PerfDataFilter; 39 class TraceStreamerFilters { 40 public: 41 TraceStreamerFilters(); 42 ~TraceStreamerFilters(); 43 void FilterClear(); 44 std::unique_ptr<AnimationFilter> animationFilter_; 45 std::unique_ptr<ClockFilterEx> clockFilter_; 46 std::unique_ptr<FilterFilter> filterFilter_; 47 std::unique_ptr<SliceFilter> sliceFilter_; 48 std::unique_ptr<ProcessFilter> processFilter_; 49 std::unique_ptr<CpuFilter> cpuFilter_; 50 std::unique_ptr<MeasureFilter> cpuMeasureFilter_; 51 std::unique_ptr<MeasureFilter> processMeasureFilter_; 52 std::unique_ptr<StatFilter> statFilter_; 53 std::unique_ptr<MeasureFilter> clockRateFilter_; 54 std::unique_ptr<MeasureFilter> clockEnableFilter_; 55 std::unique_ptr<MeasureFilter> clockDisableFilter_; 56 std::unique_ptr<MeasureFilter> clkRateFilter_; 57 std::unique_ptr<MeasureFilter> clkEnableFilter_; 58 std::unique_ptr<MeasureFilter> clkDisableFilter_; 59 std::unique_ptr<BinderFilter> binderFilter_; 60 std::unique_ptr<ArgsFilter> argsFilter_; 61 std::unique_ptr<IrqFilter> irqFilter_; 62 std::unique_ptr<SystemEventMeasureFilter> sysEventMemMeasureFilter_; 63 std::unique_ptr<SystemEventMeasureFilter> sysEventVMemMeasureFilter_; 64 std::unique_ptr<SystemEventMeasureFilter> sysEventSourceFilter_; 65 std::unique_ptr<HiSysEventMeasureFilter> hiSysEventMeasureFilter_; 66 std::unique_ptr<FrameFilter> frameFilter_; 67 std::unique_ptr<APPStartupFilter> appStartupFilter_; 68 std::unique_ptr<TaskPoolFilter> taskPoolFilter_; 69 std::unique_ptr<PerfDataFilter> perfDataFilter_; 70 }; 71 } // namespace TraceStreamer 72 } // namespace SysTuning 73 74 #endif // TRACE_STREAMERTOKEN_H 75