Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better Support for Known Tracelogging Events #2173

Open
shmuelie opened this issue Mar 4, 2025 · 2 comments
Open

Better Support for Known Tracelogging Events #2173

shmuelie opened this issue Mar 4, 2025 · 2 comments

Comments

@shmuelie
Copy link

shmuelie commented Mar 4, 2025

Right now, all tracelogging (aka self-describing) events can't really have strong typing information. This makes usage of them very hard. I would love to have a way to create strongly typed version of them, similar to what is supported for Manifest events.

@brianrob
Copy link
Member

brianrob commented Mar 7, 2025

I have not experimented with this, but it does seem do-able. TraceLogging support is somewhat bolted on in TraceEvent and is mostly handled by DynamicTraceEventParser. I suspect it would be possible to implement such a thing by creating a new TraceLoggingTraceEventParser similar to DynamicTraceEventParser that can return a strongly-typed payload from an event-specific property. Instead of keeping track of the event in the main lookup logic of TraceEvent as is done for manifested events, it would register itself as a dynamic parser, and would keep its own internal lookup table of event --> strongly typed template.

There has not been significant interest in this area which is why nothing has been done here. I would certainly support such a change if you were interested in contributing it.

@shmuelie
Copy link
Author

shmuelie commented Mar 7, 2025

That was my thinking as well. I might see about playing around with it if/when I have time 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants