1 message in com.mysql.lists.ndb-connectorsRev 223: Merged in changes for async ...
FromSent OnAttachments
Monty Taylor30 Oct 2007 11:15 
Subject:Rev 223: Merged in changes for async timing. in http://bazaar.launchpad.net/~ndb-connectors/ndb-connectors/devel
From:Monty Taylor (mtay@mysql.com)
Date:10/30/2007 11:15:57 AM
List:com.mysql.lists.ndb-connectors

At http://bazaar.launchpad.net/~ndb-connectors/ndb-connectors/devel

------------------------------------------------------------ revno: 223 revision-id: mtay@mysql.com-20071030181600-bfoohpcfauqzfgc1 parent: mtay@mysql.com-20071030120251-1v2a5hi9jxxd3cx4 parent: mtay@mysql.com-20071030180531-nuqhuahe52h9foib committer: Monty Taylor <mtay@mysql.com> branch nick: devel timestamp: Tue 2007-10-30 18:16:00 +0000 message: Merged in changes for async timing. modified: configure.in configure.in-20070228020914-u2pk759xg7thauwf-13 java/com/mysql/cluster/ndbj/examples/TestEvent.java
testevent.java-20071026232217-5tigfbdmcudrnbbx-1 java/ndbj.i ndbj.i-20070913223244-5938mztpztyn9sry-1 swig/NdbTransaction.i
ndbtransaction.i-20070227184716-ecjyhh3jgvmye4de-7 swig/ndbglobals.i globals.i-20070228021421-qkr4cbpxymyqdrf3-7 ------------------------------------------------------------ revno: 217.1.7 revision-id: mtay@mysql.com-20071030180531-nuqhuahe52h9foib parent: mtay@mysql.com-20071030180407-xv0cv62hsdo34xfs committer: Monty Taylor <mtay@mysql.com> branch nick: ndbjmerge timestamp: Tue 2007-10-30 18:05:31 +0000 message: Fix to make Johan happy. modified: swig/ndbglobals.i globals.i-20070228021421-qkr4cbpxymyqdrf3-7 ------------------------------------------------------------ revno: 217.1.6 revision-id: mtay@mysql.com-20071030180407-xv0cv62hsdo34xfs parent: mtay@mysql.com-20071030120214-0cx1lq342erqp99h committer: Monty Taylor <mtay@mysql.com> branch nick: ndbjmerge timestamp: Tue 2007-10-30 18:04:07 +0000 message: Added timing to async callbacks. modified: configure.in
configure.in-20070228020914-u2pk759xg7thauwf-13 java/com/mysql/cluster/ndbj/examples/TestEvent.java
testevent.java-20071026232217-5tigfbdmcudrnbbx-1 java/ndbj.i ndbj.i-20070913223244-5938mztpztyn9sry-1 swig/NdbTransaction.i
ndbtransaction.i-20070227184716-ecjyhh3jgvmye4de-7 swig/ndbglobals.i globals.i-20070228021421-qkr4cbpxymyqdrf3-7 === modified file 'configure.in' --- a/configure.in 2007-10-28 00:17:55 +0000 +++ b/configure.in 2007-10-30 18:04:07 +0000 @@ -6,6 +6,18 @@ [ --with-debug Build a debugging version], [with_debug=$withval], [with_debug=no]) + +AC_ARG_WITH([async-time], + [AS_HELP_STRING([--with-async-time], + [Produce timing reports for Async transactions @<:@default=no@:>@])], + [with_asynctime=$withval], + [with_asynctime=no]) + +AS_IF([test "x$with_asynctime" = "xyes"], + [AC_DEFINE([DEBUG_ASYNC_TIMES],1, + [Define to 1 if you want to profile async callbacks])], + []) + if test "$with_debug" = "yes" then CXXFLAGS="-ggdb3 -Wall"

=== modified file 'java/com/mysql/cluster/ndbj/examples/TestEvent.java' --- a/java/com/mysql/cluster/ndbj/examples/TestEvent.java 2007-10-28 00:05:03
+0000 +++ b/java/com/mysql/cluster/ndbj/examples/TestEvent.java 2007-10-30 18:04:07
+0000 @@ -89,6 +89,8 @@ } NdbResultSet theResultSet = eop.resultData(); NdbResultSet preResultSet = eop.preResultData(); + +

System.out.println("done");

=== modified file 'java/ndbj.i' --- a/java/ndbj.i 2007-10-29 17:52:57 +0000 +++ b/java/ndbj.i 2007-10-30 18:04:07 +0000 @@ -41,6 +41,7 @@

%{ #include <stdio.h> +#include "config.h"

typedef struct asynch_callback_t

=== modified file 'swig/NdbTransaction.i' --- a/swig/NdbTransaction.i 2007-10-23 05:12:33 +0000 +++ b/swig/NdbTransaction.i 2007-10-30 18:04:07 +0000 @@ -136,6 +136,9 @@ void executeAsynchPrepare(ExecType execType, BaseCallback * cb, AbortOption abortOption = AbortOnError) { +#ifdef DEBUG_ASYNC_TIMES + cb->setCreateTime(); +#endif self->executeAsynchPrepare(execType,theNdbCallback,(void
*)cb,abortOption); };

=== modified file 'swig/ndbglobals.i' --- a/swig/ndbglobals.i 2007-10-30 12:02:14 +0000 +++ b/swig/ndbglobals.i 2007-10-30 18:05:31 +0000 @@ -27,19 +27,44 @@ #include <NdbApi.hpp> //#include <m_ctype.h>

+ + long long getTimeMicros() + { + struct timeval tTime; + gettimeofday(&tTime, 0); + long long microSeconds = (long long) tTime.tv_sec * 1000000 +
tTime.tv_usec; + return microSeconds; + } + class BaseCallback {

+ public: + long long createTime; + virtual ~BaseCallback() {}; virtual void callback(int res, NdbTransaction * trans) { printf("In BaseCallback::callback. Return Value: %d. Transaction:
%p\n",res,trans); - } + } + + void setCreateTime() { + printf("In setCreateTime \n"); + createTime = getTimeMicros(); + } + long long getElapsedTime() { + return getTimeMicros()-createTime; + }

};

void theNdbCallback(int ret, NdbTransaction * trans, void * anyObject) { BaseCallback * cb = (BaseCallback *)anyObject; cb->callback(ret, trans); + #ifdef DEBUG_ASYNC_TIMES + long long elapsed = cb->getElapsedTime(); + printf("Callback %p took %llu microseconds\n",cb,elapsed); + #endif + }

class BaseEventCallback { @@ -58,13 +83,6 @@ cb->callback(theOp,theNdb); }

- long long getTimeMicros() - { - struct timeval tTime; - gettimeofday(&tTime, 0); - long long microSeconds = (long long) tTime.tv_sec * 1000000 +
tTime.tv_usec; - return microSeconds; - }

typedef int voidint; @@ -140,6 +158,7 @@ virtual ~BaseCallback() {}; public: virtual void callback(int res, NdbTransaction * trans); + virtual long long getElapsedTime();

};