Backed out changeset 8661c6e4fa51 (bug 1072903)

This commit is contained in:
Carsten "Tomcat" Book 2014-11-21 08:04:11 +01:00
Родитель 791e6c76b8
Коммит 51991c42be
4 изменённых файлов: 23 добавлений и 16 удалений

Просмотреть файл

@ -130,7 +130,7 @@ TraceLoggerThread::init()
}
enabled = 1;
logTimestamp(TraceLogger_Enable);
graph.enable();
return true;
}
@ -157,8 +157,12 @@ TraceLoggerThread::enable()
if (failed)
return false;
// TODO: Remove this. This is so the refactor works with mimimal changes,
// It is the intention to remove this by logging TraceLogger_Enable/TraceLogger_Disable.
events.clear();
enabled = 1;
logTimestamp(TraceLogger_Enable);
graph.enable();
return true;
}
@ -229,7 +233,12 @@ TraceLoggerThread::disable()
return true;
}
logTimestamp(TraceLogger_Disable);
graph.log(events);
events.clear();
uint64_t time = rdtsc() - traceLoggers.startupTime;
graph.disable(time);
enabled = 0;
return true;

Просмотреть файл

@ -377,7 +377,7 @@ TraceLoggerGraph::stopEvent(uint64_t timestamp)
return;
// Forcefully disable logging. We have no stack information anymore.
logTimestamp(TraceLogger_Disable, timestamp);
disable(timestamp);
return;
}
stack.pop();
@ -386,9 +386,6 @@ TraceLoggerGraph::stopEvent(uint64_t timestamp)
void
TraceLoggerGraph::logTimestamp(uint32_t id, uint64_t timestamp)
{
if (id == TraceLogger_Enable)
enabled = true;
if (!enabled)
return;
@ -398,9 +395,6 @@ TraceLoggerGraph::logTimestamp(uint32_t id, uint64_t timestamp)
return;
}
if (id == TraceLogger_Disable)
disable(timestamp);
EventEntry &entry = events.pushUninitialized();
entry.time = timestamp;
entry.textId = id;
@ -494,6 +488,12 @@ TraceLoggerGraph::updateStop(uint32_t treeId, uint64_t timestamp)
return true;
}
void
TraceLoggerGraph::enable()
{
enabled = true;
}
void
TraceLoggerGraph::disable(uint64_t timestamp)
{

Просмотреть файл

@ -199,6 +199,10 @@ class TraceLoggerGraph
// Create a tree out of all the given events.
void log(ContinuousSpace<EventEntry> &events);
// Disable/enable the logger.
void disable(uint64_t timestamp);
void enable();
private:
bool failed;
bool enabled;
@ -246,10 +250,6 @@ class TraceLoggerGraph
// Log an (non-tree) event.
void logTimestamp(uint32_t id, uint64_t timestamp);
// Disable logging and forcefully report all not yet stopped tree events
// as stopped.
void disable(uint64_t timestamp);
};
#endif /* TraceLoggingGraph_h */

Просмотреть файл

@ -57,8 +57,6 @@
#define TRACELOGGER_LOG_ITEMS(_) \
_(Bailout) \
_(Disable) \
_(Enable) \
_(Stop)
// Predefined IDs for common operations. These IDs can be used