microsoft / microsoft/component-detection

Use single shared `ActionBlock`

Open
#235 0 comments 0 reactions 0 assignees View on GitHub
status:requirements type:refactor
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.