microsoft / microsoft/microsoft-performance-toolkit-sdk

Is it possible for a DataCooker to use the built-in ETW pipeline as source?

Open
#425 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
239
Forks
78
Avg merge
4d 3h
Merged PRs (30d)
2

Description

I'm looking into writing a plugin which takes generic ETW events and uses them to populate a custom table.
It looks like this should be possible by defining a DataCooker which uses one of the DataCookers that WPA ships with as its source. But which one? Are these documented somewhere? Is this intended to be possible, or should plugins load their own data from scratch and effectively reimplement the entire ETW pipeline?

Some background for what I really want to achieve: I have an application which emits custom ETW events, and I can visualize these in WPA's Generic Events table, but I'd like to be able to visualize them as spans with a begin/end time. As far as I can tell this cannot be configured in WPA on an existing view, so I would instead have to write a plugin which takes the ETW data, cooks it and feeds it into a custom table definition, assigning appropriate roles to the individual columns. But to do that, I would either need to write the entire pipeline, loading the .etl file and parsing myself, or I would need to use one of the standard DataCookers to use as my source, and for that I need to know the DataCooker path and type.

How would I achieve any of this? If I'm way off and a completely different approach should be used, any pointers would be welcome too. :)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names DataCooker, WPA's Generic Events table, ETW, and .etl files but no repository files or tests. Start by locating the built-in DataCooker definitions and plugin documentation; done would be a documented supported path or a clear alternative for turning generic ETW events into spans.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
devtools, operating-systems, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.