TestimoX

API Reference

Class

DnsLogAnalyzer

Namespace ADPlayground
Assembly ADPlayground

Provides analysis capabilities for DNS debug logs, including summary generation and merging.

Inheritance

  • Object
  • DnsLogAnalyzer

Constructors

public DnsLogAnalyzer(Int32 maxRawQueries = 1000) #

Initializes a new instance of the DnsLogAnalyzer class.

Parameters

maxRawQueries System.Int32 = 1000 optionalposition: 0

Methods

public ValueTuple<DnsLogAnalysisResult, IList<String>> AnalyzeLogs(IEnumerable<String> filePaths, DnsLogFilter filter = null, Boolean doNotMerge = false, Boolean deduplicate = false, String[] matchedZones = null, Nullable<Int32> subnetMask = null, IProgress<DnsLogBatchProgress> progress = null, Boolean runInParallel = false, DnsAnalysisKind kinds = All, DnsLogProcessingOptions options = null) #
Returns: ValueTuple<DnsLogAnalysisResult, IList<String>>

Gets summaries for multiple log files with optional merging.

Parameters

filePaths System.Collections.Generic.IEnumerable{System.String} requiredposition: 0
Collection of file paths to analyze.
filter ADPlayground.DnsLogFilter = null optionalposition: 1
Optional filter for DNS entries.
doNotMerge System.Boolean = false optionalposition: 2
If true, returns individual summaries; if false, merges summaries.
matchedZones System.Boolean = false optionalposition: 3
Array of zone names to match against.
deduplicate System.String[] = null optionalposition: 4
When true and merging, removes duplicate log entries before building merged summaries.
subnetMask System.Nullable{System.Int32} = null optionalposition: 5
CIDR prefix length for grouping IP summaries.
progress System.IProgress{ADPlayground.DnsLogBatchProgress} = null optionalposition: 6
Optional batch progress reporter.
runInParallel System.Boolean = false optionalposition: 7
Process files concurrently.
kinds ADPlayground.DnsAnalysisKind = All optionalposition: 8
Selects which analyses to run. Defaults to all.
options ADPlayground.DnsLogProcessingOptions = null optionalposition: 9
Optional processing behavior such as caching UNC paths.

Returns

A tuple containing the analysis results and any errors encountered.

public async Task<ValueTuple<DnsLogAnalysisResult, IList<String>>> AnalyzeLogsAsync(IEnumerable<String> filePaths, DnsLogFilter filter = null, Boolean doNotMerge = false, Boolean deduplicate = false, String[] matchedZones = null, Nullable<Int32> subnetMask = null, IProgress<DnsLogBatchProgress> progress = null, Boolean runInParallel = false, DnsAnalysisKind kinds = All, DnsLogProcessingOptions options = null) #
Returns: Task<ValueTuple<DnsLogAnalysisResult, IList<String>>>

Asynchronously gets summaries for multiple log files with optional merging.

Parameters

filePaths System.Collections.Generic.IEnumerable{System.String} requiredposition: 0
Collection of file paths to analyze.
filter ADPlayground.DnsLogFilter = null optionalposition: 1
Optional filter for DNS entries.
doNotMerge System.Boolean = false optionalposition: 2
If true, returns individual summaries; if false, merges summaries.
matchedZones System.Boolean = false optionalposition: 3
Array of zone names to match against.
deduplicate System.String[] = null optionalposition: 4
When true and merging, removes duplicate log entries before building merged summaries.
subnetMask System.Nullable{System.Int32} = null optionalposition: 5
CIDR prefix length for grouping IP summaries.
progress System.IProgress{ADPlayground.DnsLogBatchProgress} = null optionalposition: 6
Optional batch progress reporter.
runInParallel System.Boolean = false optionalposition: 7
Process files concurrently.
kinds ADPlayground.DnsAnalysisKind = All optionalposition: 8
Selects which analyses to run. Defaults to all.
options ADPlayground.DnsLogProcessingOptions = null optionalposition: 9
Optional processing behavior such as caching UNC paths.

Returns

A tuple containing the analysis results and any errors encountered.

public IList<DnsLogIntervalSummary> GetSummaryPerInterval(String filePath, TimeSpan interval, DnsLogFilter filter = null, IProgress<DnsLogBatchProgress> progress = null, DnsLogProcessingOptions options = null) #
Returns: IList<DnsLogIntervalSummary>

Groups log entries into fixed time intervals.

Parameters

filePath System.String requiredposition: 0
Path to the DNS debug log file.
interval System.TimeSpan requiredposition: 1
Length of each interval.
filter ADPlayground.DnsLogFilter = null optionalposition: 2
Optional filter for DNS entries.
progress System.IProgress{ADPlayground.DnsLogBatchProgress} = null optionalposition: 3
Optional progress reporter.
options ADPlayground.DnsLogProcessingOptions = null optionalposition: 4
Optional processing behavior such as caching UNC paths.

Returns

Collection of interval summaries.

Properties

public Int32 MaxRawQueries { get; set; } #

Gets or sets the maximum number of raw queries to retain per summary. Use 0 to disable raw query storage.