1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
// (c) Meta Platforms, Inc. and affiliates. Confidential and proprietary.
#pragma once
#include <memory>
#include <set>
#include <deque>
#include "include/IActivityProfiler.h"
#include "output_base.h"
namespace libkineto {
class MockProfilerSession: public IActivityProfilerSession {
public:
explicit MockProfilerSession() {}
void start() override {
start_count++;
status_ = TraceStatus::RECORDING;
}
void stop() override {
stop_count++;
status_ = TraceStatus::PROCESSING;
}
std::vector<std::string> errors() override {
return {};
}
void processTrace(ActivityLogger& logger) override;
void set_test_activities(std::deque<GenericTraceActivity>&& acs) {
test_activities_ = std::move(acs);
}
std::unique_ptr<CpuTraceBuffer> getTraceBuffer() override;
int start_count = 0;
int stop_count = 0;
private:
std::deque<GenericTraceActivity> test_activities_;
};
class MockActivityProfiler: public IActivityProfiler {
public:
explicit MockActivityProfiler(std::deque<GenericTraceActivity>& activities);
const std::string& name() const override;
const std::set<ActivityType>& availableActivities() const override;
std::unique_ptr<IActivityProfilerSession> configure(
const std::set<ActivityType>& activity_types,
const Config& config) override;
std::unique_ptr<IActivityProfilerSession> configure(
int64_t ts_ms,
int64_t duration_ms,
const std::set<ActivityType>& activity_types,
const Config& config) override;
private:
std::deque<GenericTraceActivity> test_activities_;
};
} // namespace libkineto
|