#include <babeltrace/babeltrace.h>
#include <babeltrace/ctf/types.h>
-#define NSEC_PER_SEC 1000000UL
+#define USEC_PER_SEC 1000000UL
#ifndef UUID_STR_LEN
#define UUID_STR_LEN 37 /* With \0 */
" byte_order = %s;\n" /* be or le */
" packet.header := struct {\n"
" uint32_t magic;\n"
-" uint8_t trace_uuid[16];\n"
+" uint8_t uuid[16];\n"
" };\n"
"};\n"
"\n"
*(uint32_t *) ctf_get_pos_addr(pos) = 0xC1FC1FC1;
ctf_move_pos(pos, sizeof(uint32_t) * CHAR_BIT);
- /* trace_uuid */
+ /* uuid */
ctf_dummy_pos(pos, &dummy);
ctf_align_pos(&dummy, sizeof(uint8_t) * CHAR_BIT);
ctf_move_pos(&dummy, 16 * CHAR_BIT);
char **tline, size_t len, size_t *tlen,
uint64_t *ts)
{
- unsigned long sec, nsec;
+ unsigned long sec, usec;
int ret;
if (!s_timestamp)
/* Only need to be executed on first pass (dummy) */
if (pos->dummy) {
/* Extract time from input line */
- ret = sscanf(line, "[%lu.%lu] ", &sec, &nsec);
+ ret = sscanf(line, "[%lu.%lu] ", &sec, &usec);
if (ret == 2) {
*tline = strchr(line, ']');
- if ((*tline)[1] == ' ')
+ assert(*tline);
+ (*tline)++;
+ if ((*tline)[0] == ' ') {
(*tline)++;
+ }
*tlen = len + line - *tline;
- *ts = (uint64_t) sec * NSEC_PER_SEC + (uint64_t) nsec;
+ *ts = (uint64_t) sec * USEC_PER_SEC + (uint64_t) usec;
}
}
/* timestamp */
fprintf(fp, "\n");
fprintf(fp, "Convert for a text log (read from standard input) to CTF.\n");
fprintf(fp, "\n");
- fprintf(fp, "usage : babeltrace-log OUTPUT\n");
+ fprintf(fp, "usage : babeltrace-log [OPTIONS] OUTPUT\n");
fprintf(fp, "\n");
fprintf(fp, " OUTPUT Output trace path\n");
fprintf(fp, "\n");
+ fprintf(fp, " -t With timestamps (format: [sec.usec] string\\n)\n");
+ fprintf(fp, "\n");
}
static