Project

PSPublishModule

Build, test, version, sign, and publish PowerShell modules with reusable PowerForge pipelines.

Stars 48
Forks 16
PowerShell Gallery downloads 17,213
Release v3.0.169
Language: C# Updated: 2026-10-13

API Reference

Command

Start-BenchmarkProvenanceCapture

Namespace PSPublishModule
Inputs
None
Outputs
PowerForge.BenchmarkProvenanceCaptureSession

Captures clean source state before an external benchmark writes into a fresh artifact directory.

Remarks

Captures clean source state before an external benchmark writes into a fresh artifact directory.

Examples

Authored help example

Reserve a BenchmarkDotNet artifact directory before measurement


$capture = Start-BenchmarkProvenanceCapture -SourceRoot . -ArtifactRoot .\Build\BenchmarkDotNet.Artifacts -Metadata @{ 'benchmark.workload.id' = 'tabular-65k-v1' } -RunMode full
        

Common Parameters

This command supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable.

For more information, see about_CommonParameters.

Syntax

Start-BenchmarkProvenanceCapture -ArtifactRoot <String> [-Metadata <Hashtable>] [-RunMode <String>] -SourceRoot <String> [<CommonParameters>]
#
Parameter set: All Parameter Sets

Parameters

ArtifactRoot String requiredposition: namedpipeline: False
Fresh directory where the external benchmark will write its artifacts.
Metadata Hashtable optionalposition: namedpipeline: False
Optional workload metadata to bind before measurement. Publishable evidence requires benchmark.workload.id.
RunMode String optionalposition: namedpipeline: False
Optional for diagnostic captures; publishable evidence requires a run mode bound before measurement.
SourceRoot String requiredposition: namedpipeline: False
Git repository root whose source is being measured.

Outputs

PowerForge.BenchmarkProvenanceCaptureSession