You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.1 KiB
78 lines
2.1 KiB
#if !defined(TORCH_STABLE_ONLY) && !defined(TORCH_TARGET_VERSION)
|
|
/*
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD-style license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#define NOGDI
|
|
#include <string>
|
|
|
|
// Stages in libkineto used when pushing logs to UST Logger.
|
|
constexpr char kWarmUpStage[] = "Warm Up";
|
|
constexpr char kCollectionStage[] = "Collection";
|
|
constexpr char kPostProcessingStage[] = "Post Processing";
|
|
|
|
// Special string in UST for determining if traces are empty
|
|
constexpr char kEmptyTrace[] =
|
|
"No Valid Trace Events (CPU/GPU) found. Outputting empty trace.";
|
|
|
|
#if !USE_GOOGLE_LOG
|
|
|
|
#include <map>
|
|
#include <vector>
|
|
|
|
#include <stdint.h>
|
|
|
|
#ifdef _MSC_VER
|
|
// unset a predefined ERROR (windows)
|
|
#undef ERROR
|
|
#endif // _MSC_VER
|
|
|
|
namespace libkineto {
|
|
|
|
enum LoggerOutputType {
|
|
VERBOSE = 0,
|
|
INFO = 1,
|
|
WARNING = 2,
|
|
STAGE = 3,
|
|
ERROR = 4,
|
|
ENUM_COUNT = 5
|
|
};
|
|
|
|
const char* toString(LoggerOutputType t);
|
|
LoggerOutputType toLoggerOutputType(const std::string& str);
|
|
|
|
constexpr int LoggerTypeCount = (int)LoggerOutputType::ENUM_COUNT;
|
|
|
|
class ILoggerObserver {
|
|
public:
|
|
virtual ~ILoggerObserver() = default;
|
|
virtual void write(const std::string& message, LoggerOutputType ot) = 0;
|
|
virtual const std::map<LoggerOutputType, std::vector<std::string>>
|
|
extractCollectorMetadata() = 0;
|
|
virtual void reset() = 0;
|
|
virtual void addDevice(const int64_t device) = 0;
|
|
virtual void setTraceDurationMS(const int64_t duration) = 0;
|
|
virtual void addEventCount(const int64_t count) = 0;
|
|
virtual void setTraceID(const std::string&) {}
|
|
virtual void setGroupTraceID(const std::string&) {}
|
|
virtual void addDestination(const std::string& dest) = 0;
|
|
virtual void setTriggerOnDemand() {}
|
|
virtual void addMetadata(
|
|
const std::string& key,
|
|
const std::string& value) = 0;
|
|
};
|
|
|
|
} // namespace libkineto
|
|
|
|
#endif // !USE_GOOGLE_LOG
|
|
|
|
#else
|
|
#error "This file should not be included when either TORCH_STABLE_ONLY or TORCH_TARGET_VERSION is defined."
|
|
#endif // !defined(TORCH_STABLE_ONLY) && !defined(TORCH_TARGET_VERSION)
|