telemetry fixes
This commit is contained in:
Родитель
7acf4d39de
Коммит
89a476cfcd
|
@ -88,6 +88,7 @@ function Get-ContainerHelperConfig {
|
|||
"TraefikUseDnsNameAsHostName" = $false
|
||||
"TreatWarningsAsErrors" = @('AL1026')
|
||||
"TelemetryConnectionString" = ""
|
||||
"UseExtendedTelemetry" = $false
|
||||
}
|
||||
$bcContainerHelperConfigFile = "C:\ProgramData\BcContainerHelper\BcContainerHelper.config.json"
|
||||
if (Test-Path $bcContainerHelperConfigFile) {
|
||||
|
|
|
@ -273,7 +273,11 @@ function New-BcContainer {
|
|||
[scriptblock] $finalizeDatabasesScriptBlock
|
||||
)
|
||||
|
||||
$telemetryScope = InitTelemetryScope -name $MyInvocation.InvocationName -always -parameterValues $PSBoundParameters -includeParameters @("accept_eula","artifactUrl","imageName")
|
||||
$telemetryScope = InitTelemetryScope `
|
||||
-name $MyInvocation.InvocationName `
|
||||
-always `
|
||||
-parameterValues $PSBoundParameters `
|
||||
-includeParameters @("containerName","artifactUrl","isolation","imageName","multitenant","filesOnly")
|
||||
try {
|
||||
|
||||
$defaultNewContainerParameters = (Get-ContainerHelperConfig).defaultNewContainerParameters
|
||||
|
@ -972,10 +976,15 @@ try {
|
|||
}
|
||||
if ($platformversion) {
|
||||
Write-Host "Platform: $platformversion"
|
||||
AddTelemetryProperty -telemetryScope $telemetryScope -key "Platform" -value $platformVersion
|
||||
}
|
||||
|
||||
$genericTag = $inspect.Config.Labels.tag
|
||||
Write-Host "Generic Tag: $genericTag"
|
||||
AddTelemetryProperty -telemetryScope $telemetryScope -key "Version" -value $navVersion
|
||||
AddTelemetryProperty -telemetryScope $telemetryScope -key "Country" -value $devCountry
|
||||
AddTelemetryProperty -telemetryScope $telemetryScope -key "Style" -value $bcStyle
|
||||
AddTelemetryProperty -telemetryScope $telemetryScope -key "Multitenant" -value $multitenant
|
||||
AddTelemetryProperty -telemetryScope $telemetryScope -key "GenericTag" -value $genericTag
|
||||
|
||||
$containerOsVersion = [Version]"$($inspect.Config.Labels.osversion)"
|
||||
|
|
|
@ -49,7 +49,11 @@ function New-BcImage {
|
|||
$allImages
|
||||
)
|
||||
|
||||
$telemetryScope = InitTelemetryScope -name $MyInvocation.InvocationName -parameterValues $PSBoundParameters -includeParameters @()
|
||||
$telemetryScope = InitTelemetryScope `
|
||||
-name $MyInvocation.InvocationName `
|
||||
-always `
|
||||
-parameterValues $PSBoundParameters `
|
||||
-includeParameters @("containerName","artifactUrl","isolation","imageName","baseImage","multitenant","filesOnly")
|
||||
try {
|
||||
|
||||
if ($memory -eq "") {
|
||||
|
|
|
@ -71,7 +71,11 @@ function Import-TestToolkitToBcContainer {
|
|||
|
||||
)
|
||||
|
||||
$telemetryScope = InitTelemetryScope -name $MyInvocation.InvocationName -parameterValues $PSBoundParameters -includeParameters @()
|
||||
$telemetryScope = InitTelemetryScope `
|
||||
-name $MyInvocation.InvocationName `
|
||||
-always `
|
||||
-parameterValues $PSBoundParameters `
|
||||
-includeParameters @("containerName","includeTestLibrariesOnly","includeTestFrameworkOnly","includeTestRunnerOnly","includePerformanceToolkit","testToolkitCountry")
|
||||
try {
|
||||
|
||||
if ($replaceDependencies) {
|
||||
|
|
|
@ -30,7 +30,17 @@
|
|||
$arr = @($value.GetEnumerator() | ForEach-Object { $_ })
|
||||
$str = "{"
|
||||
$arr | ForEach-Object {
|
||||
$str += "`n $($_.Key): $(FormatValue -value $_.Value)"
|
||||
if ($_.Key -eq "RefreshToken" -or $_.Key -eq "AccessToken") {
|
||||
if ($_.Value) {
|
||||
$str += "`n $($_.Key): [token]"
|
||||
}
|
||||
else {
|
||||
$str += "`n $($_.Key): [null]"
|
||||
}
|
||||
}
|
||||
else {
|
||||
$str += "`n $($_.Key): $(FormatValue -value $_.Value)"
|
||||
}
|
||||
}
|
||||
"$str`n}"
|
||||
}
|
||||
|
@ -76,7 +86,6 @@ function InitTelemetryScope {
|
|||
[string[]] $includeParameters = @(),
|
||||
$parameterValues = $null
|
||||
)
|
||||
$includeParameters = "*"
|
||||
if ($telemetry.Client) {
|
||||
if ($bcContainerHelperConfig.TelemetryConnectionString) {
|
||||
if ($telemetry.Client.TelemetryConfiguration.DisableTelemetry -or $telemetry.Client.TelemetryConfiguration.ConnectionString -ne $bcContainerHelperConfig.TelemetryConnectionString) {
|
||||
|
@ -103,8 +112,9 @@ function InitTelemetryScope {
|
|||
$scope = @{
|
||||
"Name" = $name
|
||||
"StartTime" = [DateTime]::Now
|
||||
"SeverityLevel" = 1
|
||||
"Properties" = [Collections.Generic.Dictionary[string, string]]::new()
|
||||
"Parameters" = [Collections.Generic.Dictionary[string, string]]::new()
|
||||
"AllParameters" = [Collections.Generic.Dictionary[string, string]]::new()
|
||||
"CorrelationId" = $CorrelationId
|
||||
"ParentId" = $telemetry.CorrelationId
|
||||
"TopId" = $telemetry.TopId
|
||||
|
@ -115,9 +125,11 @@ function InitTelemetryScope {
|
|||
$parameterValues.GetEnumerator() | ForEach-Object {
|
||||
$includeParameter = $false
|
||||
$key = $_.key
|
||||
$value = FormatValue -value $_.value
|
||||
$scope.allParameters.Add($key, $value)
|
||||
$includeParameters | ForEach-Object { if ($key -like $_) { $includeParameter = $true } }
|
||||
if ($includeParameter) {
|
||||
AddTelemetryProperty -telemetryScope $scope -key "Parameter[$Key]" -value $_.Value
|
||||
$scope.parameters.Add($key, $value)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -162,8 +174,20 @@ function TrackTrace {
|
|||
$telemetryScope.Properties.Add("Duration", [DateTime]::Now.Subtract($telemetryScope.StartTime).TotalSeconds)
|
||||
|
||||
$traceTelemetry = $telemetry.Client.GetType().Assembly.CreateInstance('Microsoft.ApplicationInsights.DataContracts.TraceTelemetry')
|
||||
$traceTelemetry.Message = "$($telemetryScope.Name)`n$transcript"
|
||||
$traceTelemetry.SeverityLevel = $telemetryScope.SeverityLevel
|
||||
if ($bcContainerHelperConfig.UseExtendedTelemetry) {
|
||||
$traceTelemetry.Message = "$($telemetryScope.Name)`n$transcript"
|
||||
$traceTelemetry.SeverityLevel = 0
|
||||
$telemetryScope.allParameters.GetEnumerator() | ForEach-Object {
|
||||
[void]$traceTelemetry.Properties.TryAdd("Parameter[$($_.Key)]", $_.Value)
|
||||
}
|
||||
}
|
||||
else {
|
||||
$traceTelemetry.Message = "$($telemetryScope.Name)"
|
||||
$traceTelemetry.SeverityLevel = 1
|
||||
$telemetryScope.Parameters.GetEnumerator() | ForEach-Object {
|
||||
[void]$traceTelemetry.Properties.TryAdd("Parameter[$($_.Key)]", $_.Value)
|
||||
}
|
||||
}
|
||||
$telemetryScope.Properties.GetEnumerator() | ForEach-Object {
|
||||
[void]$traceTelemetry.Properties.TryAdd($_.Key, $_.Value)
|
||||
}
|
||||
|
@ -226,8 +250,20 @@ function TrackException {
|
|||
|
||||
# emit trace telemetry with Error info
|
||||
$traceTelemetry = $telemetry.Client.GetType().Assembly.CreateInstance('Microsoft.ApplicationInsights.DataContracts.TraceTelemetry')
|
||||
$traceTelemetry.Message = "$($telemetryScope.Name)`n$transcript"
|
||||
$traceTelemetry.SeverityLevel = $telemetryScope.SeverityLevel
|
||||
if ($bcContainerHelperConfig.UseExtendedTelemetry) {
|
||||
$traceTelemetry.Message = "$($telemetryScope.Name)`n$transcript"
|
||||
$traceTelemetry.SeverityLevel = 0
|
||||
$telemetryScope.allParameters.GetEnumerator() | ForEach-Object {
|
||||
[void]$traceTelemetry.Properties.TryAdd("Parameter[$($_.Key)]", $_.Value)
|
||||
}
|
||||
}
|
||||
else {
|
||||
$traceTelemetry.Message = "$($telemetryScope.Name)"
|
||||
$traceTelemetry.SeverityLevel = 1
|
||||
$telemetryScope.Parameters.GetEnumerator() | ForEach-Object {
|
||||
[void]$traceTelemetry.Properties.TryAdd("Parameter[$($_.Key)]", $_.Value)
|
||||
}
|
||||
}
|
||||
$telemetryScope.Properties.GetEnumerator() | ForEach-Object {
|
||||
[void]$traceTelemetry.Properties.TryAdd($_.Key, $_.Value)
|
||||
}
|
||||
|
@ -238,8 +274,20 @@ function TrackException {
|
|||
|
||||
# emit exception telemetry
|
||||
$exceptionTelemetry = $telemetry.Client.GetType().Assembly.CreateInstance('Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry')
|
||||
$exceptionTelemetry.Message = "$($telemetryScope.Name)`n$transcript"
|
||||
$exceptionTelemetry.SeverityLevel = $telemetryScope.SeverityLevel
|
||||
if ($bcContainerHelperConfig.UseExtendedTelemetry) {
|
||||
$exceptionTelemetry.Message = "$($telemetryScope.Name)`n$transcript"
|
||||
$exceptionTelemetry.SeverityLevel = 3
|
||||
$telemetryScope.allParameters.GetEnumerator() | ForEach-Object {
|
||||
[void]$exceptionTelemetry.Properties.TryAdd("Parameter[$($_.Key)]", $_.Value)
|
||||
}
|
||||
}
|
||||
else {
|
||||
$exceptionTelemetry.Message = "$($telemetryScope.Name)"
|
||||
$exceptionTelemetry.SeverityLevel = 1
|
||||
$telemetryScope.Parameters.GetEnumerator() | ForEach-Object {
|
||||
[void]$exceptionTelemetry.Properties.TryAdd("Parameter[$($_.Key)]", $_.Value)
|
||||
}
|
||||
}
|
||||
$telemetryScope.Properties.GetEnumerator() | ForEach-Object {
|
||||
[void]$exceptionTelemetry.Properties.TryAdd($_.Key, $_.Value)
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче