Sei sulla pagina 1di 10

VocalOS and HDAP Logging

July 17, 2007


Log Files

Several types and layers of logs


VocalOS Server
• Stored in jboss/bin/vocalos/logs
 App_log.log – Things that happen on a call
 Server.log – Details of every call
• Stored in jboss/bin/vocalos/callLogs
 File name based on CCXML Session ID
 Directory based on time call orginated

HDAP Server
• Stored in jboss/bin/hdap
 Hdap.log – Everything that happens in Appserver and UI
 Hdapui.log – Going away with the next build

© Vocalocity, Inc : : 2005 2


Technology
Log4J (http://logging.apache.org/log4j)
• Open source logging framework for Java
• Receives messages from all over the system and manages files
and IO
Configured via XML file
Default configuration is for 20MB files, zipped once they are
done
Keep 10 old zips
Also used by JBoss for server logging

© Vocalocity, Inc : : 2005 3


Logging Levels
ERROR – critical problem occurred. Can result in call
hanging up or user action in UI not being processed. Never a
good thing
WARN – something bad probably happened. Generally
unexpected condition, but recognized as bad at the time of
development. Might have caused a call to be hung up or a
user action in the UI not being processed, but might not.
INFO – summary of what happened. Major action points
during a call or UI action
DEBUG – the details of what happened.

© Vocalocity, Inc : : 2005 4


Sample Log Line
2007-07-15 20:30:27,500 [main] INFO
[org.apache.catalina.core.ContainerBase.[jboss.web].[localho
st].[/hdapui]] Loading Spring root WebApplicationContext
2007-07-15 20:30:27,500 – time the event occurred. This is
recorded in server timezone
[main] – thread on which the message was generated
INFO – log level
[org.apache.catalina.core.ContainerBase.[jboss.web].[localho
st].[/hdapui]] – source of the message
Loading Spring root WebApplicationContext – actual
message

© Vocalocity, Inc : : 2005 5


Tracing a UI Call
UI and API calls are always processed in a HTTP thread
Name is http-0.0.0.0-8080-X
To find all messages about a particular invocation:
• Find something unique to your invocation (device kit id, unique
text, etc)
• Determine the thread id for that log message
• Search backwards for that log message until there is a significant
time gap (multiple seconds)
• This is the beginning of the invocation

© Vocalocity, Inc : : 2005 6


Call Logs
XML Format
Nested elements for nested devices
Each device begins with:
<log categories="CCXML, VXML, MEDIA, RECO, TTS, DTMF"
disposition="null"
direction="newcall"
duration="15437"
endTime="Thu Jul 12 11:37:27 GMT 2007"
startTime="Thu Jul 12 11:37:12 GMT 2007"
ani="&quot;INTERNAL&quot; &lt;sip:213@10.0.3.237&gt;"
dnis="&lt;sip:820@10.0.3.237;user=phone&gt;"
id="14826078371184240232141">

© Vocalocity, Inc : : 2005 7


Call Logs (cont’d)
Each message logged with metadata:
<message
level="INFO"
category="CCXML"
time="1184240232141" source="14826078371184240232141">
Starting at document null because nothing was specified in the
INVITE
</message>

© Vocalocity, Inc : : 2005 8


Multiple Devices
Devices nested within each other for serial invocation
(see file in TextPad)

© Vocalocity, Inc : : 2005 9


Dump Threads
Developed to find hanging sessions
Also added to HDAP
http://cain:8080/vocalocity-browser/diagnostic/dumpthreads.jsp
• Memory, threads
• Current calls, conference stats
• Call performance metrics
http://cain:8080/vocalocity-browser/jsp/sessions.jsp
• All running devices
http://samuel:8080/appserver/diagnostic/dumpthreads.jsp
• Only memory and threads

© Vocalocity, Inc : : 2005 10

Potrebbero piacerti anche