locked
ETW and Message Loggin RRS feed

  • Question

  • Hi,

    We are trying to explore logging XLANG messages that is very high performant ? right now we are serialzing the the XLANG message to string (which is taking a lot of time) and pushing it to a queue, and binarySerialization is not optimal for small messages.

    Questions

    1) Is ETW performant for logging XLANG messages ? apart from tracing

    2) Are there any other tools or paid or free libraries that we can leverage ? 


    Regards, Madhukar Gilla http://wcfbiztalk.wordpress.com/

    Monday, December 1, 2014 5:59 AM

Answers

  • I agree with Jones, what is the business requirement? Why do you need high performant logging? The BizTalk performance (hundreds messages per second) is not high and any logging libraries are good enough.

    The log4net integrated with BTDF, so if you use BTDF, log4net is one of the best choice. NLog also works fine.

    For high performant logging you can use Azure EventHub (the Kafka is the open source library, the predecessor of Azure EventHub).

    Now the InfluxDB is very popular in this area.

    If you need performant serializers there are bunch of them: ProtoBuf, Flat Buffers, MessagePack. I assume the Json.NET is good enough .NET serializer for most cases in BizTalk apps. It is really good.

     IMO, ETW works on the low level of abstraction and is not really practical for enterprise applications.


    Leonid Ganeline [BizTalk MVP]



    Monday, December 1, 2014 7:26 PM
    Moderator

All replies

  • Hello,

    found following article very helpful on instrumentation - i think ETW is the way 

    http://blogs.msdn.com/b/asgisv/archive/2010/05/11/best-practices-for-instrumenting-high-performance-biztalk-solutions.aspx

    Thanks



    please Mark as the Answer, If this answers your question. If this post is helpful, please vote as helpful.

    Monday, December 1, 2014 6:39 AM
  • First, why are you trying to do this?  Meaning, what is the actual business requirement?

    That will determine the appropriate implementation.

    Monday, December 1, 2014 12:32 PM
    Moderator
  • I agree with Jones, what is the business requirement? Why do you need high performant logging? The BizTalk performance (hundreds messages per second) is not high and any logging libraries are good enough.

    The log4net integrated with BTDF, so if you use BTDF, log4net is one of the best choice. NLog also works fine.

    For high performant logging you can use Azure EventHub (the Kafka is the open source library, the predecessor of Azure EventHub).

    Now the InfluxDB is very popular in this area.

    If you need performant serializers there are bunch of them: ProtoBuf, Flat Buffers, MessagePack. I assume the Json.NET is good enough .NET serializer for most cases in BizTalk apps. It is really good.

     IMO, ETW works on the low level of abstraction and is not really practical for enterprise applications.


    Leonid Ganeline [BizTalk MVP]



    Monday, December 1, 2014 7:26 PM
    Moderator