1
2
3
4
5
6
7
8
9
10
11 package org.mule.module.management.mbean;
12
13 import org.mule.api.MuleContext;
14 import org.mule.management.stats.AllStatistics;
15 import org.mule.management.stats.FlowConstructStatistics;
16 import org.mule.management.stats.printers.CSVPrinter;
17 import org.mule.management.stats.printers.HtmlTablePrinter;
18 import org.mule.management.stats.printers.XMLPrinter;
19
20 import java.io.StringWriter;
21 import java.util.Collection;
22
23 import org.apache.commons.logging.Log;
24 import org.apache.commons.logging.LogFactory;
25
26
27
28
29 public class StatisticsService implements StatisticsServiceMBean
30 {
31
32
33
34 private static final long serialVersionUID = -4949499389883146363L;
35
36
37
38
39 protected static final Log logger = LogFactory.getLog(StatisticsService.class);
40
41 private AllStatistics stats = new AllStatistics();
42 private MuleContext muleContext;
43
44 public void setMuleContext(MuleContext context)
45 {
46 this.muleContext = context;
47 if (muleContext == null)
48 {
49 stats = new AllStatistics();
50 }
51 else
52 {
53 stats = this.muleContext.getStatistics();
54 }
55
56 }
57
58
59
60
61 public void clear()
62 {
63 stats.clear();
64 }
65
66
67
68
69 public boolean isEnabled()
70 {
71 return stats.isEnabled();
72 }
73
74
75
76
77 public void setEnabled(boolean b)
78 {
79 stats.setEnabled(b);
80
81 }
82
83
84
85
86 @Deprecated
87 public Collection getComponentStatistics()
88 {
89 return stats.getServiceStatistics();
90 }
91
92 public Collection<FlowConstructStatistics> getServiceStatistics()
93 {
94 return stats.getServiceStatistics();
95 }
96
97 public void logSummary()
98 {
99 stats.logSummary();
100 }
101
102 public String printCSVSummary ()
103 {
104 StringWriter w = new StringWriter(2048);
105 CSVPrinter printer = new CSVPrinter(w);
106 printer.setPrintHeaders(true);
107 stats.logSummary(printer);
108 return w.toString();
109 }
110
111 public String printHtmlSummary ()
112 {
113 StringWriter w = new StringWriter(8192);
114 HtmlTablePrinter printer = new HtmlTablePrinter(w);
115 stats.logSummary(printer);
116 return w.toString();
117 }
118
119 public String printXmlSummary()
120 {
121 StringWriter w = new StringWriter(8192);
122 XMLPrinter printer = new XMLPrinter(w);
123 stats.logSummary(printer);
124 return w.toString();
125 }
126
127 }