Motiv
Marvelous OTF2 Traces Interactive Visualizer
Loading...
Searching...
No Matches
Filetrace.hpp
1/*
2 * Marvelous OTF2 Traces Interactive Visualizer (MOTIV)
3 * Copyright (C) 2023 Florian Gallrein, Björn Gehrke
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18#ifndef MOTIV_FILETRACE_HPP
19#define MOTIV_FILETRACE_HPP
20
21#include "SubTrace.hpp"
22#include "Range.hpp"
23
27class FileTrace : public SubTrace {
28private:
29 std::vector<Slot *> slotsVec_;
30 std::vector<Communication*> communications_;
31 std::vector<CollectiveCommunicationEvent*> collectiveCommunications_;
32public:
41 FileTrace(std::vector<Slot*> &slotss,
42 std::vector<Communication*> &communications,
43 std::vector<CollectiveCommunicationEvent*> &collectiveCommunications,
44 otf2::chrono::duration runtime);
45
46 virtual ~FileTrace();
47
51 [[nodiscard]] std::map<otf2::definition::location_group*, Range<Slot*>, LocationGroupCmp> getSlots() const override;
52
56 [[nodiscard]] Range<Communication*> getCommunications() override;
57
62
63};
64
65#endif //MOTIV_FILETRACE_HPP
Trace representing the whole trace loaded from trace files.
Definition: Filetrace.hpp:27
std::map< otf2::definition::location_group *, Range< Slot * >, LocationGroupCmp > getSlots() const override
Returns a map of slots of the current trace.
Definition: Filetrace.cpp:49
Range< Communication * > getCommunications() override
Returns communication objects of the current trace.
Definition: Filetrace.cpp:53
Range< CollectiveCommunicationEvent * > getCollectiveCommunications() override
Returns collective communication events of the current trace.
Definition: Filetrace.cpp:57
A custom range implementation around std::vector<T>s.
Definition: Range.hpp:37
Trace representing a section of a larger trace.
Definition: SubTrace.hpp:28
A comparator for otf2::definition::location_group objects.
Definition: Trace.hpp:34