43 lines · c
1//===-- TraceExporterCTF.h --------------------------------------*- C++ -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLDB_SOURCE_PLUGINS_TRACE_EXPORTER_CTF_H10#define LLDB_SOURCE_PLUGINS_TRACE_EXPORTER_CTF_H11 12#include "lldb/Target/TraceExporter.h"13 14namespace lldb_private {15namespace ctf {16 17/// Trace Exporter Plugin that can produce traces in Chrome Trace Format.18/// Still in development.19class TraceExporterCTF : public TraceExporter {20public:21 ~TraceExporterCTF() override = default;22 23 /// PluginInterface protocol24 /// \{25 static llvm::Expected<lldb::TraceExporterUP> CreateInstance();26 27 llvm::StringRef GetPluginName() override {28 return GetPluginNameStatic();29 }30 31 static void Initialize();32 33 static void Terminate();34 35 static llvm::StringRef GetPluginNameStatic() { return "ctf"; }36 /// \}37};38 39} // namespace ctf40} // namespace lldb_private41 42#endif // LLDB_SOURCE_PLUGINS_TRACE_EXPORTER_CTF_H43