Tx allows you to do Language Integrated Query (LINQ) directly on raw event sources:
- ad-hoc query on past history in trace and log files
- standing queries on real-time feeds, such as Event Tracing for Windows (ETW) sessions
The Tx approach is different than Databases, Hadoop, Splunk, Dapper, etc. which all require a stage of uploading
before the events become available to queries. Instead, mixing Reactive Extensions (Rx)
and LINQ-to-Objects allows the query to be embedded anywhere including:
- In light-weight UI tools like LINQPad and SvcPerf
- On original source machines
The currently supported source formats are:
- ETW sessions and .etl (event trace log) files
- Event Logs (.evtx files)
- Performance counter traces (.blg, .csv, .tsv)
- Tx.SQL Server
- SQL Server Extended Events (XEvent)
At its core Tx is based on a design pattern how to implement parsers, which is easily extensible.
The Extensibility sample
illustrates to add semi-structured text (SharePoint trace)
The Tx parsers are available on NuGet as separate components.
They turn real events into C# instances, and then you can do anything that is not query (imperative code, state machines, etc.)
For more see the documentation
There are lots of ways to contribute
to the project, and we appreciate our contributors
You can contribute by reviewing and sending feedback on code checkins, suggesting and trying out new features as they are implemented, submit bugs and help us verify fixes as they are checked in, as well as submit code fixes or code contributions of your own. Note that all code submissions will be rigorously reviewed and tested by the Rx Team, and only those that meet an extremely high bar for both quality and design/roadmap appropriateness will be merged into the source.