Low memory, cross platform .Net Core library for processing diagnostic & trace information
- Dominant language
- C++
- Stars
- 1.3k
- Forks
- 404
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 38
Description
The Windows and Office 365 Security teams have implemented native Windows ETW libraries & managed .Net wrappers, given the existing .Net managed libraries and approaches suffer from various issues. From the [Hidden Treasure: Intrusion Detection with ETW (Part 2)](https://blogs.technet.microsoft.com/office365security/hidden-treasure-intrusion-detection-with-etw-part-2/) article:
> The TDH APIs are what all ETW APIs ultimately call. While they offer a great deal of power, they’re still Win32-style APIs that are cumbersome to use. TraceEvent is a library used by the PerfView tool and has the benefits of being a well-designed .NET API. Unfortunately, it doesn’t perform well for scenarios where we want to keep memory usage to a minimum. System.Diagnostics.Tracing has the advantage of being part of the .NET BCL but we’ve observed intermittent exceptions and unexpected behavior in the past. Additionally, it suffers from the same memory consumption issue that TraceEvent does.
> In response to these challenges, Office 365 Security chose to implement our own API with three primary goals:
> Intuitive and flexible API
High performance – filtering events in the native layer
Available both in .NET and native C++
Having checked with both teams this week, neither team requires a **High performance, low memory, cross platform .Net Core library for processing diagnostic & trace information**. As such, this request is to discuss creating such a library or to optimize the existing ones, possibly taking the great work these teams have already done and applying to cross platform and .Net Core scenarios.
Moreover, the scope of this request encompasses all diagnostic & trace information, for example this library should be able to process real-time ETW traces on Windows, EventCounter on Windows / Linux etc.
Have linked to [Tracing and Counters Interest Group - Announcements](https://github.com/dotnet/coreclr/issues/25524)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.