diff --git a/ApplicationLibCode/Application/RiaApplication.cpp b/ApplicationLibCode/Application/RiaApplication.cpp index 41a7f4c6934..aa3a75e7b91 100644 --- a/ApplicationLibCode/Application/RiaApplication.cpp +++ b/ApplicationLibCode/Application/RiaApplication.cpp @@ -31,7 +31,6 @@ #include "RiaImportEclipseCaseTools.h" #include "RiaLogging.h" #include "RiaOpenMPTools.h" -#include "RiaOpenTelemetryManager.h" #include "RiaPlotWindowRedrawScheduler.h" #include "RiaPreferences.h" #include "RiaPreferencesOsdu.h" @@ -1454,9 +1453,6 @@ void RiaApplication::applyPreferences() caf::ProgressInfoStatic::setEnabled( RiaPreferencesSystem::current()->showProgressBar() ); - // Reinitialize OpenTelemetry based on current preferences - RiaOpenTelemetryManager::instance().reinitialize(); - if ( m_preferencesFileName.isEmpty() ) { m_preferences->writePreferencesToApplicationStore(); diff --git a/ApplicationLibCode/Application/RiaPreferencesOpenTelemetry.cpp b/ApplicationLibCode/Application/RiaPreferencesOpenTelemetry.cpp index 41f18b01db0..e5f813d860b 100644 --- a/ApplicationLibCode/Application/RiaPreferencesOpenTelemetry.cpp +++ b/ApplicationLibCode/Application/RiaPreferencesOpenTelemetry.cpp @@ -32,7 +32,6 @@ void RiaPreferencesOpenTelemetry::LoggingStateType::setUp() { addItem( RiaPreferencesOpenTelemetry::LoggingState::DISABLED, "DISABLED", "Disabled" ); addItem( RiaPreferencesOpenTelemetry::LoggingState::DEFAULT, "DEFAULT", "Default" ); - addItem( RiaPreferencesOpenTelemetry::LoggingState::ALL, "ALL", "All" ); setDefault( RiaPreferencesOpenTelemetry::LoggingState::DEFAULT ); } } // namespace caf @@ -46,7 +45,8 @@ RiaPreferencesOpenTelemetry::RiaPreferencesOpenTelemetry() { CAF_PDM_InitObject( "OpenTelemetry Configuration", "", "", "Configuration for OpenTelemetry crash reporting and telemetry" ); - CAF_PDM_InitField( &m_loggingState, "loggingState", LoggingStateType( LoggingState::DISABLED ), "Logging State" ); + CAF_PDM_InitField( &m_configFile, "configFile", QString( "No config file detected" ), "Config File" ); + CAF_PDM_InitField( &m_loggingState, "loggingState_v1", LoggingStateType( LoggingState::DEFAULT ), "Logging State" ); CAF_PDM_InitField( &m_connectionString, "connectionString", QString(), "Azure Connection String" ); m_connectionString.uiCapability()->setUiEditorTypeName( caf::PdmUiTextEditor::uiEditorTypeName() ); @@ -56,13 +56,8 @@ RiaPreferencesOpenTelemetry::RiaPreferencesOpenTelemetry() CAF_PDM_InitField( &m_memoryThresholdMb, "memoryThresholdMb", 50, "Memory Threshold (MB)" ); CAF_PDM_InitField( &m_samplingRate, "samplingRate", 1.0, "Sampling Rate" ); CAF_PDM_InitField( &m_connectionTimeoutMs, "connectionTimeoutMs", 10000, "Connection Timeout (ms)" ); -} -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RiaPreferencesOpenTelemetry::~RiaPreferencesOpenTelemetry() -{ + setFieldStates(); } //-------------------------------------------------------------------------------------------------- @@ -76,8 +71,10 @@ RiaPreferencesOpenTelemetry* RiaPreferencesOpenTelemetry::current() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiaPreferencesOpenTelemetry::setData( const std::map& keyValuePairs ) +void RiaPreferencesOpenTelemetry::setData( const std::map& keyValuePairs, const QString& configFile ) { + m_configFile = configFile; + for ( const auto& [key, value] : keyValuePairs ) { if ( key == "connection_string" ) @@ -118,7 +115,7 @@ void RiaPreferencesOpenTelemetry::setData( const std::map& key //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiaPreferencesOpenTelemetry::setFieldsReadOnly() +void RiaPreferencesOpenTelemetry::setFieldStates() { std::vector fields = this->fields(); for ( auto field : fields ) @@ -127,6 +124,7 @@ void RiaPreferencesOpenTelemetry::setFieldsReadOnly() if ( field != &m_loggingState ) { field->uiCapability()->setUiReadOnly( true ); + field->xmlCapability()->disableIO(); } } } @@ -141,13 +139,18 @@ void RiaPreferencesOpenTelemetry::defineUiOrdering( QString uiConfigName, caf::P // Only show configuration fields if not disabled if ( m_loggingState() != LoggingState::DISABLED ) { + uiOrdering.add( &m_configFile ); uiOrdering.add( &m_connectionString ); - uiOrdering.add( &m_batchTimeoutMs ); - uiOrdering.add( &m_maxBatchSize ); - uiOrdering.add( &m_maxQueueSize ); - uiOrdering.add( &m_memoryThresholdMb ); - uiOrdering.add( &m_samplingRate ); - uiOrdering.add( &m_connectionTimeoutMs ); + + auto group = uiOrdering.addNewGroup( "Configuration" ); + group->setCollapsedByDefault(); + + group->add( &m_batchTimeoutMs ); + group->add( &m_maxBatchSize ); + group->add( &m_maxQueueSize ); + group->add( &m_memoryThresholdMb ); + group->add( &m_samplingRate ); + group->add( &m_connectionTimeoutMs ); } uiOrdering.skipRemainingFields(); } diff --git a/ApplicationLibCode/Application/RiaPreferencesOpenTelemetry.h b/ApplicationLibCode/Application/RiaPreferencesOpenTelemetry.h index 7d579ba46f9..cdc90b8a8d7 100644 --- a/ApplicationLibCode/Application/RiaPreferencesOpenTelemetry.h +++ b/ApplicationLibCode/Application/RiaPreferencesOpenTelemetry.h @@ -41,18 +41,15 @@ class RiaPreferencesOpenTelemetry : public caf::PdmObject enum class LoggingState { DISABLED, - DEFAULT, - ALL + DEFAULT }; using LoggingStateType = caf::AppEnum; RiaPreferencesOpenTelemetry(); - ~RiaPreferencesOpenTelemetry() override; static RiaPreferencesOpenTelemetry* current(); - void setData( const std::map& keyValuePairs ); - void setFieldsReadOnly(); + void setData( const std::map& keyValuePairs, const QString& configFile ); // Service name and version are hardcoded, not configurable QString serviceName() const; @@ -72,6 +69,10 @@ class RiaPreferencesOpenTelemetry : public caf::PdmObject void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override; private: + void setFieldStates(); + +private: + caf::PdmField m_configFile; caf::PdmField m_loggingState; caf::PdmField m_connectionString; caf::PdmField m_batchTimeoutMs; diff --git a/ApplicationLibCode/Application/RiaPreferencesOsdu.cpp b/ApplicationLibCode/Application/RiaPreferencesOsdu.cpp index 372b74fcbdf..ece7b76d8ac 100644 --- a/ApplicationLibCode/Application/RiaPreferencesOsdu.cpp +++ b/ApplicationLibCode/Application/RiaPreferencesOsdu.cpp @@ -28,11 +28,14 @@ CAF_PDM_SOURCE_INIT( RiaPreferencesOsdu, "RiaPreferencesOsdu" ); //-------------------------------------------------------------------------------------------------- RiaPreferencesOsdu::RiaPreferencesOsdu() { + CAF_PDM_InitField( &m_configFile, "configFile", QString( "No config file detected" ), "Config File" ); CAF_PDM_InitFieldNoDefault( &m_server, "server", "Server" ); CAF_PDM_InitFieldNoDefault( &m_dataPartitionId, "dataPartitionId", "Data Partition Id" ); CAF_PDM_InitFieldNoDefault( &m_authority, "authority", "Authority" ); CAF_PDM_InitFieldNoDefault( &m_scopes, "scopes", "Scopes" ); CAF_PDM_InitFieldNoDefault( &m_clientId, "clientId", "Client Id" ); + + setFieldStates(); } //-------------------------------------------------------------------------------------------------- @@ -46,8 +49,10 @@ RiaPreferencesOsdu* RiaPreferencesOsdu::current() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiaPreferencesOsdu::setData( const std::map& keyValuePairs ) +void RiaPreferencesOsdu::setData( const std::map& keyValuePairs, const QString& configFile ) { + m_configFile = configFile; + for ( const auto& [key, value] : keyValuePairs ) { if ( key == "server" ) @@ -76,13 +81,14 @@ void RiaPreferencesOsdu::setData( const std::map& keyValuePair //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiaPreferencesOsdu::setFieldsReadOnly() +void RiaPreferencesOsdu::setFieldStates() { - m_server.uiCapability()->setUiReadOnly( true ); - m_dataPartitionId.uiCapability()->setUiReadOnly( true ); - m_authority.uiCapability()->setUiReadOnly( true ); - m_scopes.uiCapability()->setUiReadOnly( true ); - m_clientId.uiCapability()->setUiReadOnly( true ); + std::vector fields = this->fields(); + for ( auto field : fields ) + { + field->uiCapability()->setUiReadOnly( true ); + field->xmlCapability()->disableIO(); + } } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/Application/RiaPreferencesOsdu.h b/ApplicationLibCode/Application/RiaPreferencesOsdu.h index 019d7849dc3..8e0d7cd5189 100644 --- a/ApplicationLibCode/Application/RiaPreferencesOsdu.h +++ b/ApplicationLibCode/Application/RiaPreferencesOsdu.h @@ -33,8 +33,7 @@ class RiaPreferencesOsdu : public caf::PdmObject static RiaPreferencesOsdu* current(); - void setData( const std::map& keyValuePairs ); - void setFieldsReadOnly(); + void setData( const std::map& keyValuePairs, const QString& configFile ); QString server() const; QString dataPartitionId() const; @@ -43,6 +42,10 @@ class RiaPreferencesOsdu : public caf::PdmObject QString clientId() const; private: + void setFieldStates(); + +private: + caf::PdmField m_configFile; caf::PdmField m_server; caf::PdmField m_dataPartitionId; caf::PdmField m_authority; diff --git a/ApplicationLibCode/Application/RiaPreferencesSumo.cpp b/ApplicationLibCode/Application/RiaPreferencesSumo.cpp index 71c339c0a73..28421e77aa7 100644 --- a/ApplicationLibCode/Application/RiaPreferencesSumo.cpp +++ b/ApplicationLibCode/Application/RiaPreferencesSumo.cpp @@ -28,10 +28,13 @@ CAF_PDM_SOURCE_INIT( RiaPreferencesSumo, "RiaPreferencesSumo" ); //-------------------------------------------------------------------------------------------------- RiaPreferencesSumo::RiaPreferencesSumo() { + CAF_PDM_InitField( &m_configFile, "configFile", QString( "No config file detected" ), "Config File" ); CAF_PDM_InitFieldNoDefault( &m_server, "server", "Server" ); CAF_PDM_InitFieldNoDefault( &m_authority, "authority", "Authority" ); CAF_PDM_InitFieldNoDefault( &m_scopes, "scopes", "Scopes" ); CAF_PDM_InitFieldNoDefault( &m_clientId, "clientId", "Client Id" ); + + setFieldStates(); } //-------------------------------------------------------------------------------------------------- @@ -45,8 +48,10 @@ RiaPreferencesSumo* RiaPreferencesSumo::current() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiaPreferencesSumo::setData( const std::map& keyValuePairs ) +void RiaPreferencesSumo::setData( const std::map& keyValuePairs, const QString& configFile ) { + m_configFile = configFile; + for ( const auto& [key, value] : keyValuePairs ) { if ( key == "server" ) @@ -71,12 +76,14 @@ void RiaPreferencesSumo::setData( const std::map& keyValuePair //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiaPreferencesSumo::setFieldsReadOnly() +void RiaPreferencesSumo::setFieldStates() { - m_server.uiCapability()->setUiReadOnly( true ); - m_authority.uiCapability()->setUiReadOnly( true ); - m_scopes.uiCapability()->setUiReadOnly( true ); - m_clientId.uiCapability()->setUiReadOnly( true ); + std::vector fields = this->fields(); + for ( auto field : fields ) + { + field->uiCapability()->setUiReadOnly( true ); + field->xmlCapability()->disableIO(); + } } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/Application/RiaPreferencesSumo.h b/ApplicationLibCode/Application/RiaPreferencesSumo.h index f63755c3b3f..e7e32aca47c 100644 --- a/ApplicationLibCode/Application/RiaPreferencesSumo.h +++ b/ApplicationLibCode/Application/RiaPreferencesSumo.h @@ -33,8 +33,7 @@ class RiaPreferencesSumo : public caf::PdmObject static RiaPreferencesSumo* current(); - void setData( const std::map& keyValuePairs ); - void setFieldsReadOnly(); + void setData( const std::map& keyValuePairs, const QString& configFile ); QString server() const; QString authority() const; @@ -42,6 +41,10 @@ class RiaPreferencesSumo : public caf::PdmObject QString clientId() const; private: + void setFieldStates(); + +private: + caf::PdmField m_configFile; caf::PdmField m_server; caf::PdmField m_authority; caf::PdmField m_scopes; diff --git a/ApplicationLibCode/Application/Tools/Cloud/RiaConnectorTools.cpp b/ApplicationLibCode/Application/Tools/Cloud/RiaConnectorTools.cpp index 6b2919e2aed..00fab17817a 100644 --- a/ApplicationLibCode/Application/Tools/Cloud/RiaConnectorTools.cpp +++ b/ApplicationLibCode/Application/Tools/Cloud/RiaConnectorTools.cpp @@ -180,8 +180,7 @@ void RiaConnectorTools::readCloudConfigFiles( RiaPreferences* preferences ) if ( !keyValuePairs.empty() ) { RiaLogging::debug( QString( "Imported OSDU configuration from : '%1'" ).arg( filePath ) ); - preferences->osduPreferences()->setData( keyValuePairs ); - preferences->osduPreferences()->setFieldsReadOnly(); + preferences->osduPreferences()->setData( keyValuePairs, filePath ); break; } } @@ -193,8 +192,7 @@ void RiaConnectorTools::readCloudConfigFiles( RiaPreferences* preferences ) if ( !keyValuePairs.empty() ) { RiaLogging::debug( QString( "Imported SUMO configuration from : '%1'" ).arg( filePath ) ); - preferences->sumoPreferences()->setData( keyValuePairs ); - preferences->sumoPreferences()->setFieldsReadOnly(); + preferences->sumoPreferences()->setData( keyValuePairs, filePath ); break; } } @@ -206,8 +204,7 @@ void RiaConnectorTools::readCloudConfigFiles( RiaPreferences* preferences ) if ( !keyValuePairs.empty() ) { RiaLogging::debug( QString( "Imported OpenTelemetry configuration from : '%1'" ).arg( filePath ) ); - RiaPreferencesOpenTelemetry::current()->setData( keyValuePairs ); - RiaPreferencesOpenTelemetry::current()->setFieldsReadOnly(); + RiaPreferencesOpenTelemetry::current()->setData( keyValuePairs, filePath ); break; } }