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-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLDB_SOURCE_PLUGINS_TRACE_EXPORTER_CTF_H
10#define LLDB_SOURCE_PLUGINS_TRACE_EXPORTER_CTF_H
11
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 protocol
24 /// \{
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 ctf
40} // namespace lldb_private
41
42#endif // LLDB_SOURCE_PLUGINS_TRACE_EXPORTER_CTF_H
43

source code of lldb/source/Plugins/TraceExporter/ctf/TraceExporterCTF.h