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 #include "trace_stdtype.h"
17 #include <algorithm>
18 #include <ctime>
19 namespace SysTuning {
20 namespace TraceStdtype {
21
AppendNewData(uint64_t ts,int32_t counterId,int32_t value)22 void GpuCounter::AppendNewData(uint64_t ts, int32_t counterId, int32_t value)
23 {
24 ts_.emplace_back(ts);
25 counterId_.emplace_back(counterId);
26 value_.emplace_back(value);
27 demoIds_.push_back(counterId_.size() - 1);
28 }
TimeStamp() const29 const std::deque<uint64_t> &GpuCounter::TimeStamp() const
30 {
31 return ts_;
32 }
CounterId() const33 const std::deque<int32_t> &GpuCounter::CounterId() const
34 {
35 return counterId_;
36 }
Value() const37 const std::deque<int32_t> &GpuCounter::Value() const
38 {
39 return value_;
40 }
41
AppendNewData(int32_t counterId,const std::string counterName)42 void GpuCounterObject::AppendNewData(int32_t counterId, const std::string counterName)
43 {
44 counterId_.emplace_back(counterId);
45 counterName_.emplace_back(counterName);
46 demoIds_.push_back(counterId_.size() - 1);
47 }
CounterId() const48 const std::deque<int32_t> &GpuCounterObject::CounterId() const
49 {
50 return counterId_;
51 }
CounterName() const52 const std::deque<std::string> &GpuCounterObject::CounterName() const
53 {
54 return counterName_;
55 }
AppendNewData(int32_t sliceId,std::string sliceName)56 void SliceObject::AppendNewData(int32_t sliceId, std::string sliceName)
57 {
58 sliceId_.emplace_back(sliceId);
59 sliceName_.emplace_back(sliceName);
60 demoIds_.push_back(sliceId_.size() - 1);
61 }
SliceId() const62 const std::deque<int32_t> &SliceObject::SliceId() const
63 {
64 return sliceId_;
65 }
SliceName() const66 const std::deque<std::string> &SliceObject::SliceName() const
67 {
68 return sliceName_;
69 }
AppendNewData(int32_t sliceId,uint64_t startTs,uint64_t endTs,int32_t value)70 void SliceData::AppendNewData(int32_t sliceId, uint64_t startTs, uint64_t endTs, int32_t value)
71 {
72 startTs_.emplace_back(startTs);
73 endTs_.emplace_back(endTs);
74 sliceId_.emplace_back(sliceId);
75 value_.emplace_back(value);
76 demoIds_.push_back(sliceId_.size() - 1);
77 }
SliceId() const78 const std::deque<int32_t> &SliceData::SliceId() const
79 {
80 return sliceId_;
81 }
TimeStamp() const82 const std::deque<uint64_t> &SliceData::TimeStamp() const
83 {
84 return startTs_;
85 }
EndTs() const86 const std::deque<uint64_t> &SliceData::EndTs() const
87 {
88 return endTs_;
89 }
Value() const90 const std::deque<int32_t> &SliceData::Value() const
91 {
92 return value_;
93 }
InitMetaData()94 void MetaData::InitMetaData()
95 {
96 columnNames_.resize(METADATA_ITEM_MAX);
97 values_.resize(METADATA_ITEM_MAX);
98 columnNames_[METADATA_ITEM_PARSERTOOL_VERSION] = METADATA_ITEM_PARSERTOOL_VERSION_COLNAME;
99 columnNames_[METADATA_ITEM_PARSERTOOL_PUBLISH_DATETIME] = METADATA_ITEM_PARSERTOOL_PUBLISH_DATETIME_COLNAME;
100 }
SetParserToolVersion(const std::string & version)101 void MetaData::SetParserToolVersion(const std::string &version)
102 {
103 values_[METADATA_ITEM_PARSERTOOL_VERSION] = version;
104 }
SetParserToolPublishDateTime(const std::string & datetime)105 void MetaData::SetParserToolPublishDateTime(const std::string &datetime)
106 {
107 values_[METADATA_ITEM_PARSERTOOL_PUBLISH_DATETIME] = datetime;
108 }
Value(uint64_t row) const109 const std::string &MetaData::Value(uint64_t row) const
110 {
111 return values_[row];
112 }
Name(uint64_t row) const113 const std::string &MetaData::Name(uint64_t row) const
114 {
115 return columnNames_[row];
116 }
117
118 } // namespace TraceStdtype
119 } // namespace SysTuning
120