microsoft / microsoft/component-detection
Use single shared `ActionBlock`
- Dominant language
- C#
- Stars
- 553
- Forks
- 135
- Avg merge
- 20h 58m
- Merged PRs (30d)
- 6
Description
Currently we're creating a single `ActionBlock` per detector, however we should look into using one shared `ActionBlock` across all detectors.
We're running each detector here:
https://github.com/microsoft/component-detection/blob/368f3c9692a51795d4f89a46ff6061ded9109a11/src/Microsoft.ComponentDetection.Orchestrator/Services/DetectorProcessingService.cs#L69
Which eventually creates a new `ActionBlock`:
https://github.com/microsoft/component-detection/blob/368f3c9692a51795d4f89a46ff6061ded9109a11/src/Microsoft.ComponentDetection.Contracts/FileComponentDetector.cs#L92-L94
Recommended after speaking with @dfederm
Contributor guide
Research direction
Start in src/Microsoft.ComponentDetection.Orchestrator/Services/DetectorProcessingService.cs around line 69, then trace the ActionBlock creation in src/Microsoft.ComponentDetection.Contracts/FileComponentDetector.cs around lines 92-94. Determine how detector processing currently creates per-detector blocks and refactor it to use one shared ActionBlock across all detectors. Done means the shared processing behavior is preserved without creating a separate block for each detector.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100