summaryrefslogtreecommitdiff
path: root/TAO/tao/POA.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/POA.cpp')
-rw-r--r--TAO/tao/POA.cpp33
1 files changed, 26 insertions, 7 deletions
diff --git a/TAO/tao/POA.cpp b/TAO/tao/POA.cpp
index faa39069abc..7773fe671d1 100644
--- a/TAO/tao/POA.cpp
+++ b/TAO/tao/POA.cpp
@@ -9,6 +9,9 @@
// auto_ptr class
#include "ace/Auto_Ptr.h"
+// Timeprobes class
+#include "tao/Timeprobe.h"
+
// This is the maximum space require to convert the ulong into a
// string.
const int TAO_POA::max_space_required_for_ulong = 24;
@@ -2186,6 +2189,8 @@ TAO_POA::locate_poa_i (const TAO_ObjectKey &key,
PortableServer::ObjectId_out id,
CORBA::Environment &env)
{
+ ACE_FUNCTION_TIMEPROBE (TAO_POA_LOCATE_POA_I_START);
+
TAO_POA::String poa_name;
CORBA::Boolean persistent = CORBA::B_FALSE;
TAO_Temporary_Creation_Time poa_creation_time;
@@ -2339,6 +2344,8 @@ TAO_POA::locate_poa_and_servant_i (const TAO_ObjectKey &key,
TAO_POA *&poa_impl,
CORBA::Environment &env)
{
+ ACE_FUNCTION_TIMEPROBE (TAO_POA_LOCATE_POA_AND_SERVANT_I_START);
+
poa_impl = this->locate_poa_i (key,
id,
env);
@@ -2352,9 +2359,13 @@ TAO_POA::locate_poa_and_servant_i (const TAO_ObjectKey &key,
if (poa_impl->policies ().servant_retention () == PortableServer::RETAIN)
{
PortableServer::Servant servant = 0;
- if (poa_impl->active_object_map ().find (*id.ptr (), servant) != -1)
- // Success
- return servant;
+ {
+ ACE_FUNCTION_TIMEPROBE (TAO_POA_FIND_SERVANT_START);
+
+ if (poa_impl->active_object_map ().find (*id.ptr (), servant) != -1)
+ // Success
+ return servant;
+ }
}
// If the POA has the NON_RETAIN policy or has the RETAIN policy but
@@ -2506,6 +2517,8 @@ TAO_POA::dispatch_servant (const TAO_ObjectKey &key,
void *context,
CORBA::Environment &env)
{
+ ACE_FUNCTION_TIMEPROBE (TAO_POA_DISPATCH_SERVANT_START);
+
// Lock access to the POAManager for the duration of this transaction
TAO_POA_READ_GUARD (ACE_Lock, monitor, this->lock (), env);
@@ -2545,10 +2558,14 @@ TAO_POA::dispatch_servant_i (const TAO_ObjectKey &key,
&current_context,
env);
- // Upcall
- servant->_dispatch (req,
- context,
- env);
+ {
+ ACE_FUNCTION_TIMEPROBE (TAO_SERVANT_DISPATCH_START);
+
+ // Upcall
+ servant->_dispatch (req,
+ context,
+ env);
+ }
// Cleanup from upcall
poa->post_invoke (servant,
@@ -2660,6 +2677,8 @@ TAO_POA::parse_key (const TAO_ObjectKey &key,
TAO_Temporary_Creation_Time &poa_creation_time,
int temporary_id)
{
+ ACE_FUNCTION_TIMEPROBE (TAO_POA_PARSE_KEY_START);
+
// Try to find the last separator
int last_token_position = this->rfind (key, TAO_POA::name_separator ());