HI Lennart, Yes you are right, the published patch will work for Bot TIPC & TCP you can integrated and test BOTH .
I will move the `FILE *fp;` out of `#ifdef ENABLE_TIPC_TRANSPORT` , so that if some one wont build only TCP should also be able to compile . -AVM On 2/12/2016 2:07 PM, Lennart Lund wrote: > Hi Mahesh > > Sorry, I didn't realize that this prototype did not yet support TCP but I > have tested with --enable-tipc and that worked fine. You mentioned earlier > that it could be a problem to make this work with tipc so it's nice to see > that you have been able to handle that. This solution will make it easy to > implement the extended originating node info in the log service. > > Thanks > Lennart > >> -----Original Message----- >> From: A V Mahesh [mailto:[email protected]] >> Sent: den 12 februari 2016 04:53 >> To: Lennart Lund; Beatriz Brandao; [email protected]; >> [email protected] >> Cc: [email protected] >> Subject: Re: [PATCH 0 of 3] Review Request for MDS: Include node name as a >> part of Transport callback_info events [#1522] >> >> Hi Lennart, >> >> It looks like you are configured Opensaf without `--enable-tipc` option >> and currently `FILE *fp;` is `#ifdef ENABLE_TIPC_TRANSPORT` under compile >> time flag, that is why you are seeing the problem , for now configure >> Opensaf >> with `--enable-tipc` option and proceed for your testing . >> >> I will move the `FILE *fp;` to out of `#ifdef ENABLE_TIPC_TRANSPORT` >> in the final patch. >> >> Following is the example configure options >> ./bootstrap.sh ; ./configure --enable-tipc --enable-imm-pbe < some >> other options of yours> ; make rpm >> >> >> ========================================================== >> ==== >> >> +#ifdef ENABLE_TIPC_TRANSPORT >> + int rc; >> + struct stat sockStat; >> + FILE *fp; >> + >> + rc = stat(MDS_MDTM_CONNECT_PATH, >> &sockStat); >> + if (rc != 0) { >> + /* dtm intra server not exists */ >> + tipc_mode_enabled = true; >> } >> >> + if (tipc_mode_enabled) { >> + /* Get tipc_mcast_enabled */ >> + if ((ptr = >> getenv("MDS_TIPC_MCAST_ENABLED")) != NULL) { >> + >> tipc_mcast_enabled = atoi(ptr); >> + if >> (tipc_mcast_enabled != false) >> + >> tipc_mcast_enabled = true; >> + >> + >> m_MDS_LOG_DBG("MDS: TIPC_MCAST_ENABLED: %d Set >> argument \n",tipc_mcast_enabled); >> + } >> + >> + } >> +#endif >> >> ========================================================== >> =================================== >> >> -AVM >> >> >> On 2/11/2016 3:12 PM, Lennart Lund wrote: >>> Hi Mahesh >>> >>> With patch 2 of 3 it builds fine when configured for tipc but not when >> configured for TCP. >>> Got the following error: >>> make[6]: Entering directory `/home/elunlen/workspace/opensaf-staging- >> dev1/osaf/libs/core/mds' >>> CC libmds_la-mds_dt_tcp.lo >>> CC libmds_la-mds_dt_trans.lo >>> CC libmds_la-mds_dt_disc.lo >>> CC libmds_la-mds_dt_common.lo >>> CC libmds_la-mds_main.lo >>> CC libmds_la-mds_papi.lo >>> CC libmds_la-mds_c_db.lo >>> CC libmds_la-mds_c_sndrcv.lo >>> mds_main.c: In function 'mds_lib_req': >>> mds_main.c:421:3: error: 'fp' undeclared (first use in this function) >>> fp = fopen(PKGSYSCONFDIR "/node_name", "r"); >>> ^ >>> mds_main.c:421:3: note: each undeclared identifier is reported only once >> for each function it appears in >>> I have tested (with tipc) and it seems to work as intended. I have not >> tested any performance but I assume you will do such tests? >>> Thanks >>> Lennart >>> >>>> -----Original Message----- >>>> From: A V Mahesh [mailto:[email protected]] >>>> Sent: den 11 februari 2016 04:58 >>>> To: Lennart Lund; Beatriz Brandao; [email protected]; >>>> [email protected] >>>> Cc: [email protected] >>>> Subject: Re: [PATCH 0 of 3] Review Request for MDS: Include node name >> as a >>>> part of Transport callback_info events [#1522] >>>> >>>> Hi Lennar, >>>> >>>> On 2/10/2016 5:10 PM, Lennart Lund wrote: >>>>> mds_dt_trans.c: In function 'mds_mdtm_process_recvdata': >>>>> mds_dt_trans.c:928:5: error: too few arguments to function >>>> 'mds_mcm_node_up' >>>>> mds_mcm_node_up(svc_hdl, node_id, node_ip, addr_family); >>>> It seems you didn't applied the `[devel] [PATCH 2 of 3] MDS:TCP include >>>> node name as a part of callback_info events [#1522]` >>>> you need to minimum apply both TCP & TIPC together see below `[PATCH >> 2 >>>> of 3] MDS:TCP` contains the change of mds_mcm_node_up() >>>> >>>> >> ========================================================== >>>> ==================================== >>>> >>>> >>>> @@ -922,13 +959,14 @@ static uint32_t mds_mdtm_process_recvdat >>>> if (msg_type == >>>> MDTM_LIB_NODE_UP_TYPE) { >>>> addr_family = >>>> ncs_decode_8bit(&buffer); >>>> memset(node_ip,0, >>>> INET6_ADDRSTRLEN); >>>> + >>>> memset(node_name,0, HOST_NAME_MAX); >>>> memcpy(node_ip, >>>> (uint8_t *)buffer, INET6_ADDRSTRLEN); >>>> - >>>> m_MDS_LOG_INFO("MDTM: NODE_UP node_ip:%s, >>>> node_id:%u addr_family:%d msg_type:%d", >>>> - >>>> node_ip, node_id, addr_family, msg_type); >>>> - >>>> mds_mcm_node_up(svc_hdl, node_id, node_ip, >>>> addr_family); >>>> - } >>>> - >>>> - if (msg_type == >>>> MDTM_LIB_NODE_DOWN_TYPE) { >>>> + buffer = >>>> buffer+INET6_ADDRSTRLEN; >>>> + >>>> memcpy(node_name, (uint8_t *)buffer, HOST_NAME_MAX); >>>> >>>> + >>>> m_MDS_LOG_INFO("MDTM: NODE_UP for node_name:%s, >>>> node_ip:%s, node_id:%u addr_family:%d msg_type:%d", >>>> + >>>> node_name, node_ip, node_id, addr_family, msg_type); >>>> + >>>> mds_mcm_node_up(svc_hdl, node_id, node_ip, addr_family, >>>> node_name); >>>> + } else if (msg_type == >>>> MDTM_LIB_NODE_DOWN_TYPE) { >>>> >>>> m_MDS_LOG_INFO("MDTM: NODE_DOWN node_id:%u >>>> msg_type:%d",node_id, msg_type); >>>> /* TBD if required >>>> this can be AF_INET or AF_INET6 >>>> for now to >>>> distinguished between TCP & TIPC hardcoding to AF_INET >>>> >>>> >> ========================================================== >>>> ==================================== >>>> >>>> -AVM >>>> >>>> >>>> On 2/10/2016 5:10 PM, Lennart Lund wrote: >>>>> Hi Mahesh >>>>> >>>>> I have applied your patch on the latest changeset on the devel branch. >>>> There is no problem to apply the patch. >>>>> Before compiling I have done: >>>>>> make distclean >>>>>> ./bootstrap.sh >>>>>> ./configure --enable-tipc --enable-tests >>>>> When making I get the following compiler error: >>>>> >>>>> make[6]: Entering directory `/home/elunlen/workspace/opensaf- >> staging- >>>> dev1/osaf/libs/core/mds' >>>>> CC libmds_la-mds_dt_tcp.lo >>>>> CC libmds_la-mds_dt_disc.lo >>>>> CC libmds_la-mds_dt_trans.lo >>>>> CC libmds_la-mds_dt_common.lo >>>>> CC libmds_la-mds_main.lo >>>>> CC libmds_la-mds_papi.lo >>>>> CC libmds_la-mds_c_db.lo >>>>> CC libmds_la-mds_c_sndrcv.lo >>>>> mds_dt_trans.c: In function 'mds_mdtm_process_recvdata': >>>>> mds_dt_trans.c:928:5: error: too few arguments to function >>>> 'mds_mcm_node_up' >>>>> mds_mcm_node_up(svc_hdl, node_id, node_ip, addr_family); >>>>> ^ >>>>> In file included from >> ../../../../osaf/libs/core/mds/include/mds_dt.h:28:0, >>>>> from mds_dt_trans.c:18: >>>>> ../../../../osaf/libs/core/mds/include/mds_dt2c.h:405:17: note: declared >>>> here >>>>> extern uint32_t mds_mcm_node_up(MDS_SVC_HDL local_svc_hdl, >>>> NODE_ID node_id, char *node_ip, uint16_t addr_family, char >> *node_name); >>>>> ^ >>>>> >>>>> Regards >>>>> Lennart >>>>> >>>>>> -----Original Message----- >>>>>> From: A V Mahesh [mailto:[email protected]] >>>>>> Sent: den 8 februari 2016 04:49 >>>>>> To: Lennart Lund; Beatriz Brandao; [email protected]; >>>>>> [email protected] >>>>>> Cc: [email protected] >>>>>> Subject: Re: [PATCH 0 of 3] Review Request for MDS: Include node >> name >>>> as a >>>>>> part of Transport callback_info events [#1522] >>>>>> >>>>>> Hi Lennart , >>>>>> >>>>>> On 2/5/2016 5:30 PM, Lennart Lund wrote: >>>>>>> A patch (2 of 3) seems to be missing and it's not possible to build. >>>>>> I Just copyed the ` PATCH_1_of_3.patch , PATCH_2_of_3.patch & >>>>>> PATCH_3_of_3.patch` form the published mail ( please find attached >>>>>> for your reference) >>>>>> and able to build rpms successfully with `gcc version 4.8.3 (GCC)` >>>>>> and Opensaf configure options `./bootstrap.sh ; ./configure >>>>>> --enable-tipc --enable-imm-pbe` >>>>>> on SUSE Linux Enterprise Server 11 SP2 (x86_64) . >>>>>> >>>>>> Can you provide what was the build error you are facing . >>>>>> >>>>>> - AVM >>>>>> >>>>>> >>>>>> On 2/5/2016 5:30 PM, Lennart Lund wrote: >>>>>>> Hi Mahesh >>>>>>> >>>>>>> I have looked at the test logs in the log code and I have not seen any >>>>>> surprises. Since this will work with both TIPC and TCP it will be form >>>>>> the >> log >>>>>> perspective a good solution. >>>>>>> However I have not been able to build and test, a patch (2 of 3) seems >> to >>>>>> be missing and it's not possible to build. >>>>>>> Thanks >>>>>>> Lennart >>>>>>> >>>>>>>> -----Original Message----- >>>>>>>> From: [email protected] [mailto:[email protected]] >>>>>>>> Sent: den 5 februari 2016 07:26 >>>>>>>> To: Lennart Lund; Beatriz Brandao; [email protected]; >>>>>>>> [email protected] >>>>>>>> Cc: [email protected] >>>>>>>> Subject: [PATCH 0 of 3] Review Request for MDS: Include node >> name >>>> as a >>>>>>>> part of Transport callback_info events [#1522] >>>>>>>> >>>>>>>> Summary:MDS: Include node name as a part of Transport >> callback_info >>>>>>>> events [#1522] >>>>>>>> Review request for Trac Ticket(s): #1522 >>>>>>>> Peer Reviewer(s): Lennart /Beatriz /Mathi /Ramesh >>>>>>>> Pull request to: avm >>>>>>>> Affected branch(es): default >>>>>>>> Development branch: default >>>>>>>> >>>>>>>> -------------------------------- >>>>>>>> Impacted area Impact y/n >>>>>>>> -------------------------------- >>>>>>>> Docs n >>>>>>>> Build system n >>>>>>>> RPM/packaging n >>>>>>>> Configuration files n >>>>>>>> Startup scripts n >>>>>>>> SAF services n >>>>>>>> OpenSAF services n >>>>>>>> Core libraries y >>>>>>>> Samples n >>>>>>>> Tests n >>>>>>>> Other n >>>>>>>> >>>>>>>> >>>>>>>> Comments (indicate scope for each "y" above): >>>>>>>> --------------------------------------------- >>>>>>>> >>>>>>>> changeset 690a41fd9dae68acda8b692f47455a879703b941 >>>>>>>> Author: A V Mahesh <[email protected]> >>>>>>>> Date: Fri, 05 Feb 2016 11:43:56 +0530 >>>>>>>> >>>>>>>> MDS:TIPC include node name as a part of callback_info events >>>>>>>> [#1522] >>>>>>>> This patch enhences the Opensaf Transport provides Node >>>>>>>> Name of the sender >>>>>>>> as part of ncsmds_callback_info (NCSMDS_CALLBACK_INFO). >>>>>>>> >>>>>>>> This enhences implemented for both TCP & TIPC >>>>>>>> Transport. >>>>>>>> >>>>>>>> In addtional to TIPC list DEC_INFO, RECEIVE_INFO & >>>>>>>> DIRECT_RECEIVE, TCP Transport provides Node Name of >>>>>>>> the sender as part of NODE_EVENT event also. >>>>>>>> >>>>>>>> Patch supports in-serrvice upgrade both TCP & TIPC >>>>>>>> Transport (NOT YET TESTED). >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> TIPC MDS transport will provide part of >>>>>>>> ncsmds_callback_info for follwing events : >>>>>>>> >>>>>>>> - MDS_CALLBACK_DEC_INFO >>>>>>>> - MDS_CALLBACK_RECEIVE_INFO >>>>>>>> - MDS_CALLBACK_DIRECT_RECEIVE_INFO >>>>>>>> >>>>>>>> Example : >>>>>>>> >>>>>>>> Feb 5 11:41:06 SC-1 osaflogd[21413]: LGS: mds_dec() >>>>>>>> node_name : SC-1 >>>>>>>> evt.type :0 from ncsmds_callback_info Feb 5 11:41:06 SC-1 >>>>>>>> osaflogd[21413]: >>>>>>>> LGS: mds_rcv() node_name : SC-1 evt.type :4 from >>>>>>>> ncsmds_callback_info Feb >>>>>>>> 5 11:41:06 SC-1 osaflogd[21413]: LGS: mds_dec() node_name : >>>>>>>> SC-2 evt.type >>>>>>>> :0 from ncsmds_callback_info Feb 5 11:41:06 SC-1 >>>>>>>> osaflogd[21413]: LGS: >>>>>>>> mds_rcv() node_name : SC-2 evt.type :0 from >>>>>>>> ncsmds_callback_info >>>>>>>> >>>>>>>> changeset 1137585f6e9af2c3b4e66363d94454dcb5133895 >>>>>>>> Author: A V Mahesh <[email protected]> >>>>>>>> Date: Fri, 05 Feb 2016 11:46:34 +0530 >>>>>>>> >>>>>>>> MDS:TCP include node name as a part of callback_info events >>>>>>>> [#1522] This >>>>>>>> patch enhancement the Opensaf Transport provides Node >>>>>>>> Name of the sender >>>>>>>> as part of ncsmds_callback_info (NCSMDS_CALLBACK_INFO). >>>>>>>> >>>>>>>> This enhancement is implemented for both TCP & TIPC >>>>>>>> Transport. >>>>>>>> >>>>>>>> In additional to TIPC Transport list DEC_INFO, >>>>>>>> RECEIVE_INFO & DIRECT_RECEIVE, TCP Transport >>>>>>>> provides Node Name of the sender as part of NODE_EVENT >>>>>>>> event also. >>>>>>>> >>>>>>>> Patch supports in-serrvice upgrade both TCP & TIPC >>>>>>>> Transport (NOT YET TESTED). >>>>>>>> >>>>>>>> TCP MDS transport will provide part of >>>>>>>> ncsmds_callback_info for following events : >>>>>>>> >>>>>>>> - MDS_CALLBACK_NODE_EVENT_INFO >>>>>>>> - MDS_CALLBACK_DEC_INFO >>>>>>>> - MDS_CALLBACK_RECEIVE_INFO >>>>>>>> - MDS_CALLBACK_DIRECT_RECEIVE_INFO >>>>>>>> >>>>>>>> Example : >>>>>>>> >>>>>>>> Feb 5 11:41:02 SC-2 osafclmd[16086]: TEST LGS:node_name : >>>>>>>> SC-1 NCSMDS_NODE_UP ncsmds_callback_info Feb 5 11:41:02 >>>>>>>> SC-2 osafclmd[16086]: TEST LGS:node_name : SC-2 >>>>>>>> NCSMDS_NODE_UP >>>>>>>> ncsmds_callback_info >>>>>>>> >>>>>>>> Feb 5 11:41:06 SC-1 osaflogd[21413]: LGS: mds_dec() >>>>>>>> node_name : SC-1 evt.type :0 from ncsmds_callback_info Feb >>>>>>>> 5 11:41:06 SC-1 osaflogd[21413]: LGS: mds_rcv() node_name : >>>>>>>> SC-1 evt.type >>>>>>>> :4 from ncsmds_callback_info Feb 5 11:41:06 SC-1 >>>>>>>> osaflogd[21413]: LGS: mds_dec() node_name : SC-2 evt.type >>>>>>>> :0 from >>>>>>>> ncsmds_callback_info Feb 5 11:41:06 SC-1 osaflogd[21413]: >>>>>>>> LGS: mds_rcv() node_name : SC-2 evt.type :0 from >>>>>>>> ncsmds_callback_info >>>>>>>> >>>>>>>> changeset 8b761c82746a547b7cd60cf8e98e983172975a74 >>>>>>>> Author: A V Mahesh <[email protected]> >>>>>>>> Date: Fri, 05 Feb 2016 11:49:30 +0530 >>>>>>>> >>>>>>>> MDS: use case examples of node_name from >>>>>>>> NCSMDS_CALLBACK_INFO [#1522] >>>>>>>> Example node_name from ncsmds_callback_info >>>>>>>> (NCSMDS_CALLBACK_INFO) use case >>>>>>>> this will not be committed , just to show use case. >>>>>>>> >>>>>>>> >>>>>>>> Complete diffstat: >>>>>>>> ------------------ >>>>>>>> osaf/libs/core/include/mds_papi.h | 8 >>>>>>>> +++++++- >>>>>>>> osaf/libs/core/mds/include/mds_core.h | 4 >>>>>>>> +++- >>>>>>>> osaf/libs/core/mds/include/mds_dt.h | 5 >>>>>>>> +++-- >>>>>>>> osaf/libs/core/mds/include/mds_dt2c.h | 6 >>>>>>>> ++++-- >>>>>>>> osaf/libs/core/mds/mds_c_api.c | 14 >>>>>>>> +++++++++--- >> -- >>>>>>>> osaf/libs/core/mds/mds_c_sndrcv.c | 5 >>>>>>>> +++++ >>>>>>>> osaf/libs/core/mds/mds_dt_common.c | 49 >>>>>>>> +++++++++++++++++++++++++++++++++++-------------- >>>>>>>> osaf/libs/core/mds/mds_dt_tipc.c | 116 >>>>>>>> >> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >>>>>>>> +++++++++++++++++++++++++--------------------------------- >>>>>>>> osaf/libs/core/mds/mds_dt_trans.c | 108 >>>>>>>> >> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >>>>>>>> +++++++++++++++----------------------------------- >>>>>>>> osaf/libs/core/mds/mds_main.c | 55 >>>>>>>> +++++++++++++++++++++++++++++++++++++++---------------- >>>>>>>> osaf/services/infrastructure/dtms/dtm/dtm_intra.c | 8 >> ++++--- >>>> - >>>>>>>> osaf/services/infrastructure/dtms/dtm/dtm_intra_svc.c | 20 >>>>>>>> ++++++++++++++------ >>>>>>>> osaf/services/infrastructure/dtms/dtm/dtm_node.c | 4 >>>>>>>> ++- >> - >>>>>>>> osaf/services/infrastructure/dtms/include/dtm_cb.h | 5 >>>>>>>> ++-- >> - >>>>>>>> osaf/services/infrastructure/dtms/include/dtm_intra.h | 2 >>>>>>>> +- >>>>>>>> osaf/services/infrastructure/dtms/include/dtm_intra_disc.h | 5 >>>> +++-- >>>>>>>> osaf/services/saf/clmsv/clms/clms_mds.c | 1 >>>>>>>> + >>>>>>>> osaf/services/saf/logsv/lgs/lgs_mds.cc | 4 >>>>>>>> ++-- >>>>>>>> 18 files changed, 290 insertions(+), 129 deletions(-) >>>>>>>> >>>>>>>> >>>>>>>> Testing Commands: >>>>>>>> ----------------- >>>>>>>> Patch 4 of 4 provided use case. >>>>>>>> >>>>>>>> Testing, Expected Results: >>>>>>>> -------------------------- >>>>>>>> >>>>>>>> >>>>>>>> Conditions of Submission: >>>>>>>> ------------------------- >>>>>>>> <<HOW MANY DAYS BEFORE PUSHING, CONSENSUS ETC>> >>>>>>>> >>>>>>>> >>>>>>>> Arch Built Started Linux distro >>>>>>>> ------------------------------------------- >>>>>>>> mips n n >>>>>>>> mips64 n n >>>>>>>> x86 n n >>>>>>>> x86_64 y y >>>>>>>> powerpc n n >>>>>>>> powerpc64 n n >>>>>>>> >>>>>>>> >>>>>>>> Reviewer Checklist: >>>>>>>> ------------------- >>>>>>>> [Submitters: make sure that your review doesn't trigger any >>>> checkmarks!] >>>>>>>> Your checkin has not passed review because (see checked entries): >>>>>>>> >>>>>>>> ___ Your RR template is generally incomplete; it has too many blank >>>>>> entries >>>>>>>> that need proper data filled in. >>>>>>>> >>>>>>>> ___ You have failed to nominate the proper persons for review and >>>> push. >>>>>>>> ___ Your patches do not have proper short+long header >>>>>>>> >>>>>>>> ___ You have grammar/spelling in your header that is unacceptable. >>>>>>>> >>>>>>>> ___ You have exceeded a sensible line length in your >>>>>>>> headers/comments/text. >>>>>>>> >>>>>>>> ___ You have failed to put in a proper Trac Ticket # into your >> commits. >>>>>>>> ___ You have incorrectly put/left internal data in your >> comments/files >>>>>>>> (i.e. internal bug tracking tool IDs, product names etc) >>>>>>>> >>>>>>>> ___ You have not given any evidence of testing beyond basic build >>>> tests. >>>>>>>> Demonstrate some level of runtime or other sanity testing. >>>>>>>> >>>>>>>> ___ You have ^M present in some of your files. These have to be >>>>>> removed. >>>>>>>> ___ You have needlessly changed whitespace or added whitespace >>>>>> crimes >>>>>>>> like trailing spaces, or spaces before tabs. >>>>>>>> >>>>>>>> ___ You have mixed real technical changes with whitespace and >> other >>>>>>>> cosmetic code cleanup changes. These have to be separate >>>> commits. >>>>>>>> ___ You need to refactor your submission into logical chunks; there >> is >>>>>>>> too much content into a single commit. >>>>>>>> >>>>>>>> ___ You have extraneous garbage in your review (merge commits >> etc) >>>>>>>> ___ You have giant attachments which should never have been >> sent; >>>>>>>> Instead you should place your content in a public tree to be >> pulled. >>>>>>>> ___ You have too many commits attached to an e-mail; resend as >>>>>> threaded >>>>>>>> commits, or place in a public tree for a pull. >>>>>>>> >>>>>>>> ___ You have resent this content multiple times without a clear >>>> indication >>>>>>>> of what has changed between each re-send. >>>>>>>> >>>>>>>> ___ You have failed to adequately and individually address all of the >>>>>>>> comments and change requests that were proposed in the initial >>>>>> review. >>>>>>>> ___ You have a misconfigured ~/.hgrc file (i.e. username, email etc) >>>>>>>> >>>>>>>> ___ Your computer have a badly configured date and time; >> confusing >>>> the >>>>>>>> the threaded patch review. >>>>>>>> >>>>>>>> ___ Your changes affect IPC mechanism, and you don't present any >>>>>> results >>>>>>>> for in-service upgradability test. >>>>>>>> >>>>>>>> ___ Your changes affect user manual and documentation, your >> patch >>>>>> series >>>>>>>> do not contain the patch that updates the Doxygen manual. ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
