16 KiB
Change log
06/11/2023 v2.9.2306.11116
- add internal ado pipeline yaml for central feed service compliance
- add latest kusto functions
- delete ado internal nuget.config for external build
04/23/2023
- fix for managedIdentity tcp timeout
03/22/2023
- add datetime format specifier token option to LogFile -log|--logFile [string] file name and path to save console output. can optionally specify .net datetime format specifier inside '<>'. example: collectsfdata-<yyyy-MM-dd-HH-mm-ss>.log
- add check to remove readonly attributes on configured directories
02/05/2023
- migrate from default target framework .net472 to .net48
- current .net target builds:
- net462
- net48
02/05/2023 v2.9.2302.10517
- fix configuration class inconsistencies in base classes
- remove System.Diagnostic.DiagnosticSource from GetManagedIdentity
- add functionality to remove failed and succeeded kusto ingestion queue messages if over 1 day old to prevent having to continually enumerate and process all stale messages.
- fix hang on trace retry for failed csv traces
12/21/2022
- add additional counters to no progress check / timeout
- change noisy debug trace to trivial
12/6/2022
- UploadCacheData() set file status from formatting to succeeded if not uploading to kusto or log analytics
- set usememorystream to false if not uploading to kusto or log analytics
12/6/2022 2.9.2212.10615
- add check to not requeue processed files in predefined cache location if already in fileobjects object for UploadCacheData().
10/23/2022
- modify example / test sasuris falsely being flagged as secrets.
8/11/2022
- Add check to download file if file type is .etl
8/3/2022
- modify BlobManager for devskim checks
- add comment to ignore use of UseV1MD5 required by jarvis
- add additional entropy for token
- modify Collector to clean up ServicePointManager configuration for devskim
7/31/2022
- fix issue where trace file was wrongly excluded. file was in specified time range by ticks in file name, but last modified date is outside of time range.
- update all .net versions for newtonsoft.json from 11.0.2 -> 13.0.1 due to security vulnerability
- fix /? not displaying by partial revert
ead7b71e
- adding support for sfextlog type for managed cluster extension logs
7/1/2022
- update newtonsoft.json from 11.0.2 -> 13.0.1 due to security vulnerability
- remove CollectSFDataGui references from project
6/2/2022
- modify log.open for file exception
4/15/2022
- add version to always be logged at completion
4/7/2022
- add support for tls 1.3
03/22/2022
- add explicit reference to microsoft.identity.client 4.42.0 for jarvis error
03/11/2022
- modify AzureResourceManager.cs add MSAL ESTS .WithAzureRegion(_config.AzureResourceGroupLocation)
-
LogDebug 5 msal azureregion verification:
2022-03-11T11:04:48.9513010-05:00::6:MsalLoggerCallback:debug:Info False MSAL 4.42.0.0 MSAL.NetCore .NET 5.0.15 Microsoft Windows 10.0.22000 [2022-03-11 16:04:48Z - 4a216977-87ba-48b0-b9fc-8140d80a0acb] (CollectSFData: 0.0.0.0) [Region discovery] Returning user provided region: eastus. 2022-03-11T11:04:48.9517230-05:00::6:MsalLoggerCallback:debug:Info False MSAL 4.42.0.0 MSAL.NetCore .NET 5.0.15 Microsoft Windows 10.0.22000 [2022-03-11 16:04:48Z - 4a216977-87ba-48b0-b9fc-8140d80a0acb] (CollectSFData: 0.0.0.0) [Region discovery] Regionalized Environment is : eastus.r.login.microsoftonline.com.
11/16/2021 https://github.com/microsoft/CollectServiceFabricData/releases/tag/v2.9.2111.11617
- fixes for breaking changes in authentication disallowing use of wellknown 195 guid. utility now requires an azure app registration 'clientid' to be specified for azure / kusto authentication. app registration needs to be added as a principal to kusto database.
- fix for slow utility start on .net core when not using managed identity
- move TableMetaData record insertion to start of ingest from end of ingest for better tracking and consistency
- add / modify kusto query functions
08/22/2021 https://github.com/microsoft/CollectServiceFabricData/releases/tag/v2.9.2108.12500
- modify kusto certificate authentication option to use certificate instead of bearer token
- add ApplicationCertificateSendX5c = true
- fix for stale .bin3 token cache requiring ui 'invalid_grant'
- add kusto queries from sedwards
- add privacy link as part of current ms oss guidelines
- fix for enumerating .etl files when using 'CacheLocation'
- fix to check for EtwManifestsCache and manifest files in cache
- fix for writing special unicode error: One or more errors occurred.
- update test project name
- test setup script updates for certs
06/23/2021
- add support for Geneva. Geneva Action server does not support .NET MD5. so need have set UseV1MD5 to false when using Azure Storage. CloudStorageAccount.UseV1MD5 = false;
- add SECURITY.md for current microsoft OSS compliance
06/21/2021 https://github.com/microsoft/CollectServiceFabricData/releases/tag/v2.9.2106.12112
- add .WithSendX5C(sendX5C) for SNI certificate authentication.
06/01/2021
-
adding support for formatting service fabric etw (.etl) files to csv for kusto ingest
-
using sf binary etlreader.dll for formatting etl
-
using sf manifests (.man) for formatting etl in /manifests directory
-
if /manifests directory is not found, repo will be checked
-
update schema with new EtwManifestsCache value defaults to ./manifests
-
reduce attempts to check for managedIdentity
-
fix 'ContainerFilter' not always being applied correctly if other containers match container prefix.
-
merge test projects.
-
add additional tests.
-
move debug logging to file only.
-
update nuspec to reduce file size and add manifests.
-
only check time variables if not empty.
-
add pdbs to nuget package.
-
add postbuild events ps1 to solution.
-
improve logsummary output indicating items of interest for overall result.
1:LogSummary:22 files enumerated. 1:LogSummary:22 files matched. 1:LogSummary:22 files downloaded. 1:LogSummary:22 files formatted. 1:LogSummary:0 files skipped. 1:LogSummary:4643415 parsed events. 1:LogSummary:timed out: False. 1:LogSummary:FileObjects:status:unknown:0 enumerated:0 existing:0 queued:0 downloading:0 formatting:0 uploading:0 failed:0 succeeded:22 all:22 1:LogSummary:discovered time range: 2021-05-11T21:53:04.3278378 - 2021-06-01T12:38:10.0000000 1:LogSummary:1 errors. 1:LogSummary:0 files failed to be processed. 1:LogSummary:total execution time in minutes: 1.14
5/3/2021 https://github.com/microsoft/CollectServiceFabricData/releases/tag/v2.9.2105.10313
- Add Client Certificate authentication
4/18/2021
- fix potential scenario where blob could be deleted from storage by hardcoding RetainBlobOnSuccess = true
- fix issue where uriString may be null for temporary container or ingestionqueue resources for kusto upload
- fix nuget warnings during build for net5.0
- split properties from ConfigurationOptions.cs into ConfigurationProperties.cs for class reuse
- allow new ConfigurationOptions instances to be used.
- add ConfigurationOptions argument to Collector
- ConfigurationOptions
- add DefaultConfiguration to ConfigurationOptions populated with default 'collectsfdata.options.json' and any commandline arguments if passed to constructor
- update dllConfiguration
04/08/2021
- add AzureClientCertificate property for use with AzureTenantId and AzureClientId for confidentialClient authentication with certificate in LocalMachine or CurrentUser My
- fix intermittent table name truncation after gathertype bad: trace_agilber_test good: trace_jagilber_test
- modify NoProgressTimeout from throw exception to tasks Cancel() allowing collector.Collect() to return 1 to caller
- modify EndTimeStamp / StartTimeStamp to ignore empty strings and better timeformat error handling, logging
- modify Log.Last to always log regardless of LogDebug value
- sync Sf.Tx with microsoft.Tx final changes for DateTimeKind.Unspecified. waiting for next microsoft.Tx release to remove Sf.Tx
- update collectsfdata.schema.json with additional examples
- fix creation of log name when directory is not specified. will create in working directory
- expose ConfigurationOptions on collector instead of instance
04/06/2021
-
add FileUris string array optional parameter (-uris|--fileUris) to pass file uri strings for upload. this will override default file collection from service fabric diagnosticsStore
"FileUris":[ "C:\\temp\\f45f24746c42cc2a6dd69da9e7797e2c_fabric_traces_7.2.457.9590_132610909762170249_865_00637532483045019565_0000000000.dtr.zip", "C:\\temp\\f45f24746c42cc2a6dd69da9e7797e2c_fabric_traces_7.2.457.9590_132610909762170249_865_00637532485406085273_2147483647.dtr.zip" ],
-
allow download and upload options in same execution
if (Config.SasEndpointInfo.IsPopulated()) { DownloadAzureData(); } if (Config.IsCacheLocationPreConfigured() | Config.FileUris.Length > 0) { UploadCacheData(); }
-
add Clone() to ConfigurationOptions to copy configuration for multiple configs when using as dll.
-
ConfigurationOptions can now be optionally passed as argument to Collect(config).
// default constructor Collector collector = new Collector(args, true); // int retval = collector.Collect(); // use Clone() to create shallow copy for multiple configurations ConfigurationOptions config = collector.Config.Clone(); config.LogDebug = 6; int retval = collector.Collect(config);
03/09/2021 https://github.com/microsoft/CollectServiceFabricData/releases/tag/v2.9.2103.10923
- 2.9
- add strong name signing for binaries for jarvis integration
03/02/2021 https://github.com/microsoft/CollectServiceFabricData/releases/tag/v2.8.2102.1282117
- downgrade newtonsoft and kusto for .net462 jarvis asc integration
02/27/2021 https://github.com/microsoft/CollectServiceFabricData/releases/tag/v2.8.2102.1282117
- adding net462 targetframework
- fix for new kusto error when using blob as source Ingestion properties contains invalid CsvMapping ingestion mapping. Mapping: '' Invalidity reason: CsvMapping An item with the same key has already been added. Ordinal: '0' appears '1' times,
02/22/2021
- fix fields not matching in gathertype 'setup'. FormatTraceFile incorrectly using DtrTraceRecord instead of T. tested setup and trace gathertype
02/08/2021 https://github.com/microsoft/CollectServiceFabricData/releases/tag/v2.8.2102.1081337
- 2.8
- fix gathertype table propertyvalue add quotes and replace " and ,
- fix table duplicate cleanup RelativeUri
- move table cleanup after Wait
- add export kusto function script
- exported current kusto functions
01/30/2021 https://github.com/microsoft/CollectServiceFabricData/releases/tag/v2.8.2101.1302111
- 2.8
- add System.Reactive dependency for Tx
- add uris argument to UpdloadData()
- modify PopulateConfig() to use GatherType to determine if configuration populated
- fix CheckLogFile to not check file if open
- fix table name prepend to prevent duplicate
- fix file name with multiple splits from concatenating counters in name
- testing microsoft Tx module to replace relog.exe (UseTx=true) non-default
- fix message compare for ingest causing no progress timeouts
- fix db table cursor kql syntax
- fix CSV compliance issue with Linux cluster tables
12/27/2020 https://github.com/microsoft/CollectServiceFabricData/releases/tag/v2.7.2012.31150827
- add version check in LogSummary random 10% of time if logging to console
- fix aggregate collection modified exception in pending ingest list
12/21/2020 https://github.com/microsoft/CollectServiceFabricData/releases/tag/v2.7.2012.21142504
- modify collectsfdata.schema.json split title into title, description
- add TraceKnownIssues.csl additional known issues
- add trivial logging that logs only to logfile if logdebug > 5
- fix ingest messages not being processed correctly resulting in noprogresstimeout
- fix issue with database cursor not always being set correctly
- fix gathertype value validation failure
- add codemaid config
- format with codemaid
- adding collect() reuse logic for dll use
-- move no progress timer to start / stop in collect()
-- move Kusto and Log Analytics to 'instance' class
-- change methods to private that are not needed publicly - adding collect() retry mitigation for csv compliance issue
-- modify kusto ingest lists for public access for retry
-- default KustoUseBlobAsSource to true - add additional vscode launch configurations
12/4/2020 https://github.com/microsoft/CollectServiceFabricData/releases/tag/v2.7.2012.04200700
- modify repo layout structure and place source in /src
- add .devcontainer with net5 custom install for codespaces
- add kusto functions
- fix table ingest only ingesting last chunk enumerated from table
- fix unique table ingest when kustoingestmessage false using .set-or-replace
- fix table filter now using containerfilter
- migrate from binaryformatter deprecated in net5 to newtonsoft json serializer
- fix unique when kustoingestmessage false and file is over max ingest size
- update loganalytics api version
- add tests for msal and kusto
- update README
- update configuration json examples
- add building md
- add CHANGELOG
11/10/2020 https://github.com/microsoft/CollectServiceFabricData/tree/v2.7.2011.10013644
- add labeler workflow back after github cross fork pr fix
- migrate from nuget to dotnet build for workflow
- add vscode launch.json config
- add support for dll and exe. converted project to dll and created new exe project referencing dll project.
- clean app.config
- migrate to csproj nuget package from packages.config
- clean csproj
- modify nuspec layout to support dll and exe
- migrate from .net462 to .net472 for security and stability
- add support for .netcoreapp3.1
- modify static inherited 'instance' class to singleton
- migrate from deprecated ADAL to MSAL. tested client, user, and device on windows and ubuntu
- move token cache to userprofile
- add object, counter, instance fields for gather type counter
- fix temp directory saveconfig in json output
- fix custom task scheduler thread race causing duplicate managers
- migrate from logdebug bool to logdebug int levels 0-5 to turn down logging
- update test project to .netcore to remove security vulnerabilities
- add kusto functions
- add build scripts in /scripts dir
7/30/2020 https://github.com/microsoft/CollectServiceFabricData/tree/v2.6.7516.26434
- fix nuget package layout
7/23/2020 https://github.com/microsoft/CollectServiceFabricData/releases/tag/v2.6.7509.24815
- remove broken labeler workflow
- add nuget package to workflow
- set source code namespaces
- remove static members from httpclient
- add tests
- add kusto functions
4/22/2020 https://github.com/microsoft/CollectServiceFabricData/releases/tag/v2.6.7417.39096
- add collectsfdata.options.json to release
- add discovered blob time range to output
- add sas validation
- add noprogresstimeout min to prevent indefinite hang
- add online version check
- add maxstreamtransmitbytes
- add last message list
- add determineclusterid fallback
- add kustoUseIngestMessage
- add admin and query clients to kusto endpoint
- add test classes
- add kusto functions
- default kustoCompressed to true
- update config schema
12/4/2019 https://github.com/microsoft/CollectServiceFabricData/releases/tag/v2.6.7277.26289
- modify git actions for v1 and update tag
- modify blob callback to include length
- modify displaystatus summary
- add config validation functions
- add gathertype exception
- add / modify kusto functions
11/21/2019 init 2.6 public release https://github.com/microsoft/CollectServiceFabricData/tree/CollectServiceFabricData-c75b19fef60739aebb3707fef556c768bc1432c5
- .net462 console utility