Changeset 314239a for tools


Ignore:
Timestamp:
03/02/18 15:26:36 (3 years ago)
Author:
Shane Alcock <salcock@…>
Branches:
cachetimestamps, develop, etsilive, master, rc-4.0.4, ringdecrementfix, ringperformance
Children:
19f1efd, 62ee4ec, 83724d9, 97d0351
Parents:
14b7489 (diff), 817713f (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'rc-4.0.3'

Location:
tools
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • tools/tracertstats/tracertstats.c

    r8e11beb r02d13cb  
    4747#include <getopt.h>
    4848#include <inttypes.h>
     49#include <signal.h>
     50
    4951#include <lt_inttypes.h>
    50 
    5152#include "libtrace_parallel.h"
    5253#include "output.h"
     
    8081uint64_t count;
    8182uint64_t bytes;
     83
     84struct libtrace_t *currenttrace;
     85
     86static void cleanup_signal(int signal UNUSED) {
     87        if (currenttrace) {
     88                trace_pstop(currenttrace);
     89        }
     90}
    8291
    8392static void report_results(double ts,uint64_t count,uint64_t bytes)
     
    188197        thread_data_t *td = (thread_data_t *)tls;
    189198        int i;
     199        size_t wlen;
    190200
    191201        if (IS_LIBTRACE_META_PACKET(packet)) {
     
    203213                                sizeof(statistic_t) * filter_count);
    204214        }
     215        wlen = trace_get_wire_length(packet);
     216        if (wlen == 0) {
     217                /* Don't count ERF provenance and similar packets */
     218                return packet;
     219        }
    205220        for(i=0;i<filter_count;++i) {
    206221                if(trace_apply_filter(filters[i].filter, packet)) {
    207222                        td->results->filters[i].count++;
    208                         td->results->filters[i].bytes+=trace_get_wire_length(packet);
     223                        td->results->filters[i].bytes+=wlen;
    209224                }
    210225        }
    211226
    212227        td->results->total.count++;
    213         td->results->total.bytes +=trace_get_wire_length(packet);
     228        td->results->total.bytes += wlen;
    214229        return packet;
    215230}
     
    281296        trace_set_result_cb(repcbs, cb_result);
    282297
     298        currenttrace = trace;
    283299        if (trace_pstart(trace, NULL, pktcbs, repcbs)==-1) {
    284300                trace_perror(trace,"Failed to start trace");
     
    329345
    330346        int i;
     347        struct sigaction sigact;
    331348       
    332349        while(1) {
     
    414431                        return 0;
    415432        }
    416                
     433       
     434        sigact.sa_handler = cleanup_signal;
     435        sigemptyset(&sigact.sa_mask);
     436        sigact.sa_flags = SA_RESTART;
     437
     438        sigaction(SIGINT, &sigact, NULL);
     439        sigaction(SIGTERM, &sigact, NULL);
     440
     441
    417442        for(i=optind;i<argc;++i) {
    418443                run_trace(argv[i]);
  • tools/tracesplit/tracesplit.c

    r8e11beb r92cf299  
    294294                }
    295295
    296                 if (trace_config_output(output,
    297                                         TRACE_OPTION_OUTPUT_COMPRESSTYPE,
    298                                         &compress_type) == -1) {
    299                         trace_perror_output(output, "Unable to set compression type");
    300                 }
     296                if (compress_type != TRACE_OPTION_COMPRESSTYPE_NONE) {
     297                        if (trace_config_output(output,
     298                                                TRACE_OPTION_OUTPUT_COMPRESSTYPE,
     299                                                &compress_type) == -1) {
     300                                trace_perror_output(output, "Unable to set compression type");
     301                        }
     302                }
    301303
    302304                trace_start_output(output);
  • tools/tracestats/tracestats.c

    r8e11beb r02d13cb  
    105105        libtrace_stat_t *stats = NULL;
    106106        int i;
     107        double pct;
    107108
    108109        stats = trace_get_statistics(trace, NULL);
    109         printf("%-30s\t%12s\t%12s\t%7s\n","filter","count","bytes","%");
     110        printf("%-30s\t%12s\t%12s\t%7s\n","filter","count","bytes","% count");
    110111        for(i=0;i<filter_count;++i) {
    111                 printf("%30s:\t%12"PRIu64"\t%12"PRIu64"\t%7.03f\n",filters[i].expr,counters[i+1].count,counters[i+1].bytes,counters[i+1].count*100.0/counters[0].count);
     112                if (counters[0].count == 0) {
     113                        pct = 0.0;
     114                } else {
     115                        pct = counters[i+1].count*100.0/counters[0].count;
     116                }
     117                printf("%30s:\t%12"PRIu64"\t%12"PRIu64"\t%7.03f\n",filters[i].expr,counters[i+1].count,counters[i+1].bytes,pct);
    112118        }
    113119        if (stats->received_valid)
     
    160166        /* Apply filters to every packet note the result */
    161167        wlen = trace_get_wire_length(pkt);
     168        if (wlen == 0) {
     169                /* Don't count ERF provenance etc. */
     170                return pkt;
     171        }
    162172        for(i=0;i<filter_count;++i) {
    163173                if (filters[i].filter == NULL)
  • tools/tracetop/tracetop.cc

    r8e11beb r817713f  
    408408                switch (display_as) {
    409409                        case BYTES:
    410                                 printw("%7"PRIu64"\t%7"PRIu64"\n",
     410                                printw("%7" PRIu64 "\t%7" PRIu64 "\n",
    411411                                                pq.top().bytes,
    412412                                                pq.top().packets);
    413413                                break;
    414414                        case BITS_PER_SEC:
    415                                 printw("%14.03f\t%"PRIu64"\n",
     415                                printw("%14.03f\t%" PRIu64 "\n",
    416416                                                8.0*pq.top().bytes/interval,
    417417                                                pq.top().packets);
Note: See TracChangeset for help on using the changeset viewer.