|
|
|||
File indexing completed on 2026-05-10 08:42:56
0001 //===-- TraceExporter.h -----------------------------------------*- C++ -*-===// 0002 // 0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 0004 // See https://llvm.org/LICENSE.txt for license information. 0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 0006 // 0007 //===----------------------------------------------------------------------===// 0008 0009 #ifndef LLDB_TARGET_TRACE_EXPORTER_H 0010 #define LLDB_TARGET_TRACE_EXPORTER_H 0011 0012 #include "lldb/Core/PluginInterface.h" 0013 #include "lldb/lldb-forward.h" 0014 #include "llvm/Support/Error.h" 0015 0016 namespace lldb_private { 0017 0018 /// \class TraceExporter TraceExporter.h "lldb/Target/TraceExporter.h" 0019 /// A plug-in interface definition class for trace exporters. 0020 /// 0021 /// Trace exporter plug-ins operate on traces, converting the trace data 0022 /// provided by an \a lldb_private::TraceCursor into a different format that can 0023 /// be digested by other tools, e.g. Chrome Trace Event Profiler. 0024 /// 0025 /// Trace exporters are supposed to operate on an architecture-agnostic fashion, 0026 /// as a TraceCursor, which feeds the data, hides the actual trace technology 0027 /// being used. 0028 class TraceExporter : public PluginInterface { 0029 public: 0030 /// Create an instance of a trace exporter plugin given its name. 0031 /// 0032 /// \param[in] plugin_Name 0033 /// Plug-in name to search. 0034 /// 0035 /// \return 0036 /// A \a TraceExporterUP instance, or an \a llvm::Error if the plug-in 0037 /// name doesn't match any registered plug-ins. 0038 static llvm::Expected<lldb::TraceExporterUP> 0039 FindPlugin(llvm::StringRef plugin_name); 0040 }; 0041 0042 } // namespace lldb_private 0043 0044 #endif // LLDB_TARGET_TRACE_EXPORTER_H
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|