1 package org.e2etrace.formatter;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import java.io.Writer;
20
21 import org.e2etrace.trace.ITraceSession;
22 import org.e2etrace.trace.ITraceStep;
23 import org.e2etrace.trace.TraceSessionRootStep;
24 import org.e2etrace.trace.TraceSessionRootStepId;
25
26
27
28
29
30
31
32
33
34
35
36
37
38 public class PlainTextTraceFormatter extends AbstractTraceFormatter {
39
40
41
42
43
44
45 public PlainTextTraceFormatter() {
46
47 }
48
49
50 protected String formatSingleStep(ITraceStep step, int level) {
51 StringBuffer output = new StringBuffer();
52 TraceSessionRootStepId rootId;
53
54 for (int i = 0; i < level; i++) {
55 output.append(" ");
56 }
57
58 if (step instanceof TraceSessionRootStep) {
59 rootId = (TraceSessionRootStepId) step.getId();
60
61 output.append(">> ");
62 output.append(rootId.asString());
63 output.append(" [" + rootId.getThreadName() + "]");
64 } else {
65 output.append(step.getId().asString());
66
67 }
68 output.append(" (");
69 output.append("Total: ");
70 output.append(step.getDuration());
71 output.append("ms, ");
72
73 if (step.getIsolatedDuration() >= 0) {
74 output.append("Step: ");
75 output.append(step.getIsolatedDuration());
76 output.append("ms");
77 } else {
78 output.append("n/a");
79 }
80
81 output.append(")");
82 output.append(getNewLine());
83
84 return output.toString();
85 }
86
87
88 protected void writeFooter(ITraceSession session, Writer toWriter) {
89
90
91 }
92
93
94 protected void writeHeader(ITraceSession session, Writer toWriter) {
95
96
97 }
98
99 }