Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Webinar: Message Tracing and Debugging in WSO2 Enterprise Service Bus


Published on

To view recording of this webinar please use the below URL:

Tracing and debugging play a key role when developing enterprise integration solutions. It helps to understand and build robust high-performance applications efficiently and makes the most use of your development time. Debugging enables developers to traverse message flows during runtime and tracing helps track issues after the process finishes. This allows you to identify and fix issues at the root of the cause.

WSO2 Enterprise Service Bus (WSO2 ESB) has now introduced these two much-awaited features to the distribution. This webinar will

Examine how WSO2 ESB’s runtime, tooling and analytics are integrated to enable debugging and tracing
Explore use case on developing sample artifacts
Demonstrate the capabilities of the debugger
Discuss how to perform tracing information collections
Explain the capabilities of tracing

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Webinar: Message Tracing and Debugging in WSO2 Enterprise Service Bus

  1. 1. Message Tracing and Debugging in WSO2 Enterprise Service Bus Presenters : ❖ Rajith Vitharana Senior Software Engineer, WSO2 ❖ Nuwan Pallewela Software Engineer, WSO2
  2. 2. Agenda ● About ESB 5.0.0 release ● Mediation Debugging with ESB ○ How to connect debugger with server ○ Demonstrate debugger capabilities ○ Main features ○ Behaviour ○ How to debug different tenants ● Message Tracing with ESB ● Q & A
  3. 3. About ESB 5.0.0 release ● ESB 5.0.0 comes as a tuple of runtime, analytics and tooling components ● Tooling : create and deploy artifacts debug the mediation flow ● Analytics : analyze the mediation statistics trace message mediation with more precise information
  4. 4. Mediation debugging with ESB
  5. 5. Requirements to perform debugging ● WSO2 ESB v5.0.0 and ESB Tooling v5.0.0 needed ● Need to establish a connection between server and tool
  6. 6. How to connect debugger with server ● Should start the server with the command -Desb.debug=$tenantDomain ● Can be done using terminal command and ESB tooling server configuration
  7. 7. How to connect debugger with server ● Server startup will suspend and listening to configured ports ● Ports were defined in [esb_home]/repository/conf/
  8. 8. How to connect debugger with server ● Need to configure debug configuration in tool to connect with server
  9. 9. How to connect debugger with server ● Connect with server to enable debugging ● Time out value is 60 seconds
  10. 10. How to connect debugger with server ● Server will resume the startup after successful connection or timeout
  11. 11. Diagram of Use Case to Demonstrate Mediation Debugging
  12. 12. Features of Mediation Debugger ● Can mark breakpoints and skippoints ● Can view the Message Envelope and runtime properties ● Can manage runtime properties ○ Inject new properties ○ Modify property values ○ Clear property values
  13. 13. Behaviour of Mediation Debugger ● Debug points need to be resend when a deployment happens in server ● Debugger works as a single threaded application
  14. 14. How to debug different tenants ● Should start the server with the command -Desb.debug=$tenantDomain ● But the server will not suspend startup and listen for debugger to connect WHY?? ❖ WSO2 tenants Loads Lazily by default ❖ It will start listening to ports at the first request to the tenant ● Can we start tenants at the startup? Of course you can ❖ Go to [ESB_HOME]/repository/conf/carbon.xml and change Tenent/LoadingPolicy
  15. 15. Message Tracing with ESB
  16. 16. ESB Analytics What does it mean by ESB analytics? ● Mediation statistics ● Mediation Tracing
  17. 17. Mediation statistics collection of statistical data relevant for a message flow ● Time spent on each mediator ● Time spent by each message ● Fault count of a single message-flow
  18. 18. What is message tracing? Message Tracing refers to recording of message status at each point of message flow. ● Message payload at a mediator (before, after) ● Message Context Properties (before, after) ● Message Transport-scope Properties (before,after)
  19. 19. What is message tracing? (cont..)
  20. 20. How To configure servers? ● Download WSO2 ESB Analytics pack and WSO2 ESB Pack from [1] ● Enable statistics and tracing in “” file ○ mediation.flow.statistics.enable=true ○ mediation.flow.statistics.tracer.collect.payloads=true ○ ● Start Analytics server “sh” ● Start ESB server “sh” [1] -
  21. 21. Concept behind those configs? ● ESB Analytics server comes with default port offset of one. ● ESB server configured to publish data to above analytic server OOTB. ○ MessageFlowConfigurationPublisher.xml ○ MessageFlowStatisticsPublisher.xml ● ESB uses properties in “” file to detect analytic data collection.
  22. 22. Next step ● Connect ESB Tooling product with ESB server ○ Add ESB server as a remote server to Developer studio ● Create ESB project
  23. 23. Creating artifacts We are going to use below scenario for this demonstration. ● Invoke ESB proxy with stock Symbol and order Quantity. ● Proxy will invoke the back end with that symbol to get a simple quote. ● Generate response to send to front end. ● Invoke back end with place order request for the symbol with given quantity. ● Respond to the client with earlier created response.
  24. 24. Make sure to enable stat and tracing in ESB artifacts before deploying
  25. 25. Demo
  26. 26. Tracing view
  27. 27. Properties of each mediator
  28. 28. Properties of each mediator (Cont..)
  29. 29. Questions?
  30. 30. Thank You !