X-Git-Url: https://git.lttng.org/?p=lttngtop.git;a=blobdiff_plain;f=src%2Flttngtop.c;h=554406aba21582b6d61dff59ae9de5154377c86c;hp=ec8839c37220e41595c8d162637936a61b4b4799;hb=113c1cacb39413f0449af5ad78a29f203def1b5e;hpb=38e240608abcec56b7bee5a076e3992c835de834 diff --git a/src/lttngtop.c b/src/lttngtop.c index ec8839c..554406a 100644 --- a/src/lttngtop.c +++ b/src/lttngtop.c @@ -52,14 +52,16 @@ #include "common.h" #include "network-live.h" -#include "ctf-index.h" +#define NET_URL_PREFIX "net://" +#define NET4_URL_PREFIX "net4://" +#define NET6_URL_PREFIX "net6://" #define DEFAULT_FILE_ARRAY_SIZE 1 const char *opt_input_path; -static int opt_textdump; -static int opt_child; -static int opt_begin; +int opt_textdump; +int opt_child; +int opt_begin; int quit = 0; @@ -256,10 +258,17 @@ enum bt_cb_ret print_timestamp(struct bt_ctf_event *call_data, void *private_dat * print the newline in this case */ if (last_textdump_print_newline == 0) printf("\n"); - printf("%02d:%02d:%02d.%09" PRIu64 " (%s) (cpu %d) [%s (%d)] %s (", - start.tm_hour, start.tm_min, start.tm_sec, - ts_nsec_start, hostname, cpu_id, procname, pid, - bt_ctf_event_name(call_data)); + if (hostname) { + printf("%02d:%02d:%02d.%09" PRIu64 " (%s) (cpu %d) [%s (%d)] %s (", + start.tm_hour, start.tm_min, start.tm_sec, + ts_nsec_start, hostname, cpu_id, procname, pid, + bt_ctf_event_name(call_data)); + } else { + printf("%02d:%02d:%02d.%09" PRIu64 " (cpu %d) [%s (%d)] %s (", + start.tm_hour, start.tm_min, start.tm_sec, + ts_nsec_start, cpu_id, procname, pid, + bt_ctf_event_name(call_data)); + } print_fields(call_data); printf(") "); if (strncmp(bt_ctf_event_name(call_data), "sys_", 4) != 0) { @@ -831,6 +840,19 @@ int bt_context_add_traces_recursive(struct bt_context *ctx, const char *path, char * const paths[2] = { lpath, NULL }; int ret = -1; + if ((strncmp(path, NET4_URL_PREFIX, sizeof(NET4_URL_PREFIX) - 1)) == 0 || + (strncmp(path, NET6_URL_PREFIX, sizeof(NET6_URL_PREFIX) - 1)) == 0 || + (strncmp(path, NET_URL_PREFIX, sizeof(NET_URL_PREFIX) - 1)) == 0) { + ret = bt_context_add_trace(ctx, + path, format_str, packet_seek, NULL, NULL); + if (ret < 0) { + fprintf(stderr, "[warning] [Context] cannot open trace \"%s\" " + "for reading.\n", path); + /* Allow to skip erroneous traces. */ + ret = 1; /* partial error */ + } + return ret; + } /* * Need to copy path, because fts_open can change it. * It is the pointer array, not the strings, that are constant. @@ -1047,6 +1069,7 @@ int main(int argc, char **argv) #endif /* LTTNGTOP_MMAP_LIVE */ } else if (!opt_input_path && remote_live) { /* network live */ +#if 0 ret = setup_network_live(opt_relay_hostname, opt_begin); if (ret < 0) { goto end; @@ -1056,6 +1079,15 @@ int main(int argc, char **argv) if (ret < 0) { goto end; } +#endif + + bt_ctx = bt_context_create(); + ret = bt_context_add_traces_recursive(bt_ctx, opt_relay_hostname, + "lttng-live", NULL); + if (ret < 0) { + fprintf(stderr, "[error] Opening the trace\n"); + goto end; + } } else { //init_lttngtop(); @@ -1065,19 +1097,24 @@ int main(int argc, char **argv) fprintf(stderr, "[error] Opening the trace\n"); goto end; } - } - ret = check_requirements(bt_ctx); - if (ret < 0) { - fprintf(stderr, "[error] some mandatory contexts were missing, exiting.\n"); - goto end; - } - if (!opt_textdump) { - pthread_create(&display_thread, NULL, ncurses_display, (void *) NULL); - pthread_create(&timer_thread, NULL, refresh_thread, (void *) NULL); + ret = check_requirements(bt_ctx); + if (ret < 0) { + fprintf(stderr, "[error] some mandatory contexts " + "were missing, exiting.\n"); + goto end; + } + + if (!opt_textdump) { + pthread_create(&display_thread, NULL, ncurses_display, + (void *) NULL); + pthread_create(&timer_thread, NULL, refresh_thread, + (void *) NULL); + } + + iter_trace(bt_ctx); } - iter_trace(bt_ctx); pthread_join(display_thread, NULL); quit = 1;