• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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  #include "demo_trace_data_cache_writer.h"
17  #include "log.h"
18  namespace SysTuning {
19  namespace TraceStreamer {
20  using namespace TraceStdtype;
~DemoTraceDataCacheWriter()21  DemoTraceDataCacheWriter::~DemoTraceDataCacheWriter() {}
22  
GetGpuCounterData()23  GpuCounter* DemoTraceDataCacheWriter::GetGpuCounterData()
24  {
25      return &gpuCounter_;
26  }
GetGpuCounterObjectData()27  GpuCounterObject* DemoTraceDataCacheWriter::GetGpuCounterObjectData()
28  {
29      return &gpuCounterObject_;
30  }
GetSliceObjectData()31  SliceObject* DemoTraceDataCacheWriter::GetSliceObjectData()
32  {
33      return &sliceObject_;
34  }
GetSliceTableData()35  SliceData* DemoTraceDataCacheWriter::GetSliceTableData()
36  {
37      return &sliceData_;
38  }
GetMetaData()39  MetaData* DemoTraceDataCacheWriter::GetMetaData()
40  {
41      return &metaData_;
42  }
MixTraceTime(uint64_t timestampMin,uint64_t timestampMax)43  void DemoTraceDataCacheWriter::MixTraceTime(uint64_t timestampMin, uint64_t timestampMax)
44  {
45      if (timestampMin == std::numeric_limits<uint64_t>::max() || timestampMax == 0) {
46          return;
47      }
48      if (traceStartTime_ != std::numeric_limits<uint64_t>::max()) {
49          traceStartTime_ = std::max(traceStartTime_, timestampMin);
50      } else {
51          traceStartTime_ = timestampMin;
52      }
53      if (traceEndTime_) {
54          traceEndTime_ = std::min(traceEndTime_, timestampMax);
55      } else {
56          traceEndTime_ = timestampMax;
57      }
58  }
Clear()59  void DemoTraceDataCacheWriter::Clear()
60  {
61      gpuCounter_.Clear();
62      gpuCounterObject_.Clear();
63      sliceObject_.Clear();
64      sliceData_.Clear();
65  }
66  } // namespace TraceStreamer
67  } // namespace SysTuning
68