Added experimental ktrace_[v]printf() functions to libroot. Their output

is recorded in a kernel trace entry (if tracing is enabled).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23686 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2008-01-21 15:10:05 +00:00
parent 0fc3b83496
commit a54c125e37
5 changed files with 61 additions and 0 deletions
+35
View File
@@ -317,6 +317,32 @@ AbstractTraceEntry::AddDump(TraceOutput& out)
bool AbstractTraceEntry::sPrintTeamID = false;
// #pragma mark -
#if ENABLE_TRACING
class UserTraceEntry : public AbstractTraceEntry {
public:
UserTraceEntry(const char* message)
{
fMessage = alloc_tracing_buffer_strcpy(message, 256, true);
Initialized();
}
virtual void AddDump(TraceOutput& out)
{
out.Print("user: %s", fMessage);
}
private:
char* fMessage;
};
#endif // ENABLE_TRACING
// #pragma mark - trace filters
@@ -1026,3 +1052,12 @@ tracing_init(void)
return B_OK;
}
void
_user_ktrace_output(const char *message)
{
#if ENABLE_TRACING
new(nothrow) UserTraceEntry(message);
#endif // ENABLE_TRACING
}