summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.cpp528
1 files changed, 0 insertions, 528 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.cpp b/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.cpp
deleted file mode 100644
index 1fe21850a99..00000000000
--- a/TAO/orbsvcs/orbsvcs/Metrics/Metrics_Utils.cpp
+++ /dev/null
@@ -1,528 +0,0 @@
-// $Id$
-
-#ifndef METRICS_UTILS_CPP
-#define METRICS_UTILS_CPP
-
-#if defined (ACE_METRICS_COLLECTION)
-
-#if defined (ACE_ENABLE_TIMEPROBES) && defined (ACE_COMPILE_TIMEPROBES)
-
-
-#include "ace/Metrics_Cache.h"
-#include "orbsvcs/Metrics/Metrics_Utils.h"
-#include "orbsvcs/Metrics/Metrics_LocalCache.h"
-
-TAO_BEGIN_VERSIONED_NAMESPACE_DECL
-
-/////////////////////////////
-// Class TAO_Metrics_Utils //
-/////////////////////////////
-
-// Static constants
-
-const u_int WSOA_Metrics_Handles::WSOA_METRICS_MAX_TILING_FACTOR = 64;
-
-const u_int TAO_Metrics_Utils::METRICS_BUFSIZE = 64;
-
-const u_int TAO_Metrics_Utils::METRICS_ENQUEUE_PROBE_ID_BASE = 0;
-const u_int TAO_Metrics_Utils::METRICS_DEQUEUE_PROBE_ID_BASE = 1000;
-const u_int TAO_Metrics_Utils::METRICS_SCHED_PROBE_ID_BASE = 2000;
-const u_int TAO_Metrics_Utils::METRICS_QUO_PROBE_ID_BASE = 3000;
-const u_int TAO_Metrics_Utils::METRICS_RTARM_PROBE_ID_BASE = 4000;
-const u_int TAO_Metrics_Utils::METRICS_TNS_PROBE_ID_BASE = 5000;
-const u_int TAO_Metrics_Utils::METRICS_TEEC_PROBE_ID_BASE = 6000;
-const u_int TAO_Metrics_Utils::METRICS_UPCALL_MONITOR_ADAPTER_ID_BASE = 7000;
-
-// Static variable
-
-RtecScheduler::handle_t TAO_Metrics_Utils::timeoutEvent_ = 72;
-
-
-
-// Static method to set the mission state in the logger.
-
-void
-TAO_Metrics_Utils::set_mission_state (int i, Metrics::QoSLogger_ptr logger)
-{
- if (CORBA::is_nil (logger))
- {
-#if defined (METRICS_UTILS_ERROR_OUTPUT_ENABLED)
- ACE_ERROR ((LM_ERROR,
- "TAO_Metrics_Utils::set_mission_state:\n"
- "Logger IOR reference is nil.\n"));
-#endif
- return;
- }
-
- char banner [TAO_Metrics_Utils::METRICS_BUFSIZE];
- ACE_OS::memset (banner, 0, TAO_Metrics_Utils::METRICS_BUFSIZE);
- ACE_OS::sprintf (banner, "\n\n*** Mission State %d ***\n\n", i);
-
- try
- {
- logger->send_banner (banner);
- }
- catch (const CORBA::Exception& ex)
- {
-#if defined (METRICS_UTILS_ERROR_OUTPUT_ENABLED)
- ex._tao_print_exception (
- "TAO_Metrics_LocalCache::set_mission_state:"
- " logger call failed\n");
-#endif
- }
-}
-
-// Sets the logger reference.
-
-Metrics::QoSLogger_var
-TAO_Metrics_Utils::get_logger (const char * logger_ior_str,
- CORBA::ORB_ptr orb)
-{
- Metrics::QoSLogger_var logger;
- if (logger_ior_str && orb)
- {
- try
- {
- CORBA::Object_var obj =
- orb->string_to_object (logger_ior_str);
-
- if (CORBA::is_nil (obj.in ()))
- {
-#if defined (METRICS_UTILS_ERROR_OUTPUT_ENABLED)
- ACE_ERROR ((LM_ERROR,
- "TAO_Metrics_Utils::get_logger:\n"
- "Logger IOR string produced a "
- "nil reference:\n[%s]",
- logger_ior_str));
-#endif
- return logger;
- }
- else
- {
- logger = Metrics::QoSLogger::_narrow (obj.in ());
-
- if (CORBA::is_nil (logger.in ()))
- {
-#if defined (METRICS_UTILS_ERROR_OUTPUT_ENABLED)
- ACE_ERROR ((LM_ERROR,
- "TAO_Metrics_LocalCache::set_logger:\n"
- "Could not narrow IOR to logger:\n[%s]",
- logger_ior_str));
-#endif
- return logger;
- }
- }
- }
- catch (const CORBA::Exception& ex)
- {
-#if defined (METRICS_UTILS_ERROR_OUTPUT_ENABLED)
- ex._tao_print_exception (
- "TAO_Metrics_LocalCache::set_logger exception");
-#endif
- return logger;
- }
- }
-#if defined (METRICS_UTILS_ERROR_OUTPUT_ENABLED)
- else
- {
- ACE_ERROR ((LM_ERROR,
- "TAO_Metrics_LocalCache::set_logger:\n"
- "must pass a non-zero orb and ior pointer\n"));
- }
-#endif
- return logger;
-}
-
-
-////////////////////////////////
-// class WSOA_Metrics_Handles //
-////////////////////////////////
-
-// Default constructor - registers all WSOA METRICS INSTRUMENTATION handles.
-
-WSOA_Metrics_Handles::WSOA_Metrics_Handles ()
- : tiles_requested_ (0)
- , compute_metrics_handle_(0)
- , RTARM_triggered_adaptation_metrics_handle_(0)
- , RTARM_region_transition_metrics_handle_(0)
- , QuO_contract_eval_metrics_handle_(0)
- , tile_request_delegate_metrics_handle_(0)
- , image_received_metrics_handle_(0)
- , image_processed_metrics_handle_(0)
- , image_quiescent_metrics_handle_(0)
- , tile_received_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)
-{
-#ifdef TAO_USES_REPORTING_METRICS
- REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "TAO_compute_scheduling",
- TAO_Metrics_Utils::SCHED,
- *TAO_METRICS_LOGGER_REF_SINGLETON::instance(),
- this->compute_metrics_handle_);
-
- REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "RTARM_triggered_adaptation",
- TAO_Metrics_Utils::RTARM,
- *TAO_METRICS_LOGGER_REF_SINGLETON::instance(),
- this->RTARM_triggered_adaptation_metrics_handle_);
-
- REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "RTARM_region_transition",
- TAO_Metrics_Utils::RTARM,
- *TAO_METRICS_LOGGER_REF_SINGLETON::instance(),
- this->RTARM_region_transition_metrics_handle_);
-
- REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "QuO_contract_eval",
- TAO_Metrics_Utils::QUO,
- *TAO_METRICS_LOGGER_REF_SINGLETON::instance(),
- this->QuO_contract_eval_metrics_handle_);
-
- REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "tile_request_delegate",
- TAO_Metrics_Utils::QUO,
- *TAO_METRICS_LOGGER_REF_SINGLETON::instance(),
- this->tile_request_delegate_metrics_handle_);
-
- REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "image_received",
- TAO_Metrics_Utils::QUO,
- *TAO_METRICS_LOGGER_REF_SINGLETON::instance(),
- this->image_received_metrics_handle_);
-
- REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "image_processed",
- TAO_Metrics_Utils::QUO,
- *TAO_METRICS_LOGGER_REF_SINGLETON::instance(),
- this->image_processed_metrics_handle_);
-
- REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "image_quiescent",
- TAO_Metrics_Utils::QUO,
- *TAO_METRICS_LOGGER_REF_SINGLETON::instance(),
- this->image_quiescent_metrics_handle_);
-
- char registration_name[64];
- u_int i;
-
- // Store the first tile received handle, and make room for the others.
- REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "tile_received_0",
- TAO_Metrics_Utils::QUO,
- *TAO_METRICS_LOGGER_REF_SINGLETON::instance(),
- this->tile_received_first_metrics_handle_);
-
- RtecScheduler::handle_t temp_metrics_handle = 0;
- for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++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_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- registration_name,
- TAO_Metrics_Utils::QUO,
- *TAO_METRICS_LOGGER_REF_SINGLETON::instance(),
- temp_metrics_handle);
- }
-
- // Store the first tile processed handle, and make room for the others.
- REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "tile_processed_0",
- TAO_Metrics_Utils::QUO,
- *TAO_METRICS_LOGGER_REF_SINGLETON::instance(),
- this->tile_processed_first_metrics_handle_);
-
- for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++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_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- registration_name,
- TAO_Metrics_Utils::QUO,
- *TAO_METRICS_LOGGER_REF_SINGLETON::instance(),
- temp_metrics_handle);
- }
-
- // Store the first tile processed handle, and make room for the others.
- REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "tile_queuing_0",
- TAO_Metrics_Utils::QUO,
- *TAO_METRICS_LOGGER_REF_SINGLETON::instance(),
- this->tile_queuing_first_metrics_handle_);
-
- for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++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_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- registration_name,
- TAO_Metrics_Utils::QUO,
- *TAO_METRICS_LOGGER_REF_SINGLETON::instance(),
- temp_metrics_handle);
- }
-
- // Store the first tile processed handle, and make room for the others.
- REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "tile_decompression_0",
- TAO_Metrics_Utils::QUO,
- *TAO_METRICS_LOGGER_REF_SINGLETON::instance(),
- this->tile_decompression_first_metrics_handle_);
-
- for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++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_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- registration_name,
- TAO_Metrics_Utils::QUO,
- *TAO_METRICS_LOGGER_REF_SINGLETON::instance(),
- temp_metrics_handle);
- }
-
- REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "tile_ipm_0",
- TAO_Metrics_Utils::QUO,
- *TAO_METRICS_LOGGER_REF_SINGLETON::instance(),
- this->tile_ipm_first_metrics_handle_);
-
- for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++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_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- registration_name,
- TAO_Metrics_Utils::QUO,
- *TAO_METRICS_LOGGER_REF_SINGLETON::instance(),
- temp_metrics_handle);
- }
-
- REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "zlib Compression",
- TAO_Metrics_Utils::SCHED,
- *TAO_METRICS_LOGGER_REF_SINGLETON::instance(),
- this->zlib_compression_handle_);
-
- REGISTER_METRICS_REPORTING_PROBE_RETURN(TAO_METRICS_REPORTING_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "zlib Compression",
- TAO_Metrics_Utils::SCHED,
- *TAO_METRICS_LOGGER_REF_SINGLETON::instance(),
- this->zlib_decompression_handle_);
-#else /* ! TAO_USES_REPORTING_METRICS */
- 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_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_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_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_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_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "image_received",
- TAO_Metrics_Utils::QUO,
- this->image_received_metrics_handle_);
-
- 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_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "image_quiescent",
- TAO_Metrics_Utils::QUO,
- this->image_quiescent_metrics_handle_);
-
- char registration_name[64];
- u_int i;
-
- // Store the first tile received handle, and make room for the others.
- REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "tile_received_0",
- TAO_Metrics_Utils::QUO,
- this->tile_received_first_metrics_handle_);
-
- RtecScheduler::handle_t temp_metrics_handle;
- for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++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_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- registration_name,
- TAO_Metrics_Utils::QUO,
- temp_metrics_handle);
- }
-
- // Store the first tile processed handle, and make room for the others.
- REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "tile_processed_0",
- TAO_Metrics_Utils::QUO,
- this->tile_processed_first_metrics_handle_);
-
- for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++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_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- registration_name,
- TAO_Metrics_Utils::QUO,
- temp_metrics_handle);
- }
-
- // Store the first tile processed handle, and make room for the others.
- REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "tile_queuing_0",
- TAO_Metrics_Utils::QUO,
- this->tile_queuing_first_metrics_handle_);
-
- for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++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_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- registration_name,
- TAO_Metrics_Utils::QUO,
- temp_metrics_handle);
- }
-
- // Store the first tile processed handle, and make room for the others.
- REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "tile_decompression_0",
- TAO_Metrics_Utils::QUO,
- this->tile_decompression_first_metrics_handle_);
-
- for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++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_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- registration_name,
- TAO_Metrics_Utils::QUO,
- temp_metrics_handle);
- }
-
- REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "tile_ipm_0",
- TAO_Metrics_Utils::QUO,
- this->tile_ipm_first_metrics_handle_);
-
- for (i = 1; i <= WSOA_METRICS_MAX_TILING_FACTOR; ++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_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- registration_name,
- TAO_Metrics_Utils::QUO,
- temp_metrics_handle);
-
- REGISTER_METRICS_PROBE_RETURN(TAO_METRICS_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- registration_name,
- TAO_Metrics_Utils::QUO,
- tile_decompression_handle_);
- }
-
- 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_CACHE_SINGLETON_TYPE::instance(),
- base_metrics,
- "zlib Compression",
- TAO_Metrics_Utils::SCHED,
- this->zlib_decompression_handle_);
-#endif /* TAO_USES_REPORTING_METRICS */
-}
-
-TAO_END_VERSIONED_NAMESPACE_DECL
-
-#if !defined (__ACE_INLINE__)
-#include "orbsvcs/Metrics/Metrics_Utils.inl"
-#endif /* __ACE_INLINE__ */
-
-#else
-#error ACE_COMPILE_TIMEPROBES must be defined in order to collect metrics
-#endif /* ACE_ENABLE_TIMEPROBES & ACE_COMPILE_TIMEPROBES */
-#endif /* ACE_METRICS_COLLECTION */
-
-#endif /* METRICS_UTILS_CPP */