projects
/
babeltrace.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
02dc461
)
Add --clock-force-correlate option
author
Mathieu Desnoyers
<mathieu.desnoyers@efficios.com>
Mon, 13 Feb 2012 14:26:53 +0000
(09:26 -0500)
committer
Mathieu Desnoyers
<mathieu.desnoyers@efficios.com>
Mon, 13 Feb 2012 14:26:53 +0000
(09:26 -0500)
For support of older 2.0-pre traces.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
converter/Makefile.am
patch
|
blob
|
blame
|
history
converter/babeltrace.c
patch
|
blob
|
blame
|
history
formats/ctf/metadata/ctf-visitor-generate-io-struct.c
patch
|
blob
|
blame
|
history
include/babeltrace/babeltrace-internal.h
patch
|
blob
|
blame
|
history
diff --git
a/converter/Makefile.am
b/converter/Makefile.am
index 578280a681e4427f8d0fd9e47b348aa0e69bef2e..2b16f1e4baa93e3958ff6a9dd96a050dc5d7a306 100644
(file)
--- a/
converter/Makefile.am
+++ b/
converter/Makefile.am
@@
-15,6
+15,7
@@
babeltrace_LDADD = \
$(top_builddir)/lib/libbabeltrace.la \
$(top_builddir)/formats/libbabeltrace_registry.la \
$(top_builddir)/formats/ctf/libctf.la \
$(top_builddir)/lib/libbabeltrace.la \
$(top_builddir)/formats/libbabeltrace_registry.la \
$(top_builddir)/formats/ctf/libctf.la \
+ $(top_builddir)/formats/ctf/metadata/libctf-ast.la \
$(top_builddir)/formats/ctf-text/libctf-text.la \
$(top_builddir)/formats/bt-dummy/libbt-dummy.la
$(top_builddir)/formats/ctf-text/libctf-text.la \
$(top_builddir)/formats/bt-dummy/libbt-dummy.la
diff --git
a/converter/babeltrace.c
b/converter/babeltrace.c
index a7004e1b1e60a21e1531d463f98380afe5dfe7b2..f83e1e62ba0f656323398467057e13ebeb29a9e8 100644
(file)
--- a/
converter/babeltrace.c
+++ b/
converter/babeltrace.c
@@
-71,6
+71,7
@@
enum {
OPT_CLOCK_SECONDS,
OPT_CLOCK_DATE,
OPT_CLOCK_GMT,
OPT_CLOCK_SECONDS,
OPT_CLOCK_DATE,
OPT_CLOCK_GMT,
+ OPT_CLOCK_FORCE_CORRELATE,
};
static struct poptOption long_options[] = {
};
static struct poptOption long_options[] = {
@@
-89,6
+90,7
@@
static struct poptOption long_options[] = {
{ "clock-seconds", 0, POPT_ARG_NONE, NULL, OPT_CLOCK_SECONDS, NULL, NULL },
{ "clock-date", 0, POPT_ARG_NONE, NULL, OPT_CLOCK_DATE, NULL, NULL },
{ "clock-gmt", 0, POPT_ARG_NONE, NULL, OPT_CLOCK_GMT, NULL, NULL },
{ "clock-seconds", 0, POPT_ARG_NONE, NULL, OPT_CLOCK_SECONDS, NULL, NULL },
{ "clock-date", 0, POPT_ARG_NONE, NULL, OPT_CLOCK_DATE, NULL, NULL },
{ "clock-gmt", 0, POPT_ARG_NONE, NULL, OPT_CLOCK_GMT, NULL, NULL },
+ { "clock-force-correlate", 0, POPT_ARG_NONE, NULL, OPT_CLOCK_FORCE_CORRELATE, NULL, NULL },
{ NULL, 0, 0, NULL, 0, NULL, NULL },
};
{ NULL, 0, 0, NULL, 0, NULL, NULL },
};
@@
-129,6
+131,8
@@
static void usage(FILE *fp)
fprintf(fp, " (default is: [hh:mm:ss.ns])\n");
fprintf(fp, " --clock-date Print clock date\n");
fprintf(fp, " --clock-gmt Print clock in GMT time zone (default: local time zone)\n");
fprintf(fp, " (default is: [hh:mm:ss.ns])\n");
fprintf(fp, " --clock-date Print clock date\n");
fprintf(fp, " --clock-gmt Print clock in GMT time zone (default: local time zone)\n");
+ fprintf(fp, " --clock-force-correlate Assume that clocks are inherently correlated\n");
+ fprintf(fp, " across traces.\n");
list_formats(fp);
fprintf(fp, "\n");
}
list_formats(fp);
fprintf(fp, "\n");
}
@@
-274,6
+278,9
@@
static int parse_options(int argc, char **argv)
case OPT_CLOCK_GMT:
opt_clock_gmt = 1;
break;
case OPT_CLOCK_GMT:
opt_clock_gmt = 1;
break;
+ case OPT_CLOCK_FORCE_CORRELATE:
+ opt_clock_force_correlate = 1;
+ break;
default:
ret = -EINVAL;
default:
ret = -EINVAL;
diff --git
a/formats/ctf/metadata/ctf-visitor-generate-io-struct.c
b/formats/ctf/metadata/ctf-visitor-generate-io-struct.c
index 1fc69125ce8ef180c70fc0f95b48042c7959ea2c..4f604d1cee2a8e610a84e7ae7e6fc767c15c3dac 100644
(file)
--- a/
formats/ctf/metadata/ctf-visitor-generate-io-struct.c
+++ b/
formats/ctf/metadata/ctf-visitor-generate-io-struct.c
@@
-39,6
+39,8
@@
#define _cds_list_first_entry(ptr, type, member) \
cds_list_entry((ptr)->next, type, member)
#define _cds_list_first_entry(ptr, type, member) \
cds_list_entry((ptr)->next, type, member)
+int opt_clock_force_correlate;
+
static
struct declaration *ctf_type_specifier_list_visit(FILE *fd,
int depth, struct ctf_node *type_specifier_list,
static
struct declaration *ctf_type_specifier_list_visit(FILE *fd,
int depth, struct ctf_node *type_specifier_list,
@@
-2281,13
+2283,24
@@
int ctf_clock_visit(FILE *fd, int depth, struct ctf_node *node, struct ctf_trace
if (ret)
goto error;
}
if (ret)
goto error;
}
+ if (opt_clock_force_correlate) {
+ /*
+ * User requested to forcibly correlate the clock
+ * sources, even if we have no correlatation
+ * information.
+ */
+ if (!clock->absolute) {
+ fprintf(fd, "[warning] Forcibly correlating trace clock sources (--clock-force-correlate).\n");
+ }
+ clock->absolute = 1;
+ }
if (!CTF_CLOCK_FIELD_IS_SET(clock, name)) {
ret = -EPERM;
fprintf(fd, "[error] %s: missing namefield in clock declaration\n", __func__);
goto error;
}
if (g_hash_table_size(trace->clocks) > 0) {
if (!CTF_CLOCK_FIELD_IS_SET(clock, name)) {
ret = -EPERM;
fprintf(fd, "[error] %s: missing namefield in clock declaration\n", __func__);
goto error;
}
if (g_hash_table_size(trace->clocks) > 0) {
- fprintf(
stderr
, "[error] Only CTF traces with a single clock description are supported by this babeltrace version.\n");
+ fprintf(
fd
, "[error] Only CTF traces with a single clock description are supported by this babeltrace version.\n");
ret = -EINVAL;
goto error;
}
ret = -EINVAL;
goto error;
}
@@
-2312,7
+2325,19
@@
void ctf_clock_default(FILE *fd, int depth, struct ctf_trace *trace)
clock->description = g_strdup("Default clock");
/* Default clock frequency is set to 1000000000 */
clock->freq = 1000000000ULL;
clock->description = g_strdup("Default clock");
/* Default clock frequency is set to 1000000000 */
clock->freq = 1000000000ULL;
- clock->absolute = 0; /* Not an absolute reference across traces */
+ if (opt_clock_force_correlate) {
+ /*
+ * User requested to forcibly correlate the clock
+ * sources, even if we have no correlatation
+ * information.
+ */
+ if (!clock->absolute) {
+ fprintf(fd, "[warning] Forcibly correlating trace clock sources (--clock-force-correlate).\n");
+ }
+ clock->absolute = 1;
+ } else {
+ clock->absolute = 0; /* Not an absolute reference across traces */
+ }
trace->single_clock = clock;
g_hash_table_insert(trace->clocks, (gpointer) (unsigned long) clock->name, clock);
trace->single_clock = clock;
g_hash_table_insert(trace->clocks, (gpointer) (unsigned long) clock->name, clock);
diff --git
a/include/babeltrace/babeltrace-internal.h
b/include/babeltrace/babeltrace-internal.h
index 8996afcddab8c67cc4d632227abbb42730215dd4..06a5654a8803252df268d13effa0cf773a0cc05c 100644
(file)
--- a/
include/babeltrace/babeltrace-internal.h
+++ b/
include/babeltrace/babeltrace-internal.h
@@
-48,7
+48,8
@@
extern int opt_all_field_names,
opt_clock_raw,
opt_clock_seconds,
opt_clock_date,
opt_clock_raw,
opt_clock_seconds,
opt_clock_date,
- opt_clock_gmt;
+ opt_clock_gmt,
+ opt_clock_force_correlate;
extern uint64_t opt_clock_offset;
extern uint64_t opt_clock_offset;
This page took
0.030378 seconds
and
4
git commands to generate.