PLA_E_DCS_SINGLETON_REQUIRED (0X80300102) Fix
This error means the Data Collector Set already exists. You can't have two with the same name. Here's how to delete or rename the duplicate.
1. The Same Data Collector Set Name Already Exists
I know this error is infuriating — you're trying to create a new Data Collector Set in Performance Monitor or Windows Performance Recorder, and you get slapped with PLA_E_DCS_SINGLETON_REQUIRED (0X80300102). The short version: you're trying to create a set with a name that's already in use. Windows only allows one Data Collector Set per unique name. No exceptions.
This tripped me up the first time too. I'd been running a test set, stopped it, and then tried to create a new one with the same name. Windows still sees the old one in the registry or the file system, so it blocks the new creation. The fix is straightforward: either delete the old set or rename the new one.
Fix: Delete the Existing Data Collector Set
- Open Performance Monitor (type
perfmon.mscin Run or search). - Expand Data Collector Sets on the left pane.
- Find the set with the name you're trying to reuse. It'll be under either User Defined or System.
- Right-click the set and choose Delete. Confirm.
- Now try creating your new set with that name again.
If you don't want to lose the old set, just rename it instead. Right-click the old set, choose Properties, and change the name on the General tab. Then your new set can use the original name.
Fix: Check for Hidden Collector Sets in the Registry
Sometimes the name is stuck in the registry even after you've deleted the set from Performance Monitor. This happens more often than you'd think in Windows 10 22H2 and Windows 11 23H2. Here's how to clean it up:
- Press Win + R, type
regedit, and hit Enter. - Go to:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\_CollectorSets - Look for a subkey that matches your problem set name. It'll be listed as a folder under that path.
- Right-click the subkey and choose Delete. Back up first if you're nervous — export the key before deleting.
- Restart the Performance Logs and Alerts service (run
services.msc, find the service, right-click, and restart).
2. A System Data Collector Set Has the Same Name
Sometimes the conflict isn't in User Defined — it's a system-level set you didn't know existed. Windows Performance Recorder, for example, uses internal collector sets like NT Kernel Logger or Circular Kernel Context Logger. If you try to create a user set named NT Kernel Logger, you'll hit this error. Same goes for custom sets named after any of the built-in ones.
Fix: Use a Unique Name for Your Custom Set
The simplest fix: don't fight the system. Rename your custom set to something unique. Performance Monitor doesn't care what you call it — just avoid names like SystemTraceProvider, EventLog-System, or anything that matches a Windows default. Use a name that includes your app name or a unique identifier, like MyApp_Capture_2024-06-15.
If you really need to see the full list of system sets, run this in an elevated command prompt:
logman query -ets
That shows every active trace session and collector set. If your name appears there, you know it's taken. You can stop it with logman stop <name> -ets, but only if it's not critical — don't kill kernel traces unless you're sure.
3. Leftover Files in the Collector Set Directory
Performance Monitor stores collector set data in %SystemDrive%\PerfLogs\Admin\<SetName>. If you manually deleted the set from the UI but the folder or a lock file remains, Windows still thinks the set exists. This is rare but real — I've seen it after a crash or forced shutdown during a data collection.
Fix: Delete the Stale Folder
- Open File Explorer and navigate to
C:\PerfLogs\Admin(or wherever yourPerfLogsfolder lives). - Find the folder that matches your set name.
- If the folder is empty or contains a
lockfileor.blgfile, delete the whole folder. - Restart the Performance Logs and Alerts service.
- Try creating the set again.
If you can't delete the folder because it's in use, boot into Safe Mode and delete it there. Or use takeown /f <path> and icacls to force ownership.
Quick-Reference Summary Table
| Cause | Fix | Difficulty |
|---|---|---|
| Duplicate set name in User Defined | Delete or rename the existing set in Performance Monitor | Beginner |
| Name matches a system collector set | Use a unique name for your custom set | Beginner |
| Stale folder or lock file in PerfLogs\Admin | Delete the leftover folder and restart the service | Intermediate |
| Registry entry left behind | Delete the subkey under HKLM\...\_CollectorSets | Advanced |
Was this solution helpful?