Changeset: 8cbe3b69ae19 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/8cbe3b69ae19
Modified Files:
monetdb5/mal/mal_client.c
sql/backends/monet5/sql.c
sql/include/sql_catalog.h
sql/server/sql_mvc.c
sql/storage/store.c
Branch: sql_profiler
Log Message:
Some minor improvements.
diffs (89 lines):
diff --git a/monetdb5/mal/mal_client.c b/monetdb5/mal/mal_client.c
--- a/monetdb5/mal/mal_client.c
+++ b/monetdb5/mal/mal_client.c
@@ -190,8 +190,6 @@ MCresetProfiler(stream *fdout)
void
MCexitClient(Client c)
{
- lng Tend;
-
MCresetProfiler(c->fdout);
// Remove any left over constant symbols
if( c->curprg)
@@ -209,11 +207,12 @@ MCexitClient(Client c)
c->fdout = NULL;
c->fdin = NULL;
}
- Tend = GDKusec();
- if(malProfileMode > 0)
+ if(malProfileMode > 0) {
+ lng Tend = GDKusec();
genericEvent("client_connection",
(struct GenericEvent)
{ &c->idx, NULL, NULL, NULL,
Tend-(c->session), Tend, 0 });
+ }
setClientContext(NULL);
}
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -138,7 +138,7 @@ sql_symbol2relation(backend *be, symbol
{ &(c->idx), &(c->curprg->def->tag),
NULL, NULL, Tend-Tbegin, Tend, rel ? 0 : 1 });
storage_based_opt = value_based_opt && rel && !is_ddl(rel->op);
- Tbegin = GDKusec();
+ Tbegin = Tend;
if (rel)
rel = sql_processrelation(be->mvc, rel, profile, 1,
value_based_opt, storage_based_opt);
if (rel)
diff --git a/sql/include/sql_catalog.h b/sql/include/sql_catalog.h
--- a/sql/include/sql_catalog.h
+++ b/sql/include/sql_catalog.h
@@ -308,7 +308,7 @@ typedef struct sql_trans {
ulng ts; /* transaction start timestamp */
ulng tid; /* transaction id */
- lng ts2; /* transaction timestamp for profiling */
+ lng clk_start; /* transaction start timestamp in
microseconds */
sql_store store; /* keep link into the global store */
MT_Lock lock; /* lock protecting concurrent writes to the
changes list */
diff --git a/sql/server/sql_mvc.c b/sql/server/sql_mvc.c
--- a/sql/server/sql_mvc.c
+++ b/sql/server/sql_mvc.c
@@ -487,7 +487,7 @@ mvc_trans(mvc *m)
TRC_INFO(SQL_TRANS, "Starting transaction\n");
res = sql_trans_begin(m->session);
- m->session->tr->ts2 = GDKusec();
+ m->session->tr->clk_start = GDKusec();
if (m->qc && (res || err)) {
int seqnr = m->qc->id;
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -7060,8 +7060,6 @@ sql_trans_begin(sql_session *s)
int
sql_trans_end(sql_session *s, int ok)
{
- lng Tend;
-
TRC_DEBUG(SQL_STORE, "End of transaction: " ULLFMT "\n", s->tr->tid);
if (ok == SQL_OK) {
ok = sql_trans_commit(s->tr);
@@ -7087,10 +7085,10 @@ sql_trans_end(sql_session *s, int ok)
}
store->oldest = oldest;
assert(list_length(store->active) == (int)
ATOMIC_GET(&store->nr_active));
- Tend = GDKusec();
+ store_unlock(store);
+ lng Tend = GDKusec();
store->generic_event_wrapper("transaction",
- s->tr->tid,
Tend-(s->tr->ts2), Tend, (ok == LOG_OK)? SQL_OK : SQL_ERR);
- store_unlock(store);
+ s->tr->tid,
Tend-(s->tr->clk_start), Tend, (ok == LOG_OK)? SQL_OK : SQL_ERR);
return ok;
}
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]