src/public/Logging/Get-AitherMetrics.ps1
|
#Requires -Version 7.0 <# .SYNOPSIS Get collected metrics by category .DESCRIPTION Retrieves metrics that have been registered for dashboard generation. Can return all metrics or metrics for a specific category. .PARAMETER Category Optional category name to retrieve specific metrics .EXAMPLE Get-AitherMetrics Get all collected metrics .EXAMPLE Get-AitherMetrics -Category 'Tests' Get metrics for the Tests category .OUTPUTS Hashtable - Metrics data (all categories or specific category) .NOTES Returns empty hashtable if no metrics have been registered or category doesn't exist. .LINK Register-AitherMetrics Initialize-AitherDashboard #> function Get-AitherMetrics { [CmdletBinding()] param( [string]$Category ) begin { if (-not $script:CollectedMetrics) { $script:CollectedMetrics = @{} } } process { try { if ($Category) { return $script:CollectedMetrics[$Category] } return $script:CollectedMetrics } catch { Write-AitherLog -Message "Error retrieving metrics: $($_.Exception.Message)" -Level Error -Source 'Get-AitherMetrics' -Exception $_ return @{} } } } |