X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=converter%2Fbabeltrace-log.c;h=14d46964da1b11d593ef5f02827bc0c1c9c997c1;hb=d77e781b20976f300278c2c5dd6e3d576951699c;hp=214871192b2e3034d90a16c5b99c0d8a1babea55;hpb=c462e188f3e7819c7bc74f671038cdbf36e8c3c0;p=babeltrace.git diff --git a/converter/babeltrace-log.c b/converter/babeltrace-log.c index 21487119..14d46964 100644 --- a/converter/babeltrace-log.c +++ b/converter/babeltrace-log.c @@ -45,7 +45,7 @@ #include #include -#include +#include #include #define USEC_PER_SEC 1000000UL @@ -123,7 +123,7 @@ void write_packet_header(struct ctf_stream_pos *pos, unsigned char *uuid) ctf_align_pos(&dummy, sizeof(uint32_t) * CHAR_BIT); ctf_move_pos(&dummy, sizeof(uint32_t) * CHAR_BIT); assert(!ctf_pos_packet(&dummy)); - + ctf_align_pos(pos, sizeof(uint32_t) * CHAR_BIT); *(uint32_t *) ctf_get_pos_addr(pos) = 0xC1FC1FC1; ctf_move_pos(pos, sizeof(uint32_t) * CHAR_BIT); @@ -149,7 +149,7 @@ void write_packet_context(struct ctf_stream_pos *pos) ctf_align_pos(&dummy, sizeof(uint64_t) * CHAR_BIT); ctf_move_pos(&dummy, sizeof(uint64_t) * CHAR_BIT); assert(!ctf_pos_packet(&dummy)); - + ctf_align_pos(pos, sizeof(uint64_t) * CHAR_BIT); *(uint64_t *) ctf_get_pos_addr(pos) = ~0ULL; /* Not known yet */ pos->content_size_loc = (uint64_t *) ctf_get_pos_addr(pos); @@ -160,7 +160,7 @@ void write_packet_context(struct ctf_stream_pos *pos) ctf_align_pos(&dummy, sizeof(uint64_t) * CHAR_BIT); ctf_move_pos(&dummy, sizeof(uint64_t) * CHAR_BIT); assert(!ctf_pos_packet(&dummy)); - + ctf_align_pos(pos, sizeof(uint64_t) * CHAR_BIT); *(uint64_t *) ctf_get_pos_addr(pos) = pos->packet_size; ctf_move_pos(pos, sizeof(uint64_t) * CHAR_BIT); @@ -191,6 +191,11 @@ void write_event_header(struct ctf_stream_pos *pos, char *line, } *tlen = len + line - *tline; *ts = (uint64_t) sec * USEC_PER_SEC + (uint64_t) usec; + /* + * Default CTF clock has 1GHz frequency. Convert + * from usec to nsec. + */ + *ts *= 1000; } } /* timestamp */ @@ -247,7 +252,7 @@ void trace_text(FILE *input, int output) int ret; memset(&pos, 0, sizeof(pos)); - ret = ctf_init_pos(&pos, output, O_RDWR); + ret = ctf_init_pos(&pos, NULL, output, O_RDWR); if (ret) { fprintf(stderr, "Error in ctf_init_pos\n"); return; @@ -353,7 +358,7 @@ int main(int argc, char **argv) metadata_fd = openat(dir_fd, "metadata", O_RDWR|O_CREAT, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP); - if (fd < 0) { + if (metadata_fd < 0) { perror("openat"); goto error_closedatastream; }