Ack with minor comment marked AndersW>

regards,

Anders Widell


On 01/13/2017 10:40 AM, Hans Nordeback wrote:
>   src/amf/amfd/ckpt_dec.cc             |   2 +
>   src/amf/amfd/clm.cc                  |   2 +
>   src/amf/amfd/csi.cc                  |   7 ++++-
>   src/amf/amfd/node.cc                 |   4 ++-
>   src/amf/amfd/nodegroup.cc            |   4 ++-
>   src/amf/amfd/si_dep.cc               |   1 +
>   src/amf/amfnd/pgdb.cc                |   4 +-
>   src/amf/amfnd/su.cc                  |   2 +
>   src/base/logtrace.c                  |  18 +++++++++---
>   src/base/logtrace.h                  |  48 
> ++++++++++++++++++++++++++++++++++++
>   src/imm/agent/imma_init.cc           |   7 +++-
>   src/imm/agent/imma_om_api.cc         |   2 -
>   src/imm/immnd/ImmModel.cc            |  16 ++++++------
>   src/imm/immpbed/immpbe_daemon.cc     |   4 ++-
>   src/log/logd/lgs_imm_gcfg.cc         |   2 +
>   src/log/logd/lgs_main.cc             |   2 +
>   src/log/logd/lgs_mbcsv.cc            |   2 +
>   src/ntf/ntfd/NtfClient.cc            |   2 +-
>   src/smf/smfd/SmfCampaignXmlParser.cc |   3 ++
>   src/smf/smfd/SmfUpgradeStep.cc       |   3 ++
>   20 files changed, 111 insertions(+), 24 deletions(-)
>
>
> diff --git a/src/amf/amfd/ckpt_dec.cc b/src/amf/amfd/ckpt_dec.cc
> --- a/src/amf/amfd/ckpt_dec.cc
> +++ b/src/amf/amfd/ckpt_dec.cc
> @@ -370,6 +370,8 @@ static uint32_t dec_app_config(AVD_CL_CB
>       uint32_t status = NCSCC_RC_SUCCESS;
>       AVD_APP app;
>       
> +     TRACE_ENTER();
> +
>       osafassert(dec->i_action == NCS_MBCSV_ACT_UPDATE);
>       decode_app(&dec->i_uba, &app);
>       
> diff --git a/src/amf/amfd/clm.cc b/src/amf/amfd/clm.cc
> --- a/src/amf/amfd/clm.cc
> +++ b/src/amf/amfd/clm.cc
> @@ -83,6 +83,8 @@ static void clm_node_exit_validate(AVD_A
>       bool reject = false;
>       SaAisErrorT rc = SA_AIS_OK;
>   
> +     TRACE_ENTER();
> +
>       /*
>        * Reject validate step on self node as this is active controller
>        */
> diff --git a/src/amf/amfd/csi.cc b/src/amf/amfd/csi.cc
> --- a/src/amf/amfd/csi.cc
> +++ b/src/amf/amfd/csi.cc
> @@ -831,6 +831,7 @@ static void ccb_apply_delete_hdlr(CcbUti
>   
>       bool first_sisu = true;
>   
> +     TRACE_ENTER();
>       if (avd_cb->avail_state_avd != SA_AMF_HA_ACTIVE) {
>               /* A double check whether csi has been deleted from DB or not 
> and whether pointer stored userData
>                  is still valid. */
> @@ -851,7 +852,7 @@ static void ccb_apply_delete_hdlr(CcbUti
>               goto done;
>       }
>   
> -        TRACE_ENTER2("'%s'", csi ? csi->name.c_str() : nullptr);
> +        TRACE("'%s'", csi ? csi->name.c_str() : nullptr);
>   
>       /* Check whether si has been assigned to any SU. */
>       if ((nullptr != csi->si->list_of_sisu) &&
> @@ -992,6 +993,8 @@ static void csi_ccb_apply_modify_hdlr(st
>    **************************************************************************/
>   static void csi_ccb_apply_create_hdlr(struct CcbUtilOperationData *opdata)
>   {
> +     TRACE_ENTER();
> +
>       AVD_CSI *csi = nullptr;
>       if ((csi = csi_db->find(Amf::to_string(&opdata->objectName))) == 
> nullptr) {
>               /* this check is added because, some times there is
> @@ -1027,6 +1030,8 @@ SaAisErrorT csi_assign_hdlr(AVD_CSI *csi
>       AVD_COMP_CSI_REL *compcsi;
>       SaAisErrorT rc = SA_AIS_ERR_NO_OP;
>   
> +     TRACE_ENTER();
> +
>       /* Check whether csi assignment is already in progress and if yes, then 
> return.
>          This csi will be assigned after the undergoing csi assignment gets 
> over.*/
>       if (csi->si->list_of_sisu != nullptr) {
> diff --git a/src/amf/amfd/node.cc b/src/amf/amfd/node.cc
> --- a/src/amf/amfd/node.cc
> +++ b/src/amf/amfd/node.cc
> @@ -891,7 +891,9 @@ static void node_ccb_apply_cb(CcbUtilOpe
>   void node_admin_state_set(AVD_AVND *node, SaAmfAdminStateT admin_state)
>   {
>       SaAmfAdminStateT old_state  = node->saAmfNodeAdminState;
> -     
> +
> +     TRACE_ENTER();
> +
>       if (old_state == admin_state)
>               return;
>       osafassert(admin_state <= SA_AMF_ADMIN_SHUTTING_DOWN);
> diff --git a/src/amf/amfd/nodegroup.cc b/src/amf/amfd/nodegroup.cc
> --- a/src/amf/amfd/nodegroup.cc
> +++ b/src/amf/amfd/nodegroup.cc
> @@ -467,13 +467,15 @@ static SaAisErrorT ng_ccb_completed_dele
>       AVD_AVND *node;
>       AVD_AMF_NG *ng = avd_ng_get(Amf::to_string(&opdata->objectName));
>   
> +     TRACE_ENTER();
> +
>           if (ng == nullptr) {
>               LOG_WA("Could not find %s in nodegroup_db", 
> osaf_extended_name_borrow(&opdata->objectName));
>               TRACE_LEAVE();
>               return SA_AIS_OK;
>           }
>   
> -     TRACE_ENTER2("%u", ng->number_nodes());
> +     TRACE("%u", ng->number_nodes());
>       std::set<std::string>::const_iterator iter;
>       if ((ng->saAmfNGAdminState != SA_AMF_ADMIN_LOCKED) &&
>                       (ng->saAmfNGAdminState != SA_AMF_ADMIN_UNLOCKED) &&
> diff --git a/src/amf/amfd/si_dep.cc b/src/amf/amfd/si_dep.cc
> --- a/src/amf/amfd/si_dep.cc
> +++ b/src/amf/amfd/si_dep.cc
> @@ -1426,6 +1426,7 @@ void avd_sidep_start_tolerance_timer_for
>   {
>       AVD_SI_DEP *si_dep_rec;
>   
> +     TRACE_ENTER();
>       TRACE("dep_si:%s 
> spons_si:%s",dep_si->name.c_str(),spons_si->name.c_str());
>   
>       si_dep_rec = sidep_db_find(spons_si->name, dep_si->name);
> diff --git a/src/amf/amfnd/pgdb.cc b/src/amf/amfnd/pgdb.cc
> --- a/src/amf/amfnd/pgdb.cc
> +++ b/src/amf/amfnd/pgdb.cc
> @@ -385,7 +385,7 @@ AVND_PG_MEM *avnd_pgdb_mem_rec_rmv(AVND_
>   void avnd_pgdb_mem_rec_del(AVND_CB *cb, AVND_PG *pg, const std::string& 
> comp_name)
>   {
>       AVND_PG_MEM *pg_mem = 0;
> -     TRACE_LEAVE();
> +     TRACE_ENTER();
>   
>       /* remove the pg mem record */
>       pg_mem = avnd_pgdb_mem_rec_rmv(cb, pg, comp_name);
> @@ -415,7 +415,7 @@ void avnd_pgdb_mem_rec_del(AVND_CB *cb,
>   void avnd_pgdb_mem_rec_del_all(AVND_CB *cb, AVND_PG *pg)
>   {
>       AVND_PG_MEM *curr = 0;
> -     TRACE_LEAVE();
> +     TRACE_ENTER();
>   
>       while (0 != (curr = (AVND_PG_MEM 
> *)m_NCS_DBLIST_FIND_FIRST(&pg->mem_list)))
>               avnd_pgdb_mem_rec_del(cb, pg, 
> Amf::to_string(&curr->info.member.compName));
> diff --git a/src/amf/amfnd/su.cc b/src/amf/amfnd/su.cc
> --- a/src/amf/amfnd/su.cc
> +++ b/src/amf/amfnd/su.cc
> @@ -907,6 +907,8 @@ static uint32_t avnd_process_comp_csi_ms
>     uint32_t rc = NCSCC_RC_SUCCESS;
>     std::map<MDS_DEST, MDS_SVC_PVT_SUB_PART_VER>::iterator iter;      
>   
> +  TRACE_ENTER();
> +
>     /*
>        Callback is sent in the following cases:
>        -a PI comp: CSI is assigned to this component.
> diff --git a/src/base/logtrace.c b/src/base/logtrace.c
> --- a/src/base/logtrace.c
> +++ b/src/base/logtrace.c
> @@ -80,7 +80,7 @@ static void sighup_handler(int sig)
>       setlogmask(logmask);
>   }
>   
> -static void output(const char *file, unsigned int line, int priority, int 
> category, const char *format, va_list ap)
> +void output_(const char *file, unsigned int line, int priority, int 
> category, const char *format, va_list ap)
>   {
>       int i;
>       struct timeval tv;
> @@ -162,23 +162,31 @@ void _logtrace_log(const char *file, uns
>       if (!(category_mask & (1 << CAT_LOG)))
>               goto done;
>   
> -     output(file, line, priority, CAT_LOG, format, ap2);
> +     output_(file, line, priority, CAT_LOG, format, ap2);
>   
>   done:
>       va_end(ap);
>       va_end(ap2);
>   }
>   
> +bool is_trace_enabled_(unsigned int category)
> +{
> +     /* Filter on category */
> +     if (!(category_mask & (1 << category)))
> +             return false;
> +     else
> +             return true;
> +}
> +

AndersW> The above if-statement can be simplified by replacing it with:

return (category_mask & (1 << category)) != 0;
>   void _logtrace_trace(const char *file, unsigned int line, unsigned int 
> category, const char *format, ...)
>   {
>       va_list ap;
>   
> -     /* Filter on category */
> -     if (!(category_mask & (1 << category)))
> +     if (is_trace_enabled_(category) == false)
>               return;
>   
>       va_start(ap, format);
> -     output(file, line, LOG_DEBUG, category, format, ap);
> +     output_(file, line, LOG_DEBUG, category, format, ap);
>       va_end(ap);
>   }
>   
> diff --git a/src/base/logtrace.h b/src/base/logtrace.h
> --- a/src/base/logtrace.h
> +++ b/src/base/logtrace.h
> @@ -34,6 +34,7 @@
>   #define BASE_LOGTRACE_H_
>   
>   #include <syslog.h>
> +#include <stdarg.h>
>   #include "base/ncsgl_defs.h"
>   #ifdef  __cplusplus
>   extern "C" {
> @@ -122,6 +123,9 @@ extern void _logtrace_log(const char *fi
>   extern void _logtrace_trace(const char *file, unsigned int line, unsigned 
> int category,
>                               const char *format, ...) __attribute__ 
> ((format(printf, 4, 5)));
>   
> +extern bool is_trace_enabled_(unsigned int category);
> +extern void output_(const char *file, unsigned int line, int priority, int 
> category, const char *format, va_list ap);
> +
>   /* LOG API. Use same levels as syslog */
>   #define LOG_EM(format, args...) _logtrace_log(__FILE__, __LINE__, 
> LOG_EMERG, (format), ##args)
>   #define LOG_AL(format, args...) _logtrace_log(__FILE__, __LINE__, 
> LOG_ALERT, (format), ##args)
> @@ -141,10 +145,54 @@ extern void _logtrace_trace(const char *
>   #define TRACE_6(format, args...) _logtrace_trace(__FILE__, __LINE__, 
> CAT_TRACE6, (format), ##args)
>   #define TRACE_7(format, args...) _logtrace_trace(__FILE__, __LINE__, 
> CAT_TRACE7, (format), ##args)
>   #define TRACE_8(format, args...) _logtrace_trace(__FILE__, __LINE__, 
> CAT_TRACE8, (format), ##args)
> +
> +#ifdef  __cplusplus
> +class Trace {
> + public:
> +  Trace() {}
> +  ~Trace() {
> +    if (!trace_leave_called && is_trace_enabled_(CAT_TRACE_LEAVE)) {
> +      va_list ap;
> +      output_(file_, 0, LOG_DEBUG, CAT_TRACE_LEAVE, function_, ap);
> +    }
> +  }
> +  void trace(const char *file, const char *function, unsigned int line, 
> unsigned int category, const char *format, ...) {
> +    va_list ap;
> +    if (is_trace_enabled_(category)) {
> +      file_ = file;
> +      function_ = function;
> +      va_start(ap, format);
> +      output_(file, line, LOG_DEBUG, category, format, ap);
> +      va_end(ap);
> +    }
> +  }
> +
> +  void trace_leave(const char *file, unsigned int line, unsigned int 
> category, const char *format, ...) {
> +    va_list ap;
> +    if (is_trace_enabled_(category)) {
> +      va_start(ap, format);
> +      trace_leave_called = true;
> +      output_(file, line, LOG_DEBUG, category, format, ap);
> +      va_end(ap);
> +    }
> +  }
> + private:
> +  bool trace_leave_called {false};
> +  const char* file_{nullptr};
> +  const char* function_{nullptr};
> +};
> +
> +#define TRACE_ENTER()                 Trace t_; t_.trace(__FILE__, 
> __FUNCTION__, __LINE__, CAT_TRACE_ENTER, "%s ", __FUNCTION__)
> +#define TRACE_ENTER2(format, args...) Trace t_; t_.trace(__FILE__, 
> __FUNCTION__, __LINE__, CAT_TRACE_ENTER, "%s: " format, __FUNCTION__, ##args)
> +
> +#define TRACE_LEAVE()                 t_.trace_leave(__FILE__, __LINE__, 
> CAT_TRACE_LEAVE, "%s ", __FUNCTION__)
> +#define TRACE_LEAVE2(format, args...) t_.trace_leave(__FILE__, __LINE__, 
> CAT_TRACE_LEAVE, "%s: " format, __FUNCTION__, ##args)
> +#else
>   #define TRACE_ENTER()                 _logtrace_trace(__FILE__, __LINE__, 
> CAT_TRACE_ENTER, "%s ", __FUNCTION__)
>   #define TRACE_ENTER2(format, args...) _logtrace_trace(__FILE__, __LINE__, 
> CAT_TRACE_ENTER, "%s: " format, __FUNCTION__, ##args)
>   #define TRACE_LEAVE()                 _logtrace_trace(__FILE__, __LINE__, 
> CAT_TRACE_LEAVE, "%s ", __FUNCTION__)
>   #define TRACE_LEAVE2(format, args...) _logtrace_trace(__FILE__, __LINE__, 
> CAT_TRACE_LEAVE, "%s: " format, __FUNCTION__, ##args)
> +#endif
>   
>   #ifdef  __cplusplus
>   }
> diff --git a/src/imm/agent/imma_init.cc b/src/imm/agent/imma_init.cc
> --- a/src/imm/agent/imma_init.cc
> +++ b/src/imm/agent/imma_init.cc
> @@ -261,6 +261,8 @@ unsigned int imma_startup(NCSMDS_SVC_ID
>   {
>       unsigned int rc = NCSCC_RC_SUCCESS;
>   
> +        TRACE_ENTER();
> +
>       int pt_err = pthread_mutex_lock(&imma_agent_lock);
>       if(pt_err) {
>               TRACE_4("Could not obtain mutex lock error(%u):%s",
> @@ -269,7 +271,7 @@ unsigned int imma_startup(NCSMDS_SVC_ID
>               goto done_nolock;
>       }
>   
> -     TRACE_ENTER2("use count %u", imma_use_count);
> +     TRACE("use count %u", imma_use_count);
>   
>       if (imma_use_count > 0) {
>               /* Already created, so just increment the use_count */
> @@ -321,6 +323,7 @@ unsigned int imma_shutdown(NCSMDS_SVC_ID
>   {
>       uint32_t rc = NCSCC_RC_SUCCESS;
>   
> +        TRACE_ENTER();
>       int pt_err = pthread_mutex_lock(&imma_agent_lock);
>       if(pt_err) {
>               TRACE_4("Could not obtain mutex lock error(%u):%s",
> @@ -329,7 +332,7 @@ unsigned int imma_shutdown(NCSMDS_SVC_ID
>               goto done_nolock;
>       }
>   
> -     TRACE_ENTER2("use count %u", imma_use_count);
> +     TRACE("use count %u", imma_use_count);
>   
>       if (imma_use_count > 1) {
>               /* Users still exist, just decrement the use count */
> diff --git a/src/imm/agent/imma_om_api.cc b/src/imm/agent/imma_om_api.cc
> --- a/src/imm/agent/imma_om_api.cc
> +++ b/src/imm/agent/imma_om_api.cc
> @@ -4989,7 +4989,6 @@ SaAisErrorT saImmOmClassDescriptionGet_2
>       IMMSV_EVT *out_evt = NULL;
>       IMMA_CLIENT_NODE *cl_node = NULL;
>       SaTimeT timeout = 0;
> -     TRACE_ENTER();
>   
>       if (cb->sv_id == 0) {
>               TRACE_2("ERR_BAD_HANDLE: No initialized handle exists!");
> @@ -9375,7 +9374,6 @@ SaAisErrorT saImmOmCcbGetErrorStrings(Sa
>       IMMA_CCB_NODE *ccb_node = NULL;
>       SaImmHandleT immHandle=0LL;
>       IMMA_CLIENT_NODE *cl_node = NULL;
> -     TRACE_ENTER();
>   
>       if (cb->sv_id == 0) {
>               TRACE_2("ERR_BAD_HANDLE: No initialized handle exists!");
> diff --git a/src/imm/immnd/ImmModel.cc b/src/imm/immnd/ImmModel.cc
> --- a/src/imm/immnd/ImmModel.cc
> +++ b/src/imm/immnd/ImmModel.cc
> @@ -3898,7 +3898,7 @@ ImmModel::oneSafe2PBEAllowed()
>       //TRACE_ENTER();
>       ObjectMap::iterator oi = sObjectMap.find(immObjectDn);
>       if(oi == sObjectMap.end()) {
> -        TRACE_LEAVE();
> +        //TRACE_LEAVE();
>           return false;
>       }
>   
> @@ -3920,7 +3920,7 @@ ImmModel::protocol43Allowed()
>       //TRACE_ENTER();
>       ObjectMap::iterator oi = sObjectMap.find(immObjectDn);
>       if(oi == sObjectMap.end()) {
> -        TRACE_LEAVE();
> +        //TRACE_LEAVE();
>           return false;
>       }
>   
> @@ -3942,7 +3942,7 @@ ImmModel::protocol45Allowed()
>       //TRACE_ENTER();
>       ObjectMap::iterator oi = sObjectMap.find(immObjectDn);
>       if(oi == sObjectMap.end()) {
> -        TRACE_LEAVE();
> +        //TRACE_LEAVE();
>           return false;
>       }
>   
> @@ -3964,7 +3964,7 @@ ImmModel::protocol46Allowed()
>       //TRACE_ENTER();
>       ObjectMap::iterator oi = sObjectMap.find(immObjectDn);
>       if(oi == sObjectMap.end()) {
> -        TRACE_LEAVE();
> +        //TRACE_LEAVE();
>           return false;
>       }
>   
> @@ -3986,7 +3986,7 @@ ImmModel::protocol47Allowed()
>       //TRACE_ENTER();
>       ObjectMap::iterator oi = sObjectMap.find(immObjectDn);
>       if(oi == sObjectMap.end()) {
> -        TRACE_LEAVE();
> +        //TRACE_LEAVE();
>           return false;
>       }
>   
> @@ -4012,7 +4012,7 @@ ImmModel::protocol50Allowed()
>       }
>       ObjectMap::iterator oi = sObjectMap.find(immObjectDn);
>       if(oi == sObjectMap.end()) {
> -        TRACE_LEAVE();
> +        //TRACE_LEAVE();
>           return false;
>       }
>   
> @@ -4039,7 +4039,7 @@ ImmModel::protocol51Allowed()
>       }
>       ObjectMap::iterator oi = sObjectMap.find(immObjectDn);
>       if(oi == sObjectMap.end()) {
> -        TRACE_LEAVE();
> +        //TRACE_LEAVE();
>           return false;
>       }
>   
> @@ -4062,7 +4062,7 @@ ImmModel::protocol41Allowed()
>       //TRACE_ENTER();
>       ObjectMap::iterator oi = sObjectMap.find(immObjectDn);
>       if(oi == sObjectMap.end()) {
> -        TRACE_LEAVE();
> +        //TRACE_LEAVE();
>           return false;
>       }
>   
> diff --git a/src/imm/immpbed/immpbe_daemon.cc 
> b/src/imm/immpbed/immpbe_daemon.cc
> --- a/src/imm/immpbed/immpbe_daemon.cc
> +++ b/src/imm/immpbed/immpbe_daemon.cc
> @@ -1561,6 +1561,8 @@ static SaAisErrorT saImmOiCcbObjectCreat
>       unsigned int msecs_waited = 0;
>           std::string objectDn;
>   
> +     TRACE_ENTER();
> +
>       if(parentName != NULL && !osaf_is_extended_name_empty(parentName)) {
>               TRACE_ENTER2("CREATE CALLBACK CCB:%llu class:%s parent:%s", 
> ccbId, className, osaf_extended_name_borrow(parentName));
>       } else {
> @@ -2219,7 +2221,7 @@ void pbeDaemon(SaImmHandleT immHandle, v
>       immutilWrapperProfile.retryInterval = 400;
>       immutilWrapperProfile.nTries = 5;
>   
> -
> +     TRACE_ENTER();
>       LOG_NO("pbeDaemon starting with obj-count:%u", sObjCount);
>   
>       /* Restore also sClassCount. */
> diff --git a/src/log/logd/lgs_imm_gcfg.cc b/src/log/logd/lgs_imm_gcfg.cc
> --- a/src/log/logd/lgs_imm_gcfg.cc
> +++ b/src/log/logd/lgs_imm_gcfg.cc
> @@ -531,6 +531,8 @@ static const SaImmOiCallbacksT_2 callbac
>   static void save_network_name(char* new_name) {
>     uint32_t name_len = 0;
>   
> +  TRACE_ENTER();
> +
>     osaf_mutex_lock_ordie(&lgs_gcfg_applier_mutex);
>   
>     /* Delete old name */
> diff --git a/src/log/logd/lgs_main.cc b/src/log/logd/lgs_main.cc
> --- a/src/log/logd/lgs_main.cc
> +++ b/src/log/logd/lgs_main.cc
> @@ -480,6 +480,8 @@ int main(int argc, char *argv[]) {
>      */
>     const time_t CLEAN_TIMEOUT = 600; /* 10 min */
>   
> +  TRACE_ENTER();
> +
>     daemonize(argc, argv);
>   
>     if (setenv("SA_ENABLE_EXTENDED_NAMES", "1", 1) != 0 ) {
> diff --git a/src/log/logd/lgs_mbcsv.cc b/src/log/logd/lgs_mbcsv.cc
> --- a/src/log/logd/lgs_mbcsv.cc
> +++ b/src/log/logd/lgs_mbcsv.cc
> @@ -2176,6 +2176,8 @@ uint32_t lgs_ckpt_send_async(lgs_cb_t *c
>     NCS_MBCSV_ARG mbcsv_arg;
>     lgsv_ckpt_msg_type_t ckpt_rec_type;
>   
> +  TRACE_ENTER();
> +
>     if (lgs_is_peer_v5()) {
>       lgsv_ckpt_msg_v5_t *ckpt_rec_v5 = static_cast<lgsv_ckpt_msg_v5_t 
> *>(ckpt_rec);
>       ckpt_rec_type = ckpt_rec_v5->header.ckpt_rec_type;
> diff --git a/src/ntf/ntfd/NtfClient.cc b/src/ntf/ntfd/NtfClient.cc
> --- a/src/ntf/ntfd/NtfClient.cc
> +++ b/src/ntf/ntfd/NtfClient.cc
> @@ -350,7 +350,7 @@ void NtfClient::readNextResponse(SaAisEr
>     } else {
>       read_next_res_lib(*error, NULL, mdsDest_, mdsCtxt);
>     }
> -  TRACE_ENTER();
> +  TRACE_LEAVE();
>   }
>   
>   void NtfClient::deleteReaderResponse(SaAisErrorT* error,
> diff --git a/src/smf/smfd/SmfCampaignXmlParser.cc 
> b/src/smf/smfd/SmfCampaignXmlParser.cc
> --- a/src/smf/smfd/SmfCampaignXmlParser.cc
> +++ b/src/smf/smfd/SmfCampaignXmlParser.cc
> @@ -2016,6 +2016,7 @@ SmfCampaignXmlParser::parseAppType(
>   {
>       xmlNsPtr ns = 0;
>       std::string dn;
> +        TRACE_ENTER();
>       SmfImmCreateOperation* ico = prepareCreateOperation(parent, 
> "SaAmfAppType", i_node, "safVersion", dn);
>       if (ico == NULL) {
>               LOG_NO("SmfCampaignXmlParser::parseAppType: Fail to prepare 
> create IMM Create Operation");
> @@ -2083,6 +2084,7 @@ SmfCampaignXmlParser::parseSGType(
>   {
>       xmlNsPtr ns = 0;
>       std::string dn;
> +        TRACE_ENTER();
>       SmfImmCreateOperation* ico = prepareCreateOperation(parent, 
> "SaAmfSGType", i_node, "safVersion", dn);
>       if (ico == NULL) {
>               LOG_NO("SmfCampaignXmlParser::parseSGType: Fail to prepare 
> create IMM Create Operation");
> @@ -2154,6 +2156,7 @@ SmfCampaignXmlParser::parseSUType(
>   {
>       xmlNsPtr ns = 0;
>       std::string dn;
> +        TRACE_ENTER();
>       SmfImmCreateOperation* ico = prepareCreateOperation(parent, 
> "SaAmfSUType", i_node, "safVersion", dn);
>       if (ico == NULL) {
>               LOG_NO("SmfCampaignXmlParser::parseSUType: Fail to prepare 
> create IMM Create Operation");
> diff --git a/src/smf/smfd/SmfUpgradeStep.cc b/src/smf/smfd/SmfUpgradeStep.cc
> --- a/src/smf/smfd/SmfUpgradeStep.cc
> +++ b/src/smf/smfd/SmfUpgradeStep.cc
> @@ -2574,6 +2574,9 @@ bool SmfUpgradeStep::checkAndInvokeCallb
>       SaAisErrorT rc = SA_AIS_OK;
>   
>       std::vector < SmfUpgradeStep * >::const_iterator iter;
> +
> +     TRACE_ENTER();
> +
>       const std::vector <SmfUpgradeStep *>& procSteps = 
> m_procedure->getProcSteps();
>   
>       cbkiter = callbackList.begin();


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to