From 003b1aedbd8fb1a3eb67364ce5b9bd46872d492e Mon Sep 17 00:00:00 2001 From: storri Date: Tue, 15 Apr 2003 22:39:39 +0000 Subject: Update Metrics code. TODO: Clean up makefile --- TAO/orbsvcs/orbsvcs/Makefile.Metrics | 2 - TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache_T.h | 1 - TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache_T.i | 39 +++++----- TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.cpp | 89 +++++++++++----------- TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.h | 1 + 5 files changed, 65 insertions(+), 67 deletions(-) diff --git a/TAO/orbsvcs/orbsvcs/Makefile.Metrics b/TAO/orbsvcs/orbsvcs/Makefile.Metrics index fedfc3ec60a..9e37b6f1bde 100644 --- a/TAO/orbsvcs/orbsvcs/Makefile.Metrics +++ b/TAO/orbsvcs/orbsvcs/Makefile.Metrics @@ -13,8 +13,6 @@ endif IDL_FILES = Metrics IDL_SRC = $(foreach ext, C.cpp S.cpp, $(foreach file, $(IDL_FILES), $(file)$(ext))) - - Metrics = \ MetricsC \ MetricsS \ diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache_T.h b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache_T.h index 7930a21375e..690b4fb8d0b 100644 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache_T.h +++ b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache_T.h @@ -16,7 +16,6 @@ #include "orbsvcs/Time_Utilities.h" #include "orbsvcs/Scheduler_Factory.h" #include "orbsvcs/MetricsC.h" - #include "orbsvcs/Metrics/Metrics_Utils.h" #if defined (ACE_HAS_METRICS_BASE_POINTERS) diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache_T.i b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache_T.i index 02dce4c45e3..b941f5ddd49 100644 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache_T.i +++ b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_LocalCache_T.i @@ -705,7 +705,7 @@ register_base_metrics (const char *name, TAO_Metrics_Utils::Base_Metrics_Type bmt, unsigned short incr_base_id) { - ACE_METRICS_CACHE_DATA_BASE_TYPE base_data = 0; + TAO_Metrics_Cache_Data_Base* base_data = 0; TAO_Metrics_Cache_Data_Base * base_data_temp = 0; RtecScheduler::handle_t handle = this->next_base_metrics_handle_++; @@ -976,7 +976,7 @@ template ACE_INLINE void TAO_Metrics_LocalCache::report_base_metrics_start (RtecScheduler::handle_t handle) { - ACE_METRICS_CACHE_DATA_BASE_TYPE base_data = 0; + TAO_Metrics_Cache_Data_Base* base_data = 0; TAO_Metrics_Cache_Data_Base * base_data_tmp = 0; if (base_monitor_maps_ [supplier_index_].find (handle, base_data) < 0) { @@ -1024,7 +1024,7 @@ ACE_INLINE void TAO_Metrics_LocalCache:: report_base_metrics_stop (RtecScheduler::handle_t handle) { - ACE_METRICS_CACHE_DATA_BASE_TYPE base_data = 0; + TAO_Metrics_Cache_Data_Base* base_data = 0; TAO_Metrics_Cache_Data_Base * base_data_tmp = 0; if (base_monitor_maps_ [supplier_index_].find (handle, base_data) < 0) { @@ -1066,7 +1066,7 @@ ACE_INLINE void TAO_Metrics_LocalCache:: report_base_metrics_suspend (RtecScheduler::handle_t handle) { - ACE_METRICS_CACHE_DATA_BASE_TYPE base_data = 0; + TAO_Metrics_Cache_Data_Base* base_data = 0; TAO_Metrics_Cache_Data_Base * base_data_tmp = 0; if (base_monitor_maps_ [supplier_index_].find (handle, base_data) < 0) { @@ -1109,7 +1109,7 @@ ACE_INLINE void TAO_Metrics_LocalCache:: report_base_metrics_resume (RtecScheduler::handle_t handle) { - ACE_METRICS_CACHE_DATA_BASE_TYPE base_data = 0; + TAO_Metrics_Cache_Data_Base* base_data = 0; TAO_Metrics_Cache_Data_Base * base_data_tmp = 0; if (base_monitor_maps_ [supplier_index_].find (handle, base_data) < 0) { @@ -1311,16 +1311,19 @@ TAO_Metrics_ReportingLocalCache::output_statistics (Metrics } // Iterate over registered base metrics data and harvest those probes. - ACE_Metrics_Cache:: - TAO_Metrics_LocalCache:: - TAO_Metrics_ReportingLocalCache:: - TAO_Metrics_Cache_Data_Base * base_data = 0; + // UGLY: shouldn't have to do this...? + typename TAO_Metrics_ReportingLocalCache::ACE_METRICS_CACHE_DATA_BASE_TYPE base_data = 0; - ACE_Hash_Map_Iterator_Ex, ACE_Hash, ACE_Equal_To, - ACE_Null_Mutex> base_iter (this->base_monitor_maps_ [this->consumer_index_]); + ACE_Null_Mutex> + */ + typename TAO_Metrics_ReportingLocalCache::METRICS_BASE_MONITOR_MAP_ITERATOR + base_iter (this->base_monitor_maps_ [this->consumer_index_]); for (; base_iter.done () == 0; ++base_iter) @@ -1340,12 +1343,8 @@ TAO_Metrics_ReportingLocalCache::output_statistics (Metrics // Iterate over registered upcall data and harvest those probes, and // the aggregate QoS data too. TAO_Metrics_Cache_Data_Base::TAO_Metrics_Cache_Data * data = 0; - - ACE_Hash_Map_Iterator_Ex, - ACE_Hash, - ACE_Equal_To, - ACE_Null_Mutex> data_iter (this->monitor_maps_ [this->consumer_index_]); + typename TAO_Metrics_ReportingLocalCache::METRICS_MONITOR_MAP_ITERATOR + data_iter (this->monitor_maps_ [this->consumer_index_]); for (u_long qos_length = 1; data_iter.done () == 0; @@ -1425,7 +1424,8 @@ register_upcall_adapter (RtecScheduler::handle_t handle, base_ptr->register_upcall_adapter (handle, name, is_hrt, incr_upcall_id); // Look for an existing data structure entry in the 0th hash map. - ACE_METRICS_CACHE_DATA_TYPE data = 0; + typename TAO_Metrics_ReportingLocalCache::ACE_METRICS_CACHE_DATA_TYPE + data = 0; if (monitor_maps_ [0].find (handle, data) != 0) { #if defined (METRICS_CACHE_ERROR_OUTPUT_ENABLED) @@ -1492,7 +1492,8 @@ register_base_metrics (const char *name, } // Look for an existing data structure entry in each hash map. - ACE_METRICS_CACHE_DATA_BASE_TYPE base_data = 0; + typename TAO_Metrics_ReportingLocalCache::ACE_METRICS_CACHE_DATA_BASE_TYPE + base_data = 0; if (base_monitor_maps_ [0].find (handle, base_data) != 0) { #if defined (METRICS_CACHE_ERROR_OUTPUT_ENABLED) diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.cpp b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.cpp index 1c2e9991e7d..5596ddb3f3d 100644 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.cpp +++ b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.cpp @@ -148,10 +148,11 @@ WSOA_Metrics_Handles::WSOA_Metrics_Handles () , image_processed_metrics_handle_(0) , image_quiescent_metrics_handle_(0) , tile_received_first_metrics_handle_(0) - , tile_processed_first_metrics_handle_(0) , tile_queuing_first_metrics_handle_(0) , tile_decompression_first_metrics_handle_(0) + , tile_decompression_handle_(0) , tile_ipm_first_metrics_handle_(0) + , tile_processed_first_metrics_handle_(0) , zlib_compression_handle_(0) , zlib_decompression_handle_(0) { @@ -226,10 +227,10 @@ WSOA_Metrics_Handles::WSOA_Metrics_Handles () RtecScheduler::handle_t temp_metrics_handle = 0; for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++i) { - ::sprintf (registration_name, "tile_received_%d", i); + ::sprintf (registration_name, "tile_received_%d", i); // We just throw the handles away rather than storing them, - // as they're always calculated by offset from the first. + // as they're always calculated by offset from the first. REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), base_metrics, registration_name, @@ -248,10 +249,10 @@ WSOA_Metrics_Handles::WSOA_Metrics_Handles () for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++i) { - ::sprintf (registration_name, "tile_processed_%d", i); + ::sprintf (registration_name, "tile_processed_%d", i); // We just throw the handles away rather than storing them, - // as they're always calculated by offset from the first. + // as they're always calculated by offset from the first. REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), base_metrics, registration_name, @@ -270,10 +271,10 @@ WSOA_Metrics_Handles::WSOA_Metrics_Handles () for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++i) { - ::sprintf (registration_name, "tile_queuing_%d", i); + ::sprintf (registration_name, "tile_queuing_%d", i); // We just throw the handles away rather than storing them, - // as they're always calculated by offset from the first. + // as they're always calculated by offset from the first. REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), base_metrics, registration_name, @@ -292,10 +293,10 @@ WSOA_Metrics_Handles::WSOA_Metrics_Handles () for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++i) { - ::sprintf (registration_name, "tile_decompression_%d", i); + ::sprintf (registration_name, "tile_decompression_%d", i); // We just throw the handles away rather than storing them, - // as they're always calculated by offset from the first. + // as they're always calculated by offset from the first. REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), base_metrics, registration_name, @@ -313,10 +314,10 @@ WSOA_Metrics_Handles::WSOA_Metrics_Handles () for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++i) { - ::sprintf (registration_name, "tile_ipm_%d", i); + ::sprintf (registration_name, "tile_ipm_%d", i); // We just throw the handles away rather than storing them, - // as they're always calculated by offset from the first. + // as they're always calculated by offset from the first. REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), base_metrics, registration_name, @@ -339,49 +340,49 @@ WSOA_Metrics_Handles::WSOA_Metrics_Handles () *TAO_METRICS_LOGGER_REF_SINGLETON::instance(), this->zlib_decompression_handle_); #else /* ! TAO_USES_REPORTING_METRICS */ - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), + REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), base_metrics, "TAO_compute_scheduling", TAO_Metrics_Utils::SCHED, this->compute_metrics_handle_); - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), + REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), base_metrics, "RTARM_triggered_adaptation", TAO_Metrics_Utils::RTARM, this->RTARM_triggered_adaptation_metrics_handle_); - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), + REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), base_metrics, "RTARM_region_transition", TAO_Metrics_Utils::RTARM, this->RTARM_region_transition_metrics_handle_); - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), + REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), base_metrics, "QuO_contract_eval", TAO_Metrics_Utils::QUO, this->QuO_contract_eval_metrics_handle_); - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), + REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), base_metrics, "tile_request_delegate", TAO_Metrics_Utils::QUO, this->tile_request_delegate_metrics_handle_); - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), + REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), base_metrics, "image_received", TAO_Metrics_Utils::QUO, this->image_received_metrics_handle_); - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), + REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), base_metrics, "image_processed", TAO_Metrics_Utils::QUO, this->image_processed_metrics_handle_); - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), + REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), base_metrics, "image_quiescent", TAO_Metrics_Utils::QUO, @@ -391,7 +392,7 @@ WSOA_Metrics_Handles::WSOA_Metrics_Handles () u_int i; // Store the first tile received handle, and make room for the others. - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), + REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), base_metrics, "tile_received_0", TAO_Metrics_Utils::QUO, @@ -400,11 +401,11 @@ WSOA_Metrics_Handles::WSOA_Metrics_Handles () RtecScheduler::handle_t temp_metrics_handle; for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++i) { - ::sprintf (registration_name, "tile_received_%d", i); + ::sprintf (registration_name, "tile_received_%d", i); // We just throw the handles away rather than storing them, - // as they're always calculated by offset from the first. - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), + // as they're always calculated by offset from the first. + REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), base_metrics, registration_name, TAO_Metrics_Utils::QUO, @@ -412,7 +413,7 @@ WSOA_Metrics_Handles::WSOA_Metrics_Handles () } // Store the first tile processed handle, and make room for the others. - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), + REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), base_metrics, "tile_processed_0", TAO_Metrics_Utils::QUO, @@ -420,11 +421,11 @@ WSOA_Metrics_Handles::WSOA_Metrics_Handles () for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++i) { - ::sprintf (registration_name, "tile_processed_%d", i); + ::sprintf (registration_name, "tile_processed_%d", i); // We just throw the handles away rather than storing them, - // as they're always calculated by offset from the first. - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), + // as they're always calculated by offset from the first. + REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), base_metrics, registration_name, TAO_Metrics_Utils::QUO, @@ -432,7 +433,7 @@ WSOA_Metrics_Handles::WSOA_Metrics_Handles () } // Store the first tile processed handle, and make room for the others. - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), + REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), base_metrics, "tile_queuing_0", TAO_Metrics_Utils::QUO, @@ -440,11 +441,11 @@ WSOA_Metrics_Handles::WSOA_Metrics_Handles () for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++i) { - ::sprintf (registration_name, "tile_queuing_%d", i); + ::sprintf (registration_name, "tile_queuing_%d", i); // We just throw the handles away rather than storing them, - // as they're always calculated by offset from the first. - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), + // as they're always calculated by offset from the first. + REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), base_metrics, registration_name, TAO_Metrics_Utils::QUO, @@ -452,7 +453,7 @@ WSOA_Metrics_Handles::WSOA_Metrics_Handles () } // Store the first tile processed handle, and make room for the others. - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), + REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), base_metrics, "tile_decompression_0", TAO_Metrics_Utils::QUO, @@ -460,18 +461,18 @@ WSOA_Metrics_Handles::WSOA_Metrics_Handles () for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++i) { - ::sprintf (registration_name, "tile_decompression_%d", i); + ::sprintf (registration_name, "tile_decompression_%d", i); // We just throw the handles away rather than storing them, - // as they're always calculated by offset from the first. - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), + // as they're always calculated by offset from the first. + REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), base_metrics, registration_name, TAO_Metrics_Utils::QUO, temp_metrics_handle); } - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), + REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), base_metrics, "tile_ipm_0", TAO_Metrics_Utils::QUO, @@ -479,30 +480,30 @@ WSOA_Metrics_Handles::WSOA_Metrics_Handles () for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++i) { - ::sprintf (registration_name, "tile_ipm_%d", i); + ::sprintf (registration_name, "tile_ipm_%d", i); // We just throw the handles away rather than storing them, - // as they're always calculated by offset from the first. - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), + // as they're always calculated by offset from the first. + REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), base_metrics, registration_name, TAO_Metrics_Utils::QUO, temp_metrics_handle); - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), + REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), base_metrics, registration_name, TAO_Metrics_Utils::QUO, - tile_decompression_handle); + tile_decompression_handle_); } - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), + REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), base_metrics, "zlib Compression", TAO_Metrics_Utils::SCHED, this->zlib_compression_handle_); - REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(), + REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(), base_metrics, "zlib Compression", TAO_Metrics_Utils::SCHED, @@ -523,5 +524,3 @@ template class ACE_Singleton; #endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ #endif /* METRICS_UTILS_CPP */ - - diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.h b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.h index 5ad5557c719..a452b296edf 100644 --- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.h +++ b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.h @@ -110,6 +110,7 @@ public: RtecScheduler::handle_t tile_received_first_metrics_handle_; RtecScheduler::handle_t tile_queuing_first_metrics_handle_; RtecScheduler::handle_t tile_decompression_first_metrics_handle_; + RtecScheduler::handle_t tile_decompression_handle_; RtecScheduler::handle_t tile_ipm_first_metrics_handle_; RtecScheduler::handle_t tile_processed_first_metrics_handle_; -- cgit v1.2.1