diff --git a/HdrHistogram.Benchmarking/HdrHistogram.Benchmarking.csproj b/HdrHistogram.Benchmarking/HdrHistogram.Benchmarking.csproj index 61b025b..8cda37b 100644 --- a/HdrHistogram.Benchmarking/HdrHistogram.Benchmarking.csproj +++ b/HdrHistogram.Benchmarking/HdrHistogram.Benchmarking.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net10.0;net9.0;net8.0 diff --git a/HdrHistogram.Examples/HdrHistogram.Examples.csproj b/HdrHistogram.Examples/HdrHistogram.Examples.csproj index 36b80e7..ca04f59 100644 --- a/HdrHistogram.Examples/HdrHistogram.Examples.csproj +++ b/HdrHistogram.Examples/HdrHistogram.Examples.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net10.0 diff --git a/HdrHistogram.UnitTests/HdrHistogram.UnitTests.csproj b/HdrHistogram.UnitTests/HdrHistogram.UnitTests.csproj index 6c96532..4380f81 100644 --- a/HdrHistogram.UnitTests/HdrHistogram.UnitTests.csproj +++ b/HdrHistogram.UnitTests/HdrHistogram.UnitTests.csproj @@ -1,7 +1,7 @@  - net8.0 + net10.0;net9.0;net8.0 diff --git a/HdrHistogram/HdrHistogram.csproj b/HdrHistogram/HdrHistogram.csproj index 88dedf7..26279d1 100644 --- a/HdrHistogram/HdrHistogram.csproj +++ b/HdrHistogram/HdrHistogram.csproj @@ -1,7 +1,7 @@  - net8.0;netstandard2.0 + net10.0;net9.0;net8.0;netstandard2.0 HdrHistogram supports low latency recording and analyzing of sampled data value counts across a configurable integer value range with configurable value precision within the range. Gil Tene, Lee Campbell Net 8.0 release @@ -24,7 +24,15 @@ bin\Release\net8.0\HdrHistogram.xml - + + + bin\Release\net9.0\HdrHistogram.xml + + + + bin\Release\net10.0\HdrHistogram.xml + + bin\Release\netstandard2.0\HdrHistogram.xml RELEASE;NETSTANDARD2_0 diff --git a/HdrHistogram/HistogramLogReader.cs b/HdrHistogram/HistogramLogReader.cs index 1a98b4d..c861b59 100644 --- a/HdrHistogram/HistogramLogReader.cs +++ b/HdrHistogram/HistogramLogReader.cs @@ -18,7 +18,7 @@ public sealed class HistogramLogReader : IDisposable, IHistogramLogV1Reader private static readonly Regex BaseTimeMatcher = new Regex(@"#\[BaseTime: (?\d*\.\d{1,3}) ", RegexOptions.Compiled); //Content lines - format = startTimestamp, intervalLength, maxTime, histogramPayload private static readonly Regex UntaggedLogLineMatcher = new Regex(@"(?\d*\.\d*),(?\d*\.\d*),(?\d*\.\d*),(?.*)", RegexOptions.Compiled); - private static readonly Regex TaggedLogLineMatcher = new Regex(@"((?Tag=.+),)?(?\d*\.\d*),(?\d*\.\d*),(?\d*\.\d*),(?.*)", RegexOptions.Compiled); + private static readonly Regex TaggedLogLineMatcher = new Regex(@"((?Tag=[^,]+),)?(?\d*\.\d*),(?\d*\.\d*),(?\d*\.\d*),(?.*)", RegexOptions.Compiled); private readonly TextReader _log; private double _startTimeInSeconds; diff --git a/autonomous/Dockerfile b/autonomous/Dockerfile index 092588e..053ba65 100644 --- a/autonomous/Dockerfile +++ b/autonomous/Dockerfile @@ -2,8 +2,11 @@ # HdrHistogram.NET Agent Container # .NET SDK + Claude Code + gh CLI + firewall # ============================================================================= -FROM mcr.microsoft.com/dotnet/sdk:9.0-bookworm-slim +FROM mcr.microsoft.com/dotnet/sdk:10.0-bookworm-slim RUN dotnet_version=8.0 \ + && curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin \ + --runtime dotnet --channel $dotnet_version --install-dir /usr/share/dotnet \ + && dotnet_version=9.0 \ && curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin \ --runtime dotnet --channel $dotnet_version --install-dir /usr/share/dotnet diff --git a/spec/tech-standards/build-system.md b/spec/tech-standards/build-system.md index f78100c..0792541 100644 --- a/spec/tech-standards/build-system.md +++ b/spec/tech-standards/build-system.md @@ -22,26 +22,28 @@ HdrHistogram.sln ### Main Library (HdrHistogram.csproj) ```xml -net8.0;netstandard2.0 +net10.0;net9.0;net8.0;netstandard2.0 ``` | Target | Description | |--------|-------------| -| `net8.0` | Modern .NET (primary target) | +| `net10.0` | Modern .NET (current LTS target) | +| `net9.0` | Modern .NET (STS target) | +| `net8.0` | Modern .NET (LTS target) | | `netstandard2.0` | Broad compatibility (.NET Framework 4.6.1+, .NET Core 2.0+) | ### Test Project ```xml -net8.0 +net10.0;net9.0;net8.0 ``` ### Benchmarking Project -Targets the current LTS runtime only (developer tool, not a shipped library): +Targets all supported modern runtimes (developer tool, not a shipped library): ```xml -net8.0 +net10.0;net9.0;net8.0 ``` ## Dependencies @@ -224,7 +226,9 @@ dotnet run -c Release -- -f *Recording* ### Benchmark Configuration BenchmarkDotNet is used with these targets: -- `net8.0` (current LTS runtime) +- `net10.0` (current LTS runtime) +- `net9.0` (STS runtime) +- `net8.0` (LTS runtime) - Windows diagnostics support - Memory allocation tracking @@ -251,7 +255,7 @@ HdrHistogram/bin/{Configuration}/{TargetFramework}/ ### Prerequisites -- .NET 8.0 SDK (or later) +- .NET 10.0 SDK (or later) - Visual Studio 2022 (optional, for IDE development) - Git