source: tools/tracertstats/output_csv.c @ 65cdb7f

4.0.1-hotfixescachetimestampsdevelopdpdk-ndagetsilivegetfragoffhelplibtrace4ndag_formatpfringrc-4.0.1rc-4.0.2rc-4.0.3rc-4.0.4ringdecrementfixringperformanceringtimestampfixes
Last change on this file since 65cdb7f was 65cdb7f, checked in by Perry Lorier <perry@…>, 16 years ago

Add a "realtime" statistics module. This can display stats every "n" seconds,
or every "n" packets.

Has "csv", "html" and "png" output formats currently. (png output module
really should be autoconf'd out if the required modules don't exist).

I'd like to add odoc formats, and I probably should add a "plain text" one
too.

  • Property mode set to 100644
File size: 934 bytes
Line 
1#include "output.h"
2#include <stdio.h>
3#include <stdlib.h>
4
5static void output_csv_init(struct output_data_t *out)
6{
7        int i;
8        for(i=0;i<out->columns;++i) {
9                if (i!=0)
10                        printf(",");
11                printf("%s",out->labels[i]);
12        }
13        printf("\n");
14}
15
16static void output_csv_flush(struct output_data_t *out)
17{
18        int i;
19        for(i=0;i<out->columns;++i) {
20                if (i!=0) printf(",");
21                switch (out->data[i].type) {
22                        case TYPE_int:
23                                printf("%" PRIu64,out->data[i].d_int);
24                                break;
25                        case TYPE_str:
26                                printf("%s",out->data[i].d_str);
27                                free(out->data[i].d_str);
28                                break;
29                        case TYPE_float:
30                                printf("%f",out->data[i].d_float);
31                                break;
32                        case TYPE_time:
33                                printf("%.03f",out->data[i].d_time);
34                                break;
35                }
36        }
37        printf("\n");
38}
39
40static void output_csv_destroy(struct output_data_t *out)
41{
42        /* Do nothing */
43}
44
45struct output_type_t output_csv = {
46name: "csv",
47init: output_csv_init,
48flush: output_csv_flush,
49destroy: output_csv_destroy,
50};
Note: See TracBrowser for help on using the repository browser.