Skip to content
Snippets Groups Projects
Commit 3abf6c50 authored by Jeroen Vreeken's avatar Jeroen Vreeken
Browse files

Small modification to trace_dump.

It can now be used to make a dump from a trace stream on stdin.
Nice for taking a quick look at traces which were dumped to disk first.
parent 2b2fee09
No related merge requests found
......@@ -87,27 +87,47 @@ static void handler_value(struct trace *trace,
}
}
void usage(void)
{
printf("Usage:\n\n");
printf("trace_dump [host] [port] [trace] <interval>\n");
exit(0);
}
int main(int argc, char **argv)
{
struct trace *trace;
struct trace_pkt *pkt;
int interval = 1;
uint64_t nsec_interval;
bool fromstdin = false;
if (argc < 4) {
printf("Usage:\n\n");
printf("%s [host] [port] [trace] <interval>\n", argv[0]);
return 0;
if (argc < 2) {
usage();
}
if (!strcmp(argv[1], "-")) {
fromstdin = true;
}
if (!fromstdin && argc < 4) {
usage();
}
if (!fromstdin) {
tracename = argv[3];
trace = trace_open(argv[1], atoi(argv[2]));
if (argc >= 5) {
interval = atoi(argv[4]);
}
trace = trace_open(argv[1], atoi(argv[2]));
} else {
trace = trace_alloc();
trace_initialize_fd(trace, 0);
}
trace->handler_interval = handler_interval;
trace->handler_value = handler_value;
trace->handler_timestamp = handler_timestamp;
......@@ -125,6 +145,7 @@ int main(int argc, char **argv)
trace_handle(trace, &fdrx);
}
if (!fromstdin) {
printf("Connection ready for tracing\n");
if (interval) {
......@@ -147,6 +168,7 @@ int main(int argc, char **argv)
trace_packet_name_set(pkt, tracename);
trace_packet_write(trace, pkt);
trace_packet_put(pkt);
}
printf("Wait for data\n");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment