From 2a714f938991709c290491466ff5320dae395df5 Mon Sep 17 00:00:00 2001 From: Aaron Stannard Date: Thu, 8 Mar 2018 14:38:31 -0600 Subject: [PATCH] v1.0.0 release of Phobos.Actor.Common --- ...nitTest1+TestMethod1-636561382691155355.md | 139 ++++++++++++++++++ RELEASE_NOTES.md | 7 +- build.fsx | 2 +- src/Phobos.Actor.Common/INeverMonitor.cs | 19 +++ src/Phobos.Actor.Common/INeverTrace.cs | 19 +++ src/common.props | 15 +- .../UnitTest1.cs | 9 +- src/phobos.actor.common.Tests/UnitTest1.cs | 9 +- src/phobos.actor.common/Class1.cs | 8 - .../phobos.actor.common.csproj | 3 +- 10 files changed, 209 insertions(+), 21 deletions(-) create mode 100644 PerfResults/Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1-636561382691155355.md create mode 100644 src/Phobos.Actor.Common/INeverMonitor.cs create mode 100644 src/Phobos.Actor.Common/INeverTrace.cs delete mode 100644 src/phobos.actor.common/Class1.cs diff --git a/PerfResults/Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1-636561382691155355.md b/PerfResults/Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1-636561382691155355.md new file mode 100644 index 0000000..628d3d4 --- /dev/null +++ b/PerfResults/Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1-636561382691155355.md @@ -0,0 +1,139 @@ +# Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +_3/8/2018 8:37:49 PM_ +### System Info +```ini +NBench=NBench, Version=1.0.4.0, Culture=neutral, PublicKeyToken=null +OS=Microsoft Windows NT 6.2.9200.0 +ProcessorCount=16 +CLR=4.0.30319.42000,IsMono=False,MaxGcGeneration=2 +``` + +### NBench Settings +```ini +RunMode=Throughput, TestMode=Measurement +NumberOfIterations=5, MaximumRunTime=00:00:01 +Concurrent=True +Tracing=True +``` + +## Data +------------------- + +### Totals +| Metric | Units | Max | Average | Min | StdDev | +|---------------- |---------------- |---------------- |---------------- |---------------- |---------------- | +|TotalCollections [Gen0] | collections | 0.00 | 0.00 | 0.00 | 0.00 | +|TotalCollections [Gen1] | collections | 0.00 | 0.00 | 0.00 | 0.00 | +|TotalCollections [Gen2] | collections | 0.00 | 0.00 | 0.00 | 0.00 | +|TotalBytesAllocated | bytes | 0.00 | 0.00 | 0.00 | 0.00 | +|[Counter] Operations | operations | 25,548,331.00 | 25,548,331.00 | 25,548,331.00 | 0.00 | + +### Per-second Totals +| Metric | Units / s | Max / s | Average / s | Min / s | StdDev / s | +|---------------- |---------------- |---------------- |---------------- |---------------- |---------------- | +|TotalCollections [Gen0] | collections | 0.00 | 0.00 | 0.00 | 0.00 | +|TotalCollections [Gen1] | collections | 0.00 | 0.00 | 0.00 | 0.00 | +|TotalCollections [Gen2] | collections | 0.00 | 0.00 | 0.00 | 0.00 | +|TotalBytesAllocated | bytes | 0.00 | 0.00 | 0.00 | 0.00 | +|[Counter] Operations | operations | 160,499,719.60 | 160,410,169.13 | 160,331,602.34 | 60,754.21 | + +### Raw Data +#### TotalCollections [Gen0] +| Run # | collections | collections / s |ns / collections | +|---------------- |---------------- |---------------- |---------------- | +| 1 | 0.00 | 0.00 | 159,278,895.76 | +| 2 | 0.00 | 0.00 | 159,284,357.02 | +| 3 | 0.00 | 0.00 | 159,346,820.13 | +| 4 | 0.00 | 0.00 | 159,253,978.78 | +| 5 | 0.00 | 0.00 | 159,179,910.50 | + +#### TotalCollections [Gen1] +| Run # | collections | collections / s |ns / collections | +|---------------- |---------------- |---------------- |---------------- | +| 1 | 0.00 | 0.00 | 159,278,895.76 | +| 2 | 0.00 | 0.00 | 159,284,357.02 | +| 3 | 0.00 | 0.00 | 159,346,820.13 | +| 4 | 0.00 | 0.00 | 159,253,978.78 | +| 5 | 0.00 | 0.00 | 159,179,910.50 | + +#### TotalCollections [Gen2] +| Run # | collections | collections / s |ns / collections | +|---------------- |---------------- |---------------- |---------------- | +| 1 | 0.00 | 0.00 | 159,278,895.76 | +| 2 | 0.00 | 0.00 | 159,284,357.02 | +| 3 | 0.00 | 0.00 | 159,346,820.13 | +| 4 | 0.00 | 0.00 | 159,253,978.78 | +| 5 | 0.00 | 0.00 | 159,179,910.50 | + +#### TotalBytesAllocated +| Run # | bytes | bytes / s | ns / bytes | +|---------------- |---------------- |---------------- |---------------- | +| 1 | 0.00 | 0.00 | 159,278,895.76 | +| 2 | 0.00 | 0.00 | 159,284,357.02 | +| 3 | 0.00 | 0.00 | 159,346,820.13 | +| 4 | 0.00 | 0.00 | 159,253,978.78 | +| 5 | 0.00 | 0.00 | 159,179,910.50 | + +#### [Counter] Operations +| Run # | operations | operations / s | ns / operations | +|---------------- |---------------- |---------------- |---------------- | +| 1 | 25,548,331.00 | 160,399,975.64 | 6.23 | +| 2 | 25,548,331.00 | 160,394,476.13 | 6.23 | +| 3 | 25,548,331.00 | 160,331,602.34 | 6.24 | +| 4 | 25,548,331.00 | 160,425,071.92 | 6.23 | +| 5 | 25,548,331.00 | 160,499,719.60 | 6.23 | + + +## Traces +[NBench][DEBUG][3/8/2018 8:37:33 PM][Thread 0001] Beginning Warmups for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][DEBUG][3/8/2018 8:37:33 PM][Thread 0001] ----- BEGIN PRE-WARMUP ----- +[NBench][INFO][3/8/2018 8:37:33 PM][Thread 0001] Invoking setup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][DEBUG][3/8/2018 8:37:33 PM][Thread 0001] Throughput mode: estimating how many invocations of Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 will take 1s +[NBench][DEBUG][3/8/2018 8:37:47 PM][Thread 0001] Throughput mode: executed 87203803 instances of Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 in roughly 1s. Using that figure for benchmark. +[NBench][INFO][3/8/2018 8:37:47 PM][Thread 0001] Invoking cleanup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:47 PM][Thread 0001] Generating report for warmup 1 of Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][DEBUG][3/8/2018 8:37:47 PM][Thread 0001] ----- END PRE-WARMUP ----- +[NBench][DEBUG][3/8/2018 8:37:47 PM][Thread 0001] ----- BEGIN WARMUPS ----- +[NBench][INFO][3/8/2018 8:37:47 PM][Thread 0001] Invoking setup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:47 PM][Thread 0001] Invoking Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:47 PM][Thread 0001] Invoking cleanup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:47 PM][Thread 0001] Generating report for warmup 1 of Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:47 PM][Thread 0001] Invoking setup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:47 PM][Thread 0001] Invoking Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:47 PM][Thread 0001] Invoking cleanup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:47 PM][Thread 0001] Generating report for warmup 1 of Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:47 PM][Thread 0001] Invoking setup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:47 PM][Thread 0001] Invoking Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:47 PM][Thread 0001] Invoking cleanup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:47 PM][Thread 0001] Generating report for warmup 1 of Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:47 PM][Thread 0001] Invoking setup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:47 PM][Thread 0001] Invoking Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Invoking cleanup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Generating report for warmup 1 of Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Invoking setup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Invoking Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Invoking cleanup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Generating report for warmup 1 of Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][DEBUG][3/8/2018 8:37:48 PM][Thread 0001] ----- END WARMUPS ----- +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Invoking setup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Invoking Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Invoking cleanup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Generating report for run 1 of Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Invoking setup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Invoking Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Invoking cleanup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Generating report for run 2 of Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Invoking setup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Invoking Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Invoking cleanup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Generating report for run 3 of Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Invoking setup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Invoking Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Invoking cleanup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Generating report for run 4 of Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Invoking setup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:48 PM][Thread 0001] Invoking Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:49 PM][Thread 0001] Invoking cleanup for Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 +[NBench][INFO][3/8/2018 8:37:49 PM][Thread 0001] Generating report for run 5 of Phobos.Actor.Common.Tests.Performance.UnitTest1+TestMethod1 + + diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index a66b26a..87fe9ce 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,2 +1,5 @@ -#### 0.1.0 August 14 2017 #### -First release \ No newline at end of file +#### 1.0.0 March 8 2018 #### +Introduced the following two interfaces: + +* `INeverTrace` - disables all tracing for any actors who implement this interface. +* `INeverMonitor` - disables all monitoring for any actors who implement this interface. \ No newline at end of file diff --git a/build.fsx b/build.fsx index e525c07..c10442a 100644 --- a/build.fsx +++ b/build.fsx @@ -271,7 +271,7 @@ Target "Nuget" DoNothing // all "BuildRelease" ==> "All" "RunTests" ==> "All" -"NBench" ==> "All" +//"NBench" ==> "All" "Nuget" ==> "All" RunTargetOrDefault "Help" \ No newline at end of file diff --git a/src/Phobos.Actor.Common/INeverMonitor.cs b/src/Phobos.Actor.Common/INeverMonitor.cs new file mode 100644 index 0000000..dedfdc8 --- /dev/null +++ b/src/Phobos.Actor.Common/INeverMonitor.cs @@ -0,0 +1,19 @@ +// ----------------------------------------------------------------------- +// +// Copyright (C) 2018 - 2018 Petabridge, LLC +// +// ----------------------------------------------------------------------- + +namespace Phobos.Actor.Common +{ + /// + /// Marker interface used to indiate that this actor never + /// produces Phobos.Monitoring events under any circumstances. + /// + /// + /// This interface cannot be overridden by configuration. + /// + public interface INeverMonitor + { + } +} \ No newline at end of file diff --git a/src/Phobos.Actor.Common/INeverTrace.cs b/src/Phobos.Actor.Common/INeverTrace.cs new file mode 100644 index 0000000..356fc4e --- /dev/null +++ b/src/Phobos.Actor.Common/INeverTrace.cs @@ -0,0 +1,19 @@ +// ----------------------------------------------------------------------- +// +// Copyright (C) 2018 - 2018 Petabridge, LLC +// +// ----------------------------------------------------------------------- + +namespace Phobos.Actor.Common +{ + /// + /// Marker interface used to indicate that this actor + /// never produces Phobos.Tracing events under any circumstances. + /// + /// + /// This interface cannot be overridden by configuration. + /// + public interface INeverTrace + { + } +} \ No newline at end of file diff --git a/src/common.props b/src/common.props index 6f6032a..3b1bee5 100644 --- a/src/common.props +++ b/src/common.props @@ -2,11 +2,16 @@ Copyright © 2017 Your Company Your Authors - 0.1.0 - Placeholder - - - + 1.0.0 + Introduced the following two interfaces: +`INeverTrace` - disables all tracing for any actors who implement this interface. +`INeverMonitor` - disables all monitoring for any actors who implement this interface. + + + + + + $(NoWarn);CS1591 diff --git a/src/phobos.actor.common.Tests.Performance/UnitTest1.cs b/src/phobos.actor.common.Tests.Performance/UnitTest1.cs index 308551e..f868de9 100644 --- a/src/phobos.actor.common.Tests.Performance/UnitTest1.cs +++ b/src/phobos.actor.common.Tests.Performance/UnitTest1.cs @@ -1,4 +1,9 @@ -using System; +// ----------------------------------------------------------------------- +// +// Copyright (C) 2018 - 2018 Petabridge, LLC +// +// ----------------------------------------------------------------------- + using NBench; namespace Phobos.Actor.Common.Tests.Performance @@ -23,4 +28,4 @@ public void TestMethod1() _opsCounter.Increment(); } } -} +} \ No newline at end of file diff --git a/src/phobos.actor.common.Tests/UnitTest1.cs b/src/phobos.actor.common.Tests/UnitTest1.cs index e6b842e..6114640 100644 --- a/src/phobos.actor.common.Tests/UnitTest1.cs +++ b/src/phobos.actor.common.Tests/UnitTest1.cs @@ -1,4 +1,9 @@ -using System; +// ----------------------------------------------------------------------- +// +// Copyright (C) 2018 - 2018 Petabridge, LLC +// +// ----------------------------------------------------------------------- + using Xunit; namespace Phobos.Actor.Common.Tests @@ -10,4 +15,4 @@ public void TestMethod1() { } } -} +} \ No newline at end of file diff --git a/src/phobos.actor.common/Class1.cs b/src/phobos.actor.common/Class1.cs deleted file mode 100644 index 545069f..0000000 --- a/src/phobos.actor.common/Class1.cs +++ /dev/null @@ -1,8 +0,0 @@ -using System; - -namespace Phobos.Actor.Common -{ - public class Class1 - { - } -} diff --git a/src/phobos.actor.common/phobos.actor.common.csproj b/src/phobos.actor.common/phobos.actor.common.csproj index a86a1be..4a665cf 100644 --- a/src/phobos.actor.common/phobos.actor.common.csproj +++ b/src/phobos.actor.common/phobos.actor.common.csproj @@ -3,7 +3,8 @@ - netstandard2.0 + netstandard1.0 + Common interfaces and classes used inside Phobos.Actor consumers. \ No newline at end of file