* -------------------------------------------------------------------------
* This file is part of the MindStudio project.
* Copyright (c) 2025 Huawei Technologies Co.,Ltd.
*
* MindStudio is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
*
* http://license.coscl.org.cn/MulanPSL2
*
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
* -------------------------------------------------------------------------
*/
#ifndef PROFILER_SERVER_SLICEANALYZER_MOCK_DATA_H
#define PROFILER_SERVER_SLICEANALYZER_MOCK_DATA_H
#include <DominQuery.h>
#include "SliceCacheManager.h"
#include "algorithm"
using namespace Dic::Module::Timeline;
namespace Dic::TimeLine::SliceAnalyzer::Mock {
inline void QueryCompeteSliceVecByTimeRangeAndTrackId_mock(
const Module::Timeline::SliceQuery &sliceQuery, std::vector<CompeteSliceDomain> &sliceVec) {
std::vector<CompeteSliceDomain> temp;
CompeteSliceDomain competeSliceDomain1 = {1, 2, 20, 22, 0, "slice1", 3, ""};
CompeteSliceDomain competeSliceDomain2 = {2, 3, 2, 5, 0, "slice2", 3, ""};
CompeteSliceDomain competeSliceDomain3 = {3, 6, 3, 9, 0, "slice3", 3, ""};
CompeteSliceDomain competeSliceDomain4 = {4, 10, 9, 19, 0, "slice2", 3, ""};
CompeteSliceDomain competeSliceDomain5 = {5, 7, 1, 8, 0, "slice5", 3, ""};
CompeteSliceDomain competeSliceDomain6 = {6, 11, 1, 12, 0, "slice4", 3, ""};
CompeteSliceDomain competeSliceDomain7 = {7, 13, 1, 14, 0, "slice7", 3, ""};
CompeteSliceDomain competeSliceDomain8 = {8, 15, 3, 18, 0, "slice3", 3, ""};
CompeteSliceDomain competeSliceDomain9 = {9, 16, 1, 17, 0, "slice10", 3, ""};
CompeteSliceDomain competeSliceDomain10 = {10, 16, 1, 17, 0, "slice10", 3, ""};
temp.emplace_back(competeSliceDomain1);
temp.emplace_back(competeSliceDomain2);
temp.emplace_back(competeSliceDomain3);
temp.emplace_back(competeSliceDomain4);
temp.emplace_back(competeSliceDomain5);
temp.emplace_back(competeSliceDomain6);
temp.emplace_back(competeSliceDomain7);
temp.emplace_back(competeSliceDomain8);
temp.emplace_back(competeSliceDomain9);
temp.emplace_back(competeSliceDomain10);
for (const auto &item : temp) {
if (item.timestamp <= sliceQuery.endTime + sliceQuery.minTimestamp &&
item.endTime >= sliceQuery.startTime + sliceQuery.minTimestamp) {
sliceVec.emplace_back(item);
}
}
};
inline void QuerySimpleSliceWithOutNameByTrackId_mock(
const SliceQuery &sliceQuery, std::vector<SliceDomain> &sliceVec) {
SliceDomain sliceDomain1 = {1, 2, 22, 0};
SliceDomain sliceDomain2 = {2, 3, 5, 0};
SliceDomain sliceDomain3 = {3, 6, 9, 0};
SliceDomain sliceDomain4 = {4, 10, 19, 0};
SliceDomain sliceDomain5 = {5, 7, 8, 0};
SliceDomain sliceDomain6 = {6, 11, 12, 0};
SliceDomain sliceDomain7 = {7, 13, 14, 0};
SliceDomain sliceDomain8 = {8, 15, 18, 0};
SliceDomain sliceDomain9 = {9, 16, 17, 0};
SliceDomain sliceDomain10 = {10, 16, 17, 0};
sliceVec.emplace_back(sliceDomain1);
sliceVec.emplace_back(sliceDomain2);
sliceVec.emplace_back(sliceDomain3);
sliceVec.emplace_back(sliceDomain4);
sliceVec.emplace_back(sliceDomain5);
sliceVec.emplace_back(sliceDomain6);
sliceVec.emplace_back(sliceDomain7);
sliceVec.emplace_back(sliceDomain8);
sliceVec.emplace_back(sliceDomain9);
sliceVec.emplace_back(sliceDomain10);
std::sort(sliceVec.begin(), sliceVec.end(), [](const SliceDomain &first, const SliceDomain &second) {
if (first.timestamp < second.timestamp) {
return true;
}
return (first.timestamp == second.timestamp) && first.id < second.id;
});
}
inline void SliceCacheNotFliterPythonMock() {
SliceDomain sliceDomain1 = {1, 2, 22, 0};
SliceDomain sliceDomain2 = {2, 3, 5, 1};
SliceDomain sliceDomain3 = {3, 6, 9, 1};
SliceDomain sliceDomain4 = {4, 10, 19, 1};
SliceDomain sliceDomain5 = {5, 7, 8, 2};
SliceDomain sliceDomain6 = {6, 11, 12, 2};
SliceDomain sliceDomain7 = {7, 13, 14, 2};
SliceDomain sliceDomain8 = {8, 15, 18, 2};
SliceDomain sliceDomain9 = {9, 16, 17, 3};
SliceDomain sliceDomain10 = {10, 16, 17, 4};
std::vector<SliceDomain> sliceVec;
sliceVec.emplace_back(sliceDomain1);
sliceVec.emplace_back(sliceDomain2);
sliceVec.emplace_back(sliceDomain3);
sliceVec.emplace_back(sliceDomain4);
sliceVec.emplace_back(sliceDomain5);
sliceVec.emplace_back(sliceDomain6);
sliceVec.emplace_back(sliceDomain7);
sliceVec.emplace_back(sliceDomain8);
sliceVec.emplace_back(sliceDomain9);
sliceVec.emplace_back(sliceDomain10);
std::sort(sliceVec.begin(), sliceVec.end(), [](const SliceDomain &first, const SliceDomain &second) {
if (first.timestamp < second.timestamp) {
return true;
}
return (first.timestamp == second.timestamp) && first.id < second.id;
});
SliceQuery sliceQuery = {3, 0, 23, 2};
SliceCacheManager::Instance().UpdateSliceCache("3", sliceVec, sliceQuery);
}
inline void SliceCacheFliterPythonMock() {
SliceDomain sliceDomain1 = {1, 2, 22, 0};
SliceDomain sliceDomain2 = {2, 3, 5, 0};
SliceDomain sliceDomain3 = {3, 6, 9, 0};
SliceDomain sliceDomain4 = {4, 10, 19, 0};
SliceDomain sliceDomain5 = {5, 7, 8, 1};
SliceDomain sliceDomain6 = {6, 11, 12, 1};
SliceDomain sliceDomain7 = {7, 13, 14, 1};
SliceDomain sliceDomain8 = {8, 15, 18, 1};
SliceDomain sliceDomain9 = {9, 16, 17, 2};
SliceDomain sliceDomain10 = {10, 16, 17, 3};
std::vector<SliceDomain> sliceVec;
sliceVec.emplace_back(sliceDomain1);
sliceVec.emplace_back(sliceDomain2);
sliceVec.emplace_back(sliceDomain3);
sliceVec.emplace_back(sliceDomain4);
sliceVec.emplace_back(sliceDomain5);
sliceVec.emplace_back(sliceDomain6);
sliceVec.emplace_back(sliceDomain7);
sliceVec.emplace_back(sliceDomain8);
sliceVec.emplace_back(sliceDomain9);
sliceVec.emplace_back(sliceDomain10);
std::sort(sliceVec.begin(), sliceVec.end(), [](const SliceDomain &first, const SliceDomain &second) {
if (first.timestamp < second.timestamp) {
return true;
}
return (first.timestamp == second.timestamp) && first.id < second.id;
});
SliceQuery sliceQuery = {3, 0, 23, 2};
SliceCacheManager::Instance().UpdateSliceCache("3", sliceVec, sliceQuery);
}
}
#endif