EMMA Coverage Report (generated Mon Aug 23 17:21:34 CEST 2010)
[all classes][dmg.cells.nucleus]

COVERAGE SUMMARY FOR SOURCE FILE [EventLogger.java]

nameclass, %method, %block, %line, %
EventLogger.java100% (1/1)90%  (9/10)98%  (283/290)93%  (32.7/35)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class EventLogger100% (1/1)90%  (9/10)98%  (283/290)93%  (32.7/35)
EventLogger (): void 0%   (0/1)0%   (0/3)0%   (0/1)
toString (Object): String 100% (1/1)71%  (5/7)71%  (0.7/1)
getMessage (CellMessage): String 100% (1/1)92%  (24/26)83%  (5/6)
<static initializer> 100% (1/1)100% (10/10)100% (3/3)
deliverBegin (CellMessage): void 100% (1/1)100% (45/45)100% (3/3)
deliverEnd (Object, UOID): void 100% (1/1)100% (23/23)100% (3/3)
queueBegin (CellEvent): void 100% (1/1)100% (49/49)100% (4/4)
queueEnd (CellEvent): void 100% (1/1)100% (34/34)100% (4/4)
sendBegin (CellNucleus, CellMessage, String): void 100% (1/1)100% (65/65)100% (7/7)
sendEnd (CellMessage): void 100% (1/1)100% (28/28)100% (3/3)

1package dmg.cells.nucleus;
2 
3import org.slf4j.Logger;
4import org.slf4j.LoggerFactory;
5 
6public class EventLogger
7{
8    private final static Logger deliver =
9        LoggerFactory.getLogger("events.org.dcache.cells.deliver");
10    private final static Logger send =
11        LoggerFactory.getLogger("events.org.dcache.cells.send");
12    private final static Logger queue =
13        LoggerFactory.getLogger("events.org.dcache.cells.queue");
14 
15    private final static String DELIVER_BEGIN =
16        "org.dcache.cells.deliver.begin";
17    private final static String DELIVER_END =
18        "org.dcache.cells.deliver.end";
19    private final static String SEND_BEGIN =
20        "org.dcache.cells.send.begin";
21    private final static String SEND_END =
22        "org.dcache.cells.send.end";
23    private final static String QUEUE_BEGIN =
24        "org.dcache.cells.queue.begin";
25    private final static String QUEUE_END =
26        "org.dcache.cells.queue.end";
27 
28    static private String getMessage(CellMessage envelope)
29    {
30        Object o = envelope.getMessageObject();
31        if (o == null) {
32            return "";
33        } else if (o instanceof String) {
34            return "\"" + (String) o + "\"";
35        } else {
36            return o.getClass().getSimpleName();
37        }
38    }
39 
40    static private String toString(Object o)
41    {
42        return (o == null) ? "" : o.toString();
43    }
44 
45    static public void deliverBegin(CellMessage envelope)
46    {
47        if (deliver.isInfoEnabled()) {
48            deliver.info(String.format("event=%s uoid=%s lastuoid=%s session=%s message=%s source=%s destination=%s",
49                                       DELIVER_BEGIN,
50                                       envelope.getUOID(), envelope.getLastUOID(),
51                                       toString(envelope.getSession()),
52                                       getMessage(envelope),
53                                       envelope.getSourcePath(),
54                                       envelope.getDestinationPath()));
55        }
56    }
57 
58    static public void deliverEnd(Object session, UOID uoid)
59    {
60        if (deliver.isInfoEnabled()) {
61            deliver.info(String.format("event=%s uoid=%s session=%s",
62                                       DELIVER_END,
63                                       uoid, toString(session)));
64        }
65    }
66 
67    static public void sendBegin(CellNucleus nucleus, CellMessage envelope, String mode)
68    {
69        if (send.isInfoEnabled() && !envelope.isStreamMode()) {
70            /* The envelope does not have a source yet, so we need to
71             * generate it from the information stored in the nucleus.
72             */
73            CellPath source = envelope.getSourcePath();
74            if (source.hops() == 0) {
75                source = new CellPath();
76                source.add(nucleus.getThisAddress());
77            }
78            send.info(String.format("event=%s uoid=%s lastuoid=%s session=%s mode=%s message=%s source=%s destination=%s",
79                                    SEND_BEGIN,
80                                    envelope.getUOID(), envelope.getLastUOID(),
81                                    toString(envelope.getSession()),
82                                    mode,
83                                    getMessage(envelope),
84                                    source,
85                                    envelope.getDestinationPath()));
86        }
87    }
88 
89    static public void sendEnd(CellMessage envelope)
90    {
91        if (send.isInfoEnabled() && !envelope.isStreamMode()) {
92            send.info(String.format("event=%s uoid=%s session=%s",
93                                    SEND_END, envelope.getUOID(),
94                                    toString(envelope.getSession())));
95        }
96    }
97 
98    static public void queueBegin(CellEvent event)
99    {
100        if (queue.isInfoEnabled() && event.getClass().equals(MessageEvent.class)) {
101            CellMessage envelope = ((MessageEvent) event).getMessage();
102            queue.info(String.format("event=%s uoid=%s lastuoid=%s session=%s source=%s destination=%s",
103                                     QUEUE_BEGIN,
104                                     envelope.getUOID(), envelope.getLastUOID(),
105                                     toString(envelope.getSession()),
106                                     envelope.getSourcePath(),
107                                     envelope.getDestinationPath()));
108        }
109    }
110 
111    static public void queueEnd(CellEvent event)
112    {
113        if (queue.isInfoEnabled() && event.getClass().equals(MessageEvent.class)) {
114            CellMessage envelope = ((MessageEvent) event).getMessage();
115            queue.info(String.format("event=%s uoid=%s session=%s",
116                                     QUEUE_END,
117                                     envelope.getUOID(),
118                                     toString(envelope.getSession())));
119        }
120    }
121 
122}

[all classes][dmg.cells.nucleus]
EMMA 2.0.5312 (C) Vladimir Roubtsov