Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
efa39c6
Update baselines (#4553)
sebastienros Oct 17, 2023
f82ba16
[release/8.0] Update dependencies from dotnet/aspnetcore (#4557)
dotnet-maestro[bot] Oct 17, 2023
eb1c4f8
Document missing diagnostic IDs (#4579)
RussKie Oct 18, 2023
2e281f2
Fix LegacyLoggingFixer when eventId is missing in Log (#4582)
tekian Oct 18, 2023
2aeb409
Downstream dependency metadata bug fix (#4581)
tekian Oct 18, 2023
c02923b
Increased the max supported dimensions via source gen to 30 dimension…
tekian Oct 18, 2023
eca8bd0
Redaction improvements. (#4516)
geeknoid Oct 18, 2023
2dc1dc2
OTel semantic conventions for exceptions in logs (#4584)
iliar-turdushev Oct 19, 2023
7b42116
[release/8.0] Update dependencies from dotnet/aspnetcore (#4583)
dotnet-maestro[bot] Oct 19, 2023
0265fb8
Hosting.Testing readme (#4556)
Tratcher Oct 19, 2023
bd300e7
AspNetCore.Testing readme, namespaces (#4561)
Tratcher Oct 20, 2023
5d0c311
[release/8.0] Update dependencies from dotnet/aspnetcore (#4591)
dotnet-maestro[bot] Oct 22, 2023
d74d9f4
Fix MakeApiBaselines.ps1 script (#4587)
iliar-turdushev Oct 23, 2023
accbcdb
Delete the extra analyzer package, and update associated files (#4598)
geeknoid Oct 23, 2023
bfecbbb
Delete the AutoClient (#4596)
geeknoid Oct 23, 2023
02c8641
Aligning metrics with OTel semantic conventions (#4482)
xakep139 Oct 23, 2023
14fb52b
Microsoft.Extensions.StaticAnalysis Readme (#4594)
Tratcher Oct 23, 2023
5333172
AsyncState (#4607)
Tratcher Oct 23, 2023
e3490f7
Adding Microsoft.Extensions.ObjectPool.DependencyInjection readme fil…
sebastienros Oct 23, 2023
ca37d72
Use the same naming rules for the names of logging dimensions (#4545)
iliar-turdushev Oct 23, 2023
a677e54
Update dependencies from https://github.com/dotnet/arcade build 20231…
dotnet-maestro[bot] Oct 23, 2023
65260e9
Drop FailureResultContext (#4600)
martintmk Oct 24, 2023
4455470
Adding ExceptionSummarization readme (#4610)
sebastienros Oct 24, 2023
6602e6a
Improve benchmarks (#4612)
martintmk Oct 24, 2023
4da6a86
Refresh repo README (#4605)
geeknoid Oct 24, 2023
82cc116
[release/8.0] Update dependencies from dotnet/aspnetcore (#4615)
dotnet-maestro[bot] Oct 25, 2023
5cd948d
Add readme for Microsoft.Extensions.Compliance.Abstractions (#4616)
sebastienros Oct 25, 2023
bc355d9
Revamp data classification model. (#4593)
geeknoid Oct 26, 2023
83b9004
Rename Microsoft.Extensions.Diagnostics.Extra* -> Microsoft.Extension…
joperezr Oct 26, 2023
bb2bdb8
Add readme for Ambient Metadata (#4619)
Tratcher Oct 27, 2023
d7df477
Fix trim warning in ResilienceHandlerContext (#4626)
github-actions[bot] Oct 27, 2023
56133fb
Adding README for Microsoft.Extensions.EnumStrings (#4621)
joperezr Oct 27, 2023
fdd2edf
Update dependencies from https://github.com/dotnet/arcade build 20231…
dotnet-maestro[bot] Oct 30, 2023
c335af4
Fix standard hedging (#4633)
martintmk Oct 30, 2023
cd6bd1c
Addresses #4634 (#4638)
geeknoid Oct 30, 2023
a8ba3ee
Marking assemblies and packages stable (#4635)
joperezr Oct 30, 2023
44b5773
Bulk fill readmes (#4636)
Tratcher Oct 30, 2023
1e2ad7c
Report code coverage to GitHub (#4574)
RussKie Oct 31, 2023
9f5a930
Removing Microsoft.Extensions.EnumStrings (#4639)
joperezr Oct 31, 2023
38d7fb3
Fix typo in HeaderParsing readme (#4645)
sebastienros Oct 31, 2023
e92a78d
Add Compliance.Redaction readme (#4644)
sebastienros Nov 1, 2023
ebafbeb
Expand Contextual Options readme (#4650)
Tratcher Nov 1, 2023
971b6f3
Fix inconsistent signature of `GetOptions` method (#4647)
martintmk Nov 2, 2023
b314c00
Fix the name of a value of the system.network.state dimension (#4651)
iliar-turdushev Nov 2, 2023
e51e809
Resilience readme, namespace (#4659)
Tratcher Nov 2, 2023
0ce623b
Have dev packages produce non-stable package versions. (#4662)
joperezr Nov 3, 2023
0bcda4d
Mark experimental packages (#4664)
RussKie Nov 3, 2023
f8ddd93
Improve sensitive data detection when logging records (#4658)
xakep139 Nov 4, 2023
9921fb5
Add Microsoft.Extensions.Compliance.Testing readme (#4660)
sebastienros Nov 6, 2023
22b61e2
Http resilience readme (#4663)
Tratcher Nov 6, 2023
96b14eb
Adding Microsoft.Extensions.Telemetry README (#4671)
joperezr Nov 6, 2023
f06f5aa
Adding Microsoft.Extensions.Telemetry.Abstractions README (#4670)
joperezr Nov 6, 2023
882e12c
Readme for Microsoft.Extensions.Http.Diagnostics (#4674)
xakep139 Nov 7, 2023
484e07a
Resources Health Check ReadMe (#4678)
Tratcher Nov 7, 2023
9104562
Diagnostics.Probes readme (#4682)
Tratcher Nov 7, 2023
b00aa5f
Auto activation readme (#4681)
sebastienros Nov 8, 2023
b475cf7
Fix hedging for primary callbacks (#4686)
martintmk Nov 8, 2023
cc3d912
Microsoft.Extensions.Diagnostics.HealthChecks.Common README (#4680)
dariusclay Nov 8, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions Directory.Build.targets
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
<NoWarn>$(NoWarn);AD0001</NoWarn>

<!-- Experimental warnings are for customers, not for this repo -->
<NoWarn>$(NoWarn);EXTEXP0001;EXTEXP0002;EXTEXP0003;EXTEXP0004;EXTEXP0005;EXTEXP0006;EXTEXP0007;EXTEXP0008;EXTEXP0009;EXTEXP0010;EXTEXP0011;EXTEXP0012;EXTEXP0013</NoWarn>
<NoWarn>$(NoWarn);EXTEXP0001;EXTEXP0002;EXTEXP0003;EXTEXP0004;EXTEXP0005;EXTEXP0006;EXTEXP0007;EXTEXP0008;EXTEXP0009;EXTEXP0010;EXTEXP0011;EXTEXP0012;EXTEXP0013;EXTEXP0014;EXTEXP0015;EXTEXP0016;EXTEXP0017</NoWarn>

<!-- NU5104: A stable release of a package should not have a prerelease dependency -->
<NoWarn>$(NoWarn);NU5104</NoWarn>
Expand All @@ -53,7 +53,7 @@

<ItemGroup Condition="'$(Stage)' == 'dev' AND '$(OutputType)' != 'Exe' AND '$(Api)' != 'false'">
<AssemblyAttribute Include="System.Diagnostics.CodeAnalysis.ExperimentalAttribute">
<_Parameter1>TBD</_Parameter1>
<_Parameter1>$(StageDevDiagnosticId)</_Parameter1>
<_Parameter2>UrlFormat = "https://aka.ms/dotnet-extensions-warnings/{0}"</_Parameter2>
<_Parameter2_IsLiteral>true</_Parameter2_IsLiteral>
</AssemblyAttribute>
Expand Down
8 changes: 8 additions & 0 deletions NuGet.config
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
<configuration>
<packageSources>
<clear />
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
<!-- Begin: Package sources from dotnet-runtime -->
<add key="darc-pub-dotnet-runtime-488a8a3" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-runtime-488a8a35/nuget/v3/index.json" />
<!-- End: Package sources from dotnet-runtime -->
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
<!-- Arcade -->
<add key="dotnet-public" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" />
<add key="dotnet-eng" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
Expand All @@ -14,6 +19,9 @@
<!-- Define mappings by adding package patterns beneath the target source.
https://aka.ms/nuget-package-source-mapping -->
<packageSourceMapping>
<packageSource key="darc-pub-dotnet-runtime-488a8a3">
<package pattern="*" />
</packageSource>
<packageSource key="dotnet-public">
<package pattern="*" />
</packageSource>
Expand Down
9 changes: 3 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,14 @@

This repository contains a suite of libraries that provide facilities commonly needed when creating production-ready applications. Initially developed to support high-scale and high-availability services within Microsoft, such as Microsoft Teams, these libraries deliver functionality that can help make applications more efficient, more robust, and more manageable.

The code in this repo is preliminary and will be released in stable form with .NET 8

The major functional areas this repo addresses are:
- Compliance: Mechanisms to help manage application data according to privacy regulations and policies, which includes a data annotation framework, supporting analyzers, audit report generation, and telemetry redaction.
- Compliance: Mechanisms to help manage application data according to privacy regulations and policies, which includes a data annotation framework, audit report generation, and telemetry redaction.
- Diagnostics: Provides a set of APIs that can be used to gather and report diagnostic information about the health of a service.
- Contextual Options: Extends the .NET Options model to enable experimentations in production.
- Resilience: Builds on top of the popular Polly library to provide sophisticated resilience pipelines along with support for chaos engineering to make applications robust to transient errors.
- Resilience: Builds on top of the popular Polly library to provide sophisticated resilience pipelines to make applications robust to transient errors.
- Telemetry: Sophisticated telemetry facilities provide enhanced logging, metering, tracing, and latency measuring functionality.
- AspNetCore extensions: Provides different middlewares and extensions that can be used to build high-performance and high-availability ASP.NET Core services.
- Cloud Abstractions: A growing set of abstractions representing common cloud-native service types, making it possible to write applications that can work across multiple cloud providers with relative ease.
- Static Analysis: Provides a set of Roslyn analyzers that can be used to enforce best practices and coding standards.
- Static Analysis: Curated static analysis settings to help improve your code.
- Testing: Dramatically simplifies testing around common .NET abstractions such as ILogger and the TimeProvider.

[![Build Status](https://dev.azure.com/dnceng/internal/_apis/build/status/r9/dotnet-r9?branchName=main)](https://dev.azure.com/dnceng/internal/_build/latest?definitionId=1223&branchName=main)
Expand Down
22 changes: 4 additions & 18 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,27 +56,18 @@ variables:

- name: runAsPublic
value: ${{ eq(variables['System.TeamProject'], 'public') }}

- name: _BuildConfig
value: Release
- name: isOfficialBuild
value: ${{ and(ne(variables['runAsPublic'], 'true'), notin(variables['Build.Reason'], 'PullRequest')) }}
- name: IsDeltaBuild
value: ${{ eq(variables['Build.Reason'], 'PullRequest') }}
- name: Build.Arcade.ArtifactsPath
value: $(Build.SourcesDirectory)/artifacts/
- name: Build.Arcade.LogsPath
value: $(Build.Arcade.ArtifactsPath)log/$(_BuildConfig)/
- name: Build.Arcade.TestResultsPath
value: $(Build.Arcade.ArtifactsPath)TestResults/$(_BuildConfig)/

# For full build we can do a shallow build, for a delta build we need the full history.
- ${{ if eq(variables['IsDeltaBuild'], 'true') }}:
- name: _FetchDepth
value: 0
- ${{ else }}:
- name: _FetchDepth
value: 1

- ${{ if or(startswith(variables['Build.SourceBranch'], 'refs/heads/release/'), startswith(variables['Build.SourceBranch'], 'refs/heads/internal/release/'), eq(variables['Build.Reason'], 'Manual')) }}:
- name: PostBuildSign
value: false
Expand Down Expand Up @@ -163,7 +154,7 @@ stages:
- checkout: self
clean: true
persistCredentials: true
fetchDepth: $(_FetchDepth)
fetchDepth: 1

steps:
- template: /eng/pipelines/templates/BuildAndTest.yml
Expand All @@ -173,7 +164,6 @@ stages:
repoLogPath: $(Build.Arcade.LogsPath)
repoTestResultsPath: $(Build.Arcade.TestResultsPath)
skipQualityGates: ${{ eq(variables['SkipQualityGates'], 'true') }}
isDeltaBuild: $(IsDeltaBuild)
isWindows: true
warnAsError: 0

Expand All @@ -200,7 +190,7 @@ stages:
- checkout: self
clean: true
persistCredentials: true
fetchDepth: $(_FetchDepth)
fetchDepth: 1

steps:
- template: /eng/pipelines/templates/BuildAndTest.yml
Expand All @@ -210,7 +200,6 @@ stages:
repoLogPath: $(Build.Arcade.LogsPath)
repoTestResultsPath: $(Build.Arcade.TestResultsPath)
skipQualityGates: ${{ eq(variables['SkipQualityGates'], 'true') }}
isDeltaBuild: $(IsDeltaBuild)
isWindows: false
warnAsError: 0

Expand Down Expand Up @@ -262,8 +251,6 @@ stages:
displayName: Init toolset

- template: /eng/pipelines/templates/VerifyCoverageReport.yml
parameters:
isDeltaBuild: $(IsDeltaBuild)


# ----------------------------------------------------------------
Expand Down Expand Up @@ -304,7 +291,7 @@ stages:
- checkout: self
clean: true
persistCredentials: true
fetchDepth: $(_FetchDepth)
fetchDepth: 1

steps:
- template: \eng\pipelines\templates\BuildAndTest.yml
Expand All @@ -315,7 +302,6 @@ stages:
repoTestResultsPath: $(Build.Arcade.TestResultsPath)
skipTests: true
skipQualityGates: true
isDeltaBuild: $(IsDeltaBuild)
isWindows: false


Expand Down
49 changes: 47 additions & 2 deletions bench/.editorconfig
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Created by DiagConfig, the diagnostic config generator
# Generated : 2023-08-07 17:59:53Z
# Generated : 2023-10-22 00:37:47Z
# Max Tier : 2147483647
# Attributes: general, performance
# Analyzers : ILLink.RoslynAnalyzer, Microsoft.Analyzers.Extra, Microsoft.Analyzers.Local, Microsoft.AspNetCore.App.Analyzers, Microsoft.AspNetCore.Components.Analyzers, Microsoft.CodeAnalysis.CodeStyle, Microsoft.CodeAnalysis.CSharp.CodeStyle, Microsoft.CodeAnalysis.CSharp.NetAnalyzers, Microsoft.CodeAnalysis.NetAnalyzers, Microsoft.VisualStudio.Threading.Analyzers, Microsoft.VisualStudio.Threading.Analyzers.CSharp, SonarAnalyzer.CSharp, StyleCop.Analyzers
Expand Down Expand Up @@ -868,7 +868,7 @@ dotnet_diagnostic.CA1860.severity = warning
# Help Link: https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1861
dotnet_diagnostic.CA1861.severity = suggestion

# Title : Prefer using 'StringComparer' to perform case-insensitive string comparisons
# Title : Use the 'StringComparison' method overloads to perform case-insensitive string comparisons
# Category : Performance
# Help Link: https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1862
dotnet_diagnostic.CA1862.severity = warning
Expand Down Expand Up @@ -903,6 +903,16 @@ dotnet_diagnostic.CA1867.severity = warning
# Help Link: https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1868
dotnet_diagnostic.CA1868.severity = warning

# Title : Cache and reuse 'JsonSerializerOptions' instances
# Category : Performance
# Help Link: https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1869
dotnet_diagnostic.CA1869.severity = warning

# Title : Use a cached 'SearchValues' instance
# Category : Performance
# Help Link: https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1870
dotnet_diagnostic.CA1870.severity = warning

# Title : Dispose objects before losing scope
# Category : Reliability
# Help Link: https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2000
Expand Down Expand Up @@ -1720,62 +1730,77 @@ dotnet_diagnostic.CA5405.severity = none

# Title : Use source generated logging methods for improved performance
# Category : Performance
# Help Link: https://aka.ms/dotnet-extensions-warnings/EA0000
dotnet_diagnostic.EA0000.severity = warning

# Title : Perform message formatting in the body of the logging method
# Category : Performance
# Help Link: https://aka.ms/dotnet-extensions-warnings/EA0001
dotnet_diagnostic.EA0001.severity = warning

# Title : Use 'System.TimeProvider' to make the code easier to test
# Category : Reliability
# Help Link: https://aka.ms/dotnet-extensions-warnings/EA0002
dotnet_diagnostic.EA0002.severity = none

# Title : Use the character-based overloads of 'String.StartsWith' or 'String.EndsWith'
# Category : Performance
# Help Link: https://aka.ms/dotnet-extensions-warnings/EA0003
dotnet_diagnostic.EA0003.severity = warning

# Title : Make types declared in an executable internal
# Category : Performance
# Help Link: https://aka.ms/dotnet-extensions-warnings/EA0004
dotnet_diagnostic.EA0004.severity = warning

# Title : Consider using an array instead of a collection
# Category : Performance
# Help Link: https://aka.ms/dotnet-extensions-warnings/EA0005
dotnet_diagnostic.EA0005.severity = none

# Title : Replace uses of 'Enum.GetName' and 'Enum.ToString' for improved performance
# Category : Performance
# Help Link: https://aka.ms/dotnet-extensions-warnings/EA0006
dotnet_diagnostic.EA0006.severity = warning

# Title : Use 'System.ValueTuple' instead of 'System.Tuple' for improved performance
# Category : Performance
# Help Link: https://aka.ms/dotnet-extensions-warnings/EA0007
dotnet_diagnostic.EA0007.severity = warning

# Title : Use generic collections instead of legacy collections for improved performance
# Category : Performance
# Help Link: https://aka.ms/dotnet-extensions-warnings/EA0008
dotnet_diagnostic.EA0008.severity = warning

# Title : Use 'System.MemoryExtensions.Split' for improved performance
# Category : Performance
# Help Link: https://aka.ms/dotnet-extensions-warnings/EA0009
dotnet_diagnostic.EA0009.severity = warning

# Title : Fire-and-forget async call inside a 'using' block
# Category : Correctness
# Help Link: https://aka.ms/dotnet-extensions-warnings/EA0010
dotnet_diagnostic.EA0010.severity = warning

# Title : Consider removing unnecessary conditional access operator (?)
# Category : Performance
# Help Link: https://aka.ms/dotnet-extensions-warnings/EA0011
dotnet_diagnostic.EA0011.severity = warning

# Title : Consider removing unnecessary null coalescing assignment (??=)
# Category : Performance
# Help Link: https://aka.ms/dotnet-extensions-warnings/EA0012
dotnet_diagnostic.EA0012.severity = suggestion

# Title : Consider removing unnecessary null coalescing operator (??)
# Category : Performance
# Help Link: https://aka.ms/dotnet-extensions-warnings/EA0013
dotnet_diagnostic.EA0013.severity = suggestion

# Title : The async method doesn't support cancellation
# Category : Resilience
# Help Link: https://aka.ms/dotnet-extensions-warnings/EA0014
dotnet_diagnostic.EA0014.severity = none

# Title : Set MSBuild property 'GenerateDocumentationFile' to 'true'
Expand Down Expand Up @@ -2408,6 +2433,26 @@ dotnet_diagnostic.IDE0300.severity = none
# Help Link: https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0301
dotnet_diagnostic.IDE0301.severity = suggestion

# Title : Simplify collection initialization
# Category : Style
# Help Link: https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0302
dotnet_diagnostic.IDE0302.severity = none

# Title : Simplify collection initialization
# Category : Style
# Help Link: https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0303
dotnet_diagnostic.IDE0303.severity = none

# Title : Simplify collection initialization
# Category : Style
# Help Link: https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0304
dotnet_diagnostic.IDE0304.severity = none

# Title : Simplify collection initialization
# Category : Style
# Help Link: https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0305
dotnet_diagnostic.IDE0305.severity = none

# Title : Delegate invocation can be simplified.
# Category : Style
# Help Link: https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide1005
Expand Down
Loading