trace: convert stderr backend to log
[Also update .travis.yml --enable-trace-backends=stderr --Stefan] Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Denis V. Lunev <den@openvz.org> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Message-id: 1452174932-28657-10-git-send-email-den@openvz.org Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
d890d50d18
commit
ed7f5f1d8d
|
@ -78,7 +78,7 @@ matrix:
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
# All the trace backends (apart from dtrace)
|
# All the trace backends (apart from dtrace)
|
||||||
- env: TARGETS=i386-softmmu,x86_64-softmmu
|
- env: TARGETS=i386-softmmu,x86_64-softmmu
|
||||||
EXTRA_CONFIG="--enable-trace-backends=stderr"
|
EXTRA_CONFIG="--enable-trace-backends=log"
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
- env: TARGETS=i386-softmmu,x86_64-softmmu
|
- env: TARGETS=i386-softmmu,x86_64-softmmu
|
||||||
EXTRA_CONFIG="--enable-trace-backends=simple"
|
EXTRA_CONFIG="--enable-trace-backends=simple"
|
||||||
|
|
|
@ -5445,8 +5445,8 @@ if have_backend "simple"; then
|
||||||
# Set the appropriate trace file.
|
# Set the appropriate trace file.
|
||||||
trace_file="\"$trace_file-\" FMT_pid"
|
trace_file="\"$trace_file-\" FMT_pid"
|
||||||
fi
|
fi
|
||||||
if have_backend "stderr"; then
|
if have_backend "log"; then
|
||||||
echo "CONFIG_TRACE_STDERR=y" >> $config_host_mak
|
echo "CONFIG_TRACE_LOG=y" >> $config_host_mak
|
||||||
fi
|
fi
|
||||||
if have_backend "ust"; then
|
if have_backend "ust"; then
|
||||||
echo "CONFIG_TRACE_UST=y" >> $config_host_mak
|
echo "CONFIG_TRACE_UST=y" >> $config_host_mak
|
||||||
|
|
|
@ -45,6 +45,7 @@ static inline bool qemu_log_separate(void)
|
||||||
#define CPU_LOG_MMU (1 << 12)
|
#define CPU_LOG_MMU (1 << 12)
|
||||||
#define CPU_LOG_TB_NOCHAIN (1 << 13)
|
#define CPU_LOG_TB_NOCHAIN (1 << 13)
|
||||||
#define CPU_LOG_PAGE (1 << 14)
|
#define CPU_LOG_PAGE (1 << 14)
|
||||||
|
#define LOG_TRACE (1 << 15)
|
||||||
|
|
||||||
/* Returns true if a bit is set in the current loglevel mask
|
/* Returns true if a bit is set in the current loglevel mask
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -25,6 +25,7 @@ def generate_h_begin(events):
|
||||||
'#include <sys/types.h>',
|
'#include <sys/types.h>',
|
||||||
'#include <unistd.h>',
|
'#include <unistd.h>',
|
||||||
'#include "trace/control.h"',
|
'#include "trace/control.h"',
|
||||||
|
'#include "qemu/log.h"',
|
||||||
'')
|
'')
|
||||||
|
|
||||||
|
|
||||||
|
@ -36,7 +37,7 @@ def generate_h(event):
|
||||||
out(' if (trace_event_get_state(%(event_id)s)) {',
|
out(' if (trace_event_get_state(%(event_id)s)) {',
|
||||||
' struct timeval _now;',
|
' struct timeval _now;',
|
||||||
' gettimeofday(&_now, NULL);',
|
' gettimeofday(&_now, NULL);',
|
||||||
' fprintf(stderr, "%%d@%%zd.%%06zd:%(name)s " %(fmt)s "\\n",',
|
' qemu_log_mask(LOG_TRACE, "%%d@%%zd.%%06zd:%(name)s " %(fmt)s "\\n",',
|
||||||
' getpid(),',
|
' getpid(),',
|
||||||
' (size_t)_now.tv_sec, (size_t)_now.tv_usec',
|
' (size_t)_now.tv_sec, (size_t)_now.tv_usec',
|
||||||
' %(argnames)s);',
|
' %(argnames)s);',
|
|
@ -14,6 +14,9 @@
|
||||||
#ifdef CONFIG_TRACE_FTRACE
|
#ifdef CONFIG_TRACE_FTRACE
|
||||||
#include "trace/ftrace.h"
|
#include "trace/ftrace.h"
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef CONFIG_TRACE_LOG
|
||||||
|
#include "qemu/log.h"
|
||||||
|
#endif
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
|
|
||||||
int trace_events_enabled_count;
|
int trace_events_enabled_count;
|
||||||
|
@ -174,6 +177,13 @@ void trace_init_file(const char *file)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_TRACE_SIMPLE
|
#ifdef CONFIG_TRACE_SIMPLE
|
||||||
st_set_trace_file(file);
|
st_set_trace_file(file);
|
||||||
|
#elif defined CONFIG_TRACE_LOG
|
||||||
|
/* If both the simple and the log backends are enabled, "-trace file"
|
||||||
|
* only applies to the simple backend; use "-D" for the log backend.
|
||||||
|
*/
|
||||||
|
if (file) {
|
||||||
|
qemu_set_log_filename(file);
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
if (file) {
|
if (file) {
|
||||||
fprintf(stderr, "error: -trace file=...: "
|
fprintf(stderr, "error: -trace file=...: "
|
||||||
|
|
|
@ -51,6 +51,9 @@ void qemu_log_mask(int mask, const char *fmt, ...)
|
||||||
void do_qemu_set_log(int log_flags, bool use_own_buffers)
|
void do_qemu_set_log(int log_flags, bool use_own_buffers)
|
||||||
{
|
{
|
||||||
qemu_loglevel = log_flags;
|
qemu_loglevel = log_flags;
|
||||||
|
#ifdef CONFIG_TRACE_LOG
|
||||||
|
qemu_loglevel |= LOG_TRACE;
|
||||||
|
#endif
|
||||||
if (qemu_loglevel && !qemu_logfile) {
|
if (qemu_loglevel && !qemu_logfile) {
|
||||||
if (logfilename) {
|
if (logfilename) {
|
||||||
qemu_logfile = fopen(logfilename, log_append ? "a" : "w");
|
qemu_logfile = fopen(logfilename, log_append ? "a" : "w");
|
||||||
|
|
Loading…
Reference in New Issue