LLDB mainline
|
The base Telemetry manager instance in LLDB. More...
#include <Telemetry.h>
Public Member Functions | |
llvm::Error | preDispatch (llvm::telemetry::TelemetryInfo *entry) override |
const LLDBConfig * | GetConfig () |
virtual void | DispatchClientTelemetry (const lldb_private::StructuredDataImpl &entry, Debugger *debugger) |
virtual llvm::StringRef | GetInstanceName () const =0 |
Static Public Member Functions | |
static TelemetryManager * | GetInstance () |
Protected Member Functions | |
TelemetryManager (std::unique_ptr< LLDBConfig > config) | |
const std::string & | GetSessionId () const |
Static Protected Member Functions | |
static void | SetInstance (std::unique_ptr< TelemetryManager > manger) |
Private Attributes | |
std::unique_ptr< LLDBConfig > | m_config |
const std::string | m_id |
Static Private Attributes | |
static std::unique_ptr< TelemetryManager > | g_instance = nullptr |
The base Telemetry manager instance in LLDB.
This class declares additional instrumentation points applicable to LLDB.
Definition at line 241 of file Telemetry.h.
|
protected |
Definition at line 110 of file Telemetry.cpp.
References m_config, m_id, and lldb_private::telemetry::MakeUUID().
Referenced by GetInstance(), GetInstanceName(), and lldb_private::telemetry::NoOpTelemetryManager::NoOpTelemetryManager().
|
virtual |
Reimplemented in lldb_private::telemetry::NoOpTelemetryManager.
Definition at line 135 of file Telemetry.cpp.
References lldb_private::telemetry::ClientInfo::client_data, lldb_private::telemetry::ClientInfo::client_name, lldb_private::telemetry::LLDBBaseTelemetryInfo::debugger, lldb_private::telemetry::LLDBBaseTelemetryInfo::end_time, lldb_private::telemetry::ClientInfo::error_msg, lldb::eStructuredDataTypeDictionary, lldb_private::telemetry::GetAsNanosec(), lldb_private::GetLog(), lldb_private::StructuredDataImpl::GetObjectSP(), LLDB_LOG, LLDB_LOG_ERROR, m_config, lldb_private::Object, and lldb_private::telemetry::LLDBBaseTelemetryInfo::start_time.
Referenced by lldb_private::Debugger::DispatchClientTelemetry().
|
inline |
Definition at line 245 of file Telemetry.h.
References m_config.
Referenced by lldb_private::telemetry::ScopedDispatcher< Info >::DispatchNow(), and lldb_private::CommandInterpreter::HandleCommand().
|
static |
Definition at line 215 of file Telemetry.cpp.
References g_instance, lldb_private::telemetry::NoOpTelemetryManager::GetInstance(), and TelemetryManager().
Referenced by lldb_private::Debugger::DispatchClientTelemetry(), lldb_private::telemetry::ScopedDispatcher< Info >::DispatchNow(), and lldb_private::CommandInterpreter::HandleCommand().
|
pure virtual |
Implemented in lldb_private::telemetry::NoOpTelemetryManager.
References TelemetryManager().
|
inlineprotected |
Definition at line 257 of file Telemetry.h.
References m_id.
|
override |
Definition at line 113 of file Telemetry.cpp.
References lldb_private::telemetry::LLDBBaseTelemetryInfo::debugger, lldb_private::telemetry::LLDBBaseTelemetryInfo::debugger_id, and m_id.
|
staticprotected |
Definition at line 224 of file Telemetry.cpp.
References g_instance.
|
staticprivate |
Definition at line 265 of file Telemetry.h.
Referenced by GetInstance(), and SetInstance().
|
private |
Definition at line 262 of file Telemetry.h.
Referenced by DispatchClientTelemetry(), GetConfig(), and TelemetryManager().
|
private |
Definition at line 264 of file Telemetry.h.
Referenced by GetSessionId(), preDispatch(), and TelemetryManager().