Private/Utils/Initialize-ApiStatistics.ps1

function Initialize-ApiStatistics {
    <#
    .SYNOPSIS
        Initialize global API call statistics tracking.
     
    .DESCRIPTION
        Creates a module-scoped hashtable to track Azure API call metrics including:
        - Total API calls
        - Throttled calls (HTTP 429)
        - Failed calls
        - Cache hits and misses
        - Execution duration
     
    .EXAMPLE
        Initialize-ApiStatistics
        # Creates $script:ApiCallStats with zeroed counters
     
    .OUTPUTS
        None
    #>

    [CmdletBinding()]
    param()
    
    # Create module-scoped statistics hashtable
    $script:ApiCallStats = @{
        TotalCalls = 0
        ThrottledCalls = 0
        FailedCalls = 0
        CacheHits = 0
        CacheMisses = 0
        StartTime = Get-Date
        PolicyDefinitionCalls = 0
        PolicySetDefinitionCalls = 0
        PolicyAssignmentCalls = 0
        ManagementGroupCalls = 0
        SubscriptionCalls = 0
    }
    
    Write-Debug "API statistics initialized at $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')"
}