Resolve Concelier/Excititor merge conflicts
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using StellaOps.Scanner.Analyzers.OS.Abstractions;
|
||||
|
||||
namespace StellaOps.Scanner.Analyzers.OS.Analyzers;
|
||||
|
||||
public abstract class OsPackageAnalyzerBase : IOSPackageAnalyzer
|
||||
{
|
||||
protected OsPackageAnalyzerBase(ILogger logger)
|
||||
{
|
||||
Logger = logger ?? throw new ArgumentNullException(nameof(logger));
|
||||
}
|
||||
|
||||
public abstract string AnalyzerId { get; }
|
||||
|
||||
protected ILogger Logger { get; }
|
||||
|
||||
public async ValueTask<OSPackageAnalyzerResult> AnalyzeAsync(OSPackageAnalyzerContext context, CancellationToken cancellationToken)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(context);
|
||||
|
||||
var stopwatch = Stopwatch.StartNew();
|
||||
var packages = await ExecuteCoreAsync(context, cancellationToken).ConfigureAwait(false);
|
||||
stopwatch.Stop();
|
||||
|
||||
var packageCount = packages.Count;
|
||||
var fileEvidenceCount = 0;
|
||||
foreach (var package in packages)
|
||||
{
|
||||
fileEvidenceCount += package.Files.Count;
|
||||
}
|
||||
|
||||
var telemetry = new OSAnalyzerTelemetry(stopwatch.Elapsed, packageCount, fileEvidenceCount);
|
||||
return new OSPackageAnalyzerResult(AnalyzerId, packages, telemetry);
|
||||
}
|
||||
|
||||
protected abstract ValueTask<IReadOnlyList<OSPackageRecord>> ExecuteCoreAsync(OSPackageAnalyzerContext context, CancellationToken cancellationToken);
|
||||
}
|
||||
Reference in New Issue
Block a user