source: tools/tracertstats/output_txt.c @ 130a0e4

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

Add a txt output format (and make it the default)

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