From 812fef51bb0d1bfe4b1524f2861096ba61e660d7 Mon Sep 17 00:00:00 2001 From: macrogreg Date: Mon, 2 Apr 2018 15:20:56 -0500 Subject: [PATCH 01/41] Metrics: Add Obsolete attribute on the "bad" TrackMetric overload. --- src/Microsoft.ApplicationInsights/TelemetryClient.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Microsoft.ApplicationInsights/TelemetryClient.cs b/src/Microsoft.ApplicationInsights/TelemetryClient.cs index f36b3c4a40..909e29d28b 100644 --- a/src/Microsoft.ApplicationInsights/TelemetryClient.cs +++ b/src/Microsoft.ApplicationInsights/TelemetryClient.cs @@ -224,6 +224,7 @@ public void TrackTrace(TraceTelemetry telemetry) /// Metric name. /// Metric value. /// Named string values you can use to classify and filter metrics. + [Obsolete("Use GetMetric(..) to use SDK pre-aggregation capabilities or Track(ITelemetry metricTelemetry) if you performed your own local aggregation.")] [EditorBrowsable(EditorBrowsableState.Never)] public void TrackMetric(string name, double value, IDictionary properties = null) { From 74bf910735e7d065062323b09a06a40d7e813628 Mon Sep 17 00:00:00 2001 From: macrogreg Date: Fri, 6 Apr 2018 18:53:31 -0500 Subject: [PATCH 02/41] Metrics: Remove Obsolete attribute from the "bad" TrackMetric overload. --- src/Microsoft.ApplicationInsights/TelemetryClient.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Microsoft.ApplicationInsights/TelemetryClient.cs b/src/Microsoft.ApplicationInsights/TelemetryClient.cs index 909e29d28b..f36b3c4a40 100644 --- a/src/Microsoft.ApplicationInsights/TelemetryClient.cs +++ b/src/Microsoft.ApplicationInsights/TelemetryClient.cs @@ -224,7 +224,6 @@ public void TrackTrace(TraceTelemetry telemetry) /// Metric name. /// Metric value. /// Named string values you can use to classify and filter metrics. - [Obsolete("Use GetMetric(..) to use SDK pre-aggregation capabilities or Track(ITelemetry metricTelemetry) if you performed your own local aggregation.")] [EditorBrowsable(EditorBrowsableState.Never)] public void TrackMetric(string name, double value, IDictionary properties = null) { From 59c6d9e0c1a9036050de9b15faaa1f297a8e8478 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Mon, 9 Apr 2018 15:39:31 -0700 Subject: [PATCH 03/41] Ignore vswhere folder --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 9091478e3a..95c4c04613 100644 --- a/.gitignore +++ b/.gitignore @@ -113,6 +113,7 @@ AppPackages/ # Others sql/ +[Vv]swhere/ *.Cache ClientBin/ [Ss]tyle[Cc]op.* From 54e72fce38e86616027a321e2e28897e0fc30e23 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Mon, 9 Apr 2018 16:45:23 -0700 Subject: [PATCH 04/41] Add OperationDetails to Dependency Data --- .../net45/PublicAPI.Unshipped.txt | 1 + .../net46/PublicAPI.Unshipped.txt | 1 + .../netstandard1.3/PublicAPI.Unshipped.txt | 1 + .../DataContracts/DependencyTelemetry.cs | 10 ++++++++++ 4 files changed, 13 insertions(+) diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt index 25823b0593..1b965eaa0e 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt @@ -1,3 +1,4 @@ +Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.OperationDetails.get -> System.Collections.Generic.IDictionary Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.get -> string Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.set -> void Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.get -> Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt index 25823b0593..1b965eaa0e 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt @@ -1,3 +1,4 @@ +Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.OperationDetails.get -> System.Collections.Generic.IDictionary Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.get -> string Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.set -> void Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.get -> Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt index 5ed8f4f71c..6fbabf62ef 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt @@ -1,3 +1,4 @@ +Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.OperationDetails.get -> System.Collections.Generic.IDictionary Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.get -> Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.set -> void Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider diff --git a/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs b/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs index 1c727bbc0f..423790c1e0 100644 --- a/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs +++ b/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs @@ -19,6 +19,7 @@ public sealed class DependencyTelemetry : OperationTelemetry, ITelemetry, ISuppo internal readonly RemoteDependencyData InternalData; private readonly TelemetryContext context; + private readonly IDictionary operationDetails; private double? samplingPercentage; @@ -32,6 +33,7 @@ public DependencyTelemetry() this.InternalData = new RemoteDependencyData(); this.successFieldSet = true; this.context = new TelemetryContext(this.InternalData.properties); + this.operationDetails = new Dictionary(); this.GenerateId(); } @@ -122,6 +124,14 @@ public override string Id set { this.InternalData.id = value; } } + /// + /// Gets the dependency operation details, if any. + /// + public IDictionary OperationDetails + { + get { return this.operationDetails; } + } + /// /// Gets or sets the Result Code. /// From c98359b27739432c72e86bbbf7230f59323545af Mon Sep 17 00:00:00 2001 From: macrogreg Date: Wed, 11 Apr 2018 15:53:09 -0500 Subject: [PATCH 05/41] Metrics: Add MetricNamespace field (work in porogress, not yet tested) --- .../net45/PublicAPI.Unshipped.txt | 3 ++ .../net46/PublicAPI.Unshipped.txt | 3 ++ .../netstandard1.3/PublicAPI.Unshipped.txt | 3 ++ Schema/PublicSchema/DataPoint.bond | 4 ++ .../Generated/DataPoint_types.cs | 6 +++ .../DataContracts/MetricTelemetry.cs | 54 ++++++++++++++++++- .../Implementation/External/DataPoint.cs | 1 + .../External/DataPoint_types.cs | 6 +++ ...pplicationInsightsPipelineConverterBase.cs | 5 +- 9 files changed, 81 insertions(+), 4 deletions(-) diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt index 25823b0593..a1444654c5 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt @@ -1,3 +1,6 @@ +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.get -> string +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.set -> void +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricTelemetry(string metricNamespace, string name, int count, double sum, double min, double max, double standardDeviation) -> void Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.get -> string Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.set -> void Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.get -> Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt index 25823b0593..a1444654c5 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt @@ -1,3 +1,6 @@ +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.get -> string +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.set -> void +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricTelemetry(string metricNamespace, string name, int count, double sum, double min, double max, double standardDeviation) -> void Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.get -> string Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.set -> void Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.get -> Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt index 5ed8f4f71c..e30398dcde 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt @@ -1,3 +1,6 @@ +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.get -> string +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.set -> void +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricTelemetry(string metricNamespace, string name, int count, double sum, double min, double max, double standardDeviation) -> void Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.get -> Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.set -> void Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider diff --git a/Schema/PublicSchema/DataPoint.bond b/Schema/PublicSchema/DataPoint.bond index 03ef91fc0b..05c58ca501 100644 --- a/Schema/PublicSchema/DataPoint.bond +++ b/Schema/PublicSchema/DataPoint.bond @@ -5,6 +5,10 @@ namespace AI [Description("Metric data single measurement.")] struct DataPoint { + [Description("Namespace of the metric.")] + [MaxStringLength("256")] + 5: string metricNamespace; + [Description("Name of the metric.")] [MaxStringLength("1024")] 10: required string name; diff --git a/Test/Microsoft.ApplicationInsights.Test/ApplicationInsightsTypes/Generated/DataPoint_types.cs b/Test/Microsoft.ApplicationInsights.Test/ApplicationInsightsTypes/Generated/DataPoint_types.cs index 2a64b4be13..f4f21736b7 100644 --- a/Test/Microsoft.ApplicationInsights.Test/ApplicationInsightsTypes/Generated/DataPoint_types.cs +++ b/Test/Microsoft.ApplicationInsights.Test/ApplicationInsightsTypes/Generated/DataPoint_types.cs @@ -33,6 +33,11 @@ namespace AI [System.CodeDom.Compiler.GeneratedCode("gbc", "0.10.1.0")] public partial class DataPoint { + [global::Bond.Attribute("Description", "Namespace of the metric.")] + [global::Bond.Attribute("MaxStringLength", "256")] + [global::Bond.Id(5)] + public string metricNamespace { get; set; } + [global::Bond.Attribute("Description", "Name of the metric.")] [global::Bond.Attribute("MaxStringLength", "1024")] [global::Bond.Id(10), global::Bond.Required] @@ -68,6 +73,7 @@ public DataPoint() protected DataPoint(string fullName, string name) { + metricNamespace = ""; this.name = ""; kind = DataPointType.Measurement; } diff --git a/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs b/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs index 37cff360d8..c3d7d18abe 100644 --- a/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs +++ b/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs @@ -51,10 +51,14 @@ public MetricTelemetry(string metricName, double metricValue) : this() /// /// Initializes a new instance of the class with properties provided. - /// Learn more /// /// - /// To send metrics, collect your metric events over an aggregation interval of 1 minute. + /// Metrics should always be pre-aggregated across a time period before being sent. + /// Most applications do not need to explicitly create MetricTelemetry objects. Instead, use one of + /// the GetMetric(..) overloads on the class to get a metric object + /// for accessing SDK pre-aggregation capabilities.
+ /// However, you can use this ctor to create metric telemetry items if you have implemented your own metric + /// aggregation. In that case, use method to send your aggregates. ///
/// Metric name. /// Count of values taken during aggregation interval. @@ -79,6 +83,43 @@ public MetricTelemetry( this.StandardDeviation = standardDeviation; } + /// + /// Initializes a new instance of the class with properties provided. + /// + /// + /// Metrics should always be pre-aggregated across a time period before being sent. + /// Most applications do not need to explicitly create MetricTelemetry objects. Instead, use one of + /// the GetMetric(..) overloads on the class to get a metric object + /// for accessing SDK pre-aggregation capabilities.
+ /// However, you can use this ctor to create metric telemetry items if you have implemented your own metric + /// aggregation. In that case, use method to send your aggregates. + ///
+ /// Metric namespace. + /// Metric name. + /// Count of values taken during aggregation interval. + /// Sum of values taken during aggregation interval. + /// Minimum value taken during aggregation interval. + /// Maximum of values taken during aggregation interval. + /// Standard deviation of values taken during aggregation interval. + public MetricTelemetry( + string metricNamespace, + string name, + int count, + double sum, + double min, + double max, + double standardDeviation) + : this() + { + this.MetricNamespace = metricNamespace; + this.Name = name; + this.Count = count; + this.Sum = sum; + this.Min = min; + this.Max = max; + this.StandardDeviation = standardDeviation; + } + /// /// Initializes a new instance of the class by cloning an existing instance. /// @@ -107,6 +148,15 @@ private MetricTelemetry(MetricTelemetry source) /// public TelemetryContext Context { get; } + /// + /// Gets or sets the name of the metric. + /// + public string MetricNamespace + { + get { return this.Metric.metricNamespace; } + set { this.Metric.metricNamespace = value; } + } + /// /// Gets or sets the name of the metric. /// diff --git a/src/Microsoft.ApplicationInsights/Extensibility/Implementation/External/DataPoint.cs b/src/Microsoft.ApplicationInsights/Extensibility/Implementation/External/DataPoint.cs index a2f99e73a1..ee8a43429e 100644 --- a/src/Microsoft.ApplicationInsights/Extensibility/Implementation/External/DataPoint.cs +++ b/src/Microsoft.ApplicationInsights/Extensibility/Implementation/External/DataPoint.cs @@ -14,6 +14,7 @@ internal partial class DataPoint public DataPoint DeepClone() { var other = new DataPoint(); + other.metricNamespace = this.metricNamespace; other.name = this.name; other.kind = this.kind; other.value = this.value; diff --git a/src/Microsoft.ApplicationInsights/Extensibility/Implementation/External/DataPoint_types.cs b/src/Microsoft.ApplicationInsights/Extensibility/Implementation/External/DataPoint_types.cs index 615ab1c22a..5017f13ec8 100644 --- a/src/Microsoft.ApplicationInsights/Extensibility/Implementation/External/DataPoint_types.cs +++ b/src/Microsoft.ApplicationInsights/Extensibility/Implementation/External/DataPoint_types.cs @@ -37,6 +37,11 @@ internal partial class DataPoint + public string metricNamespace { get; set; } + + + + public string name { get; set; } @@ -69,6 +74,7 @@ public DataPoint() protected DataPoint(string fullName, string name) { + metricNamespace = ""; this.name = ""; kind = DataPointType.Measurement; } diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregateToApplicationInsightsPipelineConverterBase.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregateToApplicationInsightsPipelineConverterBase.cs index d32621adf8..2278ec7a6f 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregateToApplicationInsightsPipelineConverterBase.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregateToApplicationInsightsPipelineConverterBase.cs @@ -221,10 +221,11 @@ private MetricTelemetry ConvertAggregateToTelemetry(MetricAggregate aggregate) { MetricTelemetry telemetryItem = new MetricTelemetry(); - // Set data values: - + telemetryItem.MetricNamespace = aggregate.MetricNamespace; telemetryItem.Name = aggregate.MetricId; + // Set data values: + this.PopulateDataValues(telemetryItem, aggregate); // Set timing values: From 8bbcc1a5ab54f53b43035a4898e280d762afa432 Mon Sep 17 00:00:00 2001 From: macrogreg Date: Fri, 13 Apr 2018 15:33:01 -0500 Subject: [PATCH 06/41] Metrics: Rename 'metricNamespace' to 'ns' in the Bond schema. --- Schema/PublicSchema/DataPoint.bond | 2 +- .../ApplicationInsightsTypes/Generated/DataPoint_types.cs | 4 ++-- .../DataContracts/MetricTelemetry.cs | 4 ++-- .../Extensibility/Implementation/External/DataPoint.cs | 2 +- .../Extensibility/Implementation/External/DataPoint_types.cs | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Schema/PublicSchema/DataPoint.bond b/Schema/PublicSchema/DataPoint.bond index 05c58ca501..053a61f481 100644 --- a/Schema/PublicSchema/DataPoint.bond +++ b/Schema/PublicSchema/DataPoint.bond @@ -7,7 +7,7 @@ struct DataPoint { [Description("Namespace of the metric.")] [MaxStringLength("256")] - 5: string metricNamespace; + 5: string ns; [Description("Name of the metric.")] [MaxStringLength("1024")] diff --git a/Test/Microsoft.ApplicationInsights.Test/ApplicationInsightsTypes/Generated/DataPoint_types.cs b/Test/Microsoft.ApplicationInsights.Test/ApplicationInsightsTypes/Generated/DataPoint_types.cs index f4f21736b7..55815041d9 100644 --- a/Test/Microsoft.ApplicationInsights.Test/ApplicationInsightsTypes/Generated/DataPoint_types.cs +++ b/Test/Microsoft.ApplicationInsights.Test/ApplicationInsightsTypes/Generated/DataPoint_types.cs @@ -36,7 +36,7 @@ public partial class DataPoint [global::Bond.Attribute("Description", "Namespace of the metric.")] [global::Bond.Attribute("MaxStringLength", "256")] [global::Bond.Id(5)] - public string metricNamespace { get; set; } + public string ns { get; set; } [global::Bond.Attribute("Description", "Name of the metric.")] [global::Bond.Attribute("MaxStringLength", "1024")] @@ -73,7 +73,7 @@ public DataPoint() protected DataPoint(string fullName, string name) { - metricNamespace = ""; + ns = ""; this.name = ""; kind = DataPointType.Measurement; } diff --git a/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs b/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs index c3d7d18abe..318a3e28a5 100644 --- a/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs +++ b/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs @@ -153,8 +153,8 @@ private MetricTelemetry(MetricTelemetry source) /// public string MetricNamespace { - get { return this.Metric.metricNamespace; } - set { this.Metric.metricNamespace = value; } + get { return this.Metric.ns; } + set { this.Metric.ns = value; } } /// diff --git a/src/Microsoft.ApplicationInsights/Extensibility/Implementation/External/DataPoint.cs b/src/Microsoft.ApplicationInsights/Extensibility/Implementation/External/DataPoint.cs index ee8a43429e..21f0540ea4 100644 --- a/src/Microsoft.ApplicationInsights/Extensibility/Implementation/External/DataPoint.cs +++ b/src/Microsoft.ApplicationInsights/Extensibility/Implementation/External/DataPoint.cs @@ -14,7 +14,7 @@ internal partial class DataPoint public DataPoint DeepClone() { var other = new DataPoint(); - other.metricNamespace = this.metricNamespace; + other.ns = this.ns; other.name = this.name; other.kind = this.kind; other.value = this.value; diff --git a/src/Microsoft.ApplicationInsights/Extensibility/Implementation/External/DataPoint_types.cs b/src/Microsoft.ApplicationInsights/Extensibility/Implementation/External/DataPoint_types.cs index 5017f13ec8..79377b8ea7 100644 --- a/src/Microsoft.ApplicationInsights/Extensibility/Implementation/External/DataPoint_types.cs +++ b/src/Microsoft.ApplicationInsights/Extensibility/Implementation/External/DataPoint_types.cs @@ -37,7 +37,7 @@ internal partial class DataPoint - public string metricNamespace { get; set; } + public string ns { get; set; } @@ -74,7 +74,7 @@ public DataPoint() protected DataPoint(string fullName, string name) { - metricNamespace = ""; + ns = ""; this.name = ""; kind = DataPointType.Measurement; } From 8954445c554c999796636dd91e86493c01a7dbc7 Mon Sep 17 00:00:00 2001 From: MS-TimothyMothra Date: Mon, 16 Apr 2018 15:25:02 -0700 Subject: [PATCH 07/41] fix changed namespace SamplingPercentageEstimatorSettings (#775) * proxy class to support public api * cleanup usings * update changelog --- CHANGELOG.md | 4 ++++ .../net45/PublicAPI.Unshipped.txt | 1 + .../netstandard1.3/PublicAPI.Unshipped.txt | 3 ++- .../SamplingPercentageEstimatorSettingsTest.cs | 7 ------- .../SamplingPercentageEstimatorSettings.cs | 17 +++++++++++++++++ .../TelemetryChannel.csproj | 4 ++-- 6 files changed, 26 insertions(+), 10 deletions(-) create mode 100644 src/ServerTelemetryChannel/BackwardsCompatability/SamplingPercentageEstimatorSettings.cs diff --git a/CHANGELOG.md b/CHANGELOG.md index c4121fc20b..04ac14f768 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ This changelog will be used to generate documentation on [release notes page](http://azure.microsoft.com/en-us/documentation/articles/app-insights-release-notes-dotnet/). +## Version 2.6.0 + -[Fix: changed namespace SamplingPercentageEstimatorSettings](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/727) + + ## Version 2.6.0-beta4 - [New: Enable ExceptionTelemetry.SetParsedStack for .Net Standard](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/763) - [Fix: TelemetryClient throws NullReferenceException on Flush if the underlying configuration was disposed](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/755) diff --git a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/net45/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/net45/PublicAPI.Unshipped.txt index e69de29bb2..f50547ffd2 100644 --- a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/net45/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/net45/PublicAPI.Unshipped.txt @@ -0,0 +1 @@ +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings \ No newline at end of file diff --git a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard1.3/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard1.3/PublicAPI.Unshipped.txt index e4788835eb..bf9bf9ea8c 100644 --- a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard1.3/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard1.3/PublicAPI.Unshipped.txt @@ -35,4 +35,5 @@ Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChan Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.Send(Microsoft.ApplicationInsights.Channel.ITelemetry item) -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.ServerTelemetryChannel() -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.StorageFolder.get -> string -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.StorageFolder.set -> void \ No newline at end of file +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.StorageFolder.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings \ No newline at end of file diff --git a/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/SamplingPercentageEstimatorSettingsTest.cs b/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/SamplingPercentageEstimatorSettingsTest.cs index f4a86340da..49b46ca3af 100644 --- a/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/SamplingPercentageEstimatorSettingsTest.cs +++ b/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/SamplingPercentageEstimatorSettingsTest.cs @@ -1,14 +1,7 @@ namespace Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation { using System; - using System.Collections.Generic; - using System.Globalization; - - using Microsoft.ApplicationInsights.DataContracts; using Microsoft.VisualStudio.TestTools.UnitTesting; - - - using Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation; [TestClass] public class SamplingPercentageEstimatorSettingsTest diff --git a/src/ServerTelemetryChannel/BackwardsCompatability/SamplingPercentageEstimatorSettings.cs b/src/ServerTelemetryChannel/BackwardsCompatability/SamplingPercentageEstimatorSettings.cs new file mode 100644 index 0000000000..611a7cd7c1 --- /dev/null +++ b/src/ServerTelemetryChannel/BackwardsCompatability/SamplingPercentageEstimatorSettings.cs @@ -0,0 +1,17 @@ +namespace Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation +{ + using System; + + /// + /// Container for all the settings applicable to the process of dynamically estimating + /// application telemetry sampling percentage. + /// + /// + /// This class exists to resolve a backwards compatibility issue introduced in 2.5.0. + /// TODO: REMOVE THIS CLASS WHEN WE RELEASE NEW MAJOR VERSION: 3.0.0 + /// For more information see: https://github.com/Microsoft/ApplicationInsights-dotnet/issues/727 + /// + public class SamplingPercentageEstimatorSettings : Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings + { + } +} diff --git a/src/ServerTelemetryChannel/TelemetryChannel.csproj b/src/ServerTelemetryChannel/TelemetryChannel.csproj index 03a9e48319..71c401b796 100644 --- a/src/ServerTelemetryChannel/TelemetryChannel.csproj +++ b/src/ServerTelemetryChannel/TelemetryChannel.csproj @@ -60,7 +60,7 @@ - + @@ -88,7 +88,7 @@ - + From 53c0939575163e89cc684cfb9f1f9918837d778a Mon Sep 17 00:00:00 2001 From: Sergey Kanzhelev Date: Tue, 17 Apr 2018 14:11:02 -0700 Subject: [PATCH 08/41] Update DependencyTelemetry.cs --- .../DataContracts/DependencyTelemetry.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs b/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs index 1c727bbc0f..e903c11ab3 100644 --- a/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs +++ b/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs @@ -51,7 +51,7 @@ public DependencyTelemetry(string dependencyName, string data, DateTimeOffset st } /// - /// Initializes a new instance of the class with the given , , + /// Initializes a new instance of the class with the given , , /// , property values. /// public DependencyTelemetry(string dependencyTypeName, string target, string dependencyName, string data) @@ -64,7 +64,7 @@ public DependencyTelemetry(string dependencyTypeName, string target, string depe } /// - /// Initializes a new instance of the class with the given , , + /// Initializes a new instance of the class with the given , , /// , , , , /// and and property values. /// From 65b5dfa9ff4858933e23c82d0f14a06e8868dfba Mon Sep 17 00:00:00 2001 From: macrogreg Date: Tue, 17 Apr 2018 18:25:50 -0500 Subject: [PATCH 09/41] Metrics: Hook up MetricNamespace end-to-end and test. --- .../DataContracts/MetricTelemetryTest.cs | 46 +++++- ...plicationInsightsTelemetryPipelineTests.cs | 20 ++- .../CommonSimpleDataSeriesAggregatorTests.cs | 56 +++---- ...gator_restrictToUInt32ValuesFalse_Tests.cs | 94 ++++++------ ...egator_restrictToUInt32ValuesTrue_Tests.cs | 56 +++---- .../Shared/Metrics/MetricSeriesTests.cs | 30 ++-- ...figurationForTestingAccumulatorBehavior.cs | 2 +- .../Shared/Metrics/TestUtility/TestUtil.cs | 14 +- .../Shared/TelemetryClientTest.cs | 138 +++++++++++++++--- .../DataContracts/MetricTelemetry.cs | 1 + .../Implementation/JsonSerializer.cs | 6 + .../Extensibility/Implementation/Property.cs | 1 + ...pplicationInsightsPipelineConverterBase.cs | 6 +- .../Implementation/MeasurementAggregator.cs | 2 +- .../Metrics/MetricIdentifier.cs | 38 +++-- 15 files changed, 350 insertions(+), 160 deletions(-) diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/DataContracts/MetricTelemetryTest.cs b/Test/Microsoft.ApplicationInsights.Test/Shared/DataContracts/MetricTelemetryTest.cs index 4d2b232e10..1864a28ee8 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/DataContracts/MetricTelemetryTest.cs +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/DataContracts/MetricTelemetryTest.cs @@ -62,10 +62,11 @@ public void MetricTelemetrySuppliesPropertiesForCustomerToSendAggregatedMetric() } [TestMethod] - public void AggregateMetricTelemetrySerializesToJsonCorrectly() + public void AggregateMetricTelemetrySerializesToJsonCorrectlyWithNamespace() { var expected = new MetricTelemetry(); + expected.MetricNamespace = "My Namespace"; expected.Name = "My Page"; #pragma warning disable CS0618 expected.Value = 42; @@ -82,6 +83,42 @@ public void AggregateMetricTelemetrySerializesToJsonCorrectly() Assert.AreEqual(2, item.data.baseData.ver); Assert.AreEqual(1, item.data.baseData.metrics.Count); + Assert.AreEqual(expected.MetricNamespace, item.data.baseData.metrics[0].ns); + Assert.AreEqual(expected.Name, item.data.baseData.metrics[0].name); + Assert.AreEqual(AI.DataPointType.Aggregation, item.data.baseData.metrics[0].kind); +#pragma warning disable CS0618 + Assert.AreEqual(expected.Value, item.data.baseData.metrics[0].value); +#pragma warning restore CS0618 + Assert.AreEqual(expected.Count.Value, item.data.baseData.metrics[0].count.Value); + Assert.AreEqual(expected.Min.Value, item.data.baseData.metrics[0].min.Value); + Assert.AreEqual(expected.Max.Value, item.data.baseData.metrics[0].max.Value); + Assert.AreEqual(expected.StandardDeviation.Value, item.data.baseData.metrics[0].stdDev.Value); + + AssertEx.AreEqual(expected.Properties.ToArray(), item.data.baseData.properties.ToArray()); + } + + [TestMethod] + public void AggregateMetricTelemetrySerializesToJsonCorrectlyWithoutNamespace() + { + var expected = new MetricTelemetry(); + + expected.Name = "My Page"; +#pragma warning disable CS0618 + expected.Value = 42; +#pragma warning restore CS0618 + expected.Count = 5; + expected.Min = 1.2; + expected.Max = 6.4; + expected.StandardDeviation = 0.5; + expected.Properties.Add("Property1", "Value1"); + + var item = TelemetryItemTestHelper.SerializeDeserializeTelemetryItem(expected); + + Assert.AreEqual(typeof(AI.MetricData).Name, item.data.baseType); + + Assert.AreEqual(2, item.data.baseData.ver); + Assert.AreEqual(1, item.data.baseData.metrics.Count); + Assert.AreEqual(String.Empty, item.data.baseData.metrics[0].ns); Assert.AreEqual(expected.Name, item.data.baseData.metrics[0].name); Assert.AreEqual(AI.DataPointType.Aggregation, item.data.baseData.metrics[0].kind); #pragma warning disable CS0618 @@ -99,6 +136,7 @@ public void AggregateMetricTelemetrySerializesToJsonCorrectly() public void MetricTelemetrySuppliesConstructorThatAllowsToFullyPopulateAggregationData() { var instance = new MetricTelemetry( + metricNamespace: "Test MetricNamespace", name: "Test Metric", count: 4, sum: 40, @@ -106,6 +144,7 @@ public void MetricTelemetrySuppliesConstructorThatAllowsToFullyPopulateAggregati max: 15, standardDeviation: 4.2); + Assert.AreEqual("Test MetricNamespace", instance.MetricNamespace); Assert.AreEqual("Test Metric", instance.Name); Assert.AreEqual(4, instance.Count); Assert.AreEqual(40, instance.Sum); @@ -119,6 +158,7 @@ public void MetricTelemetrySuppliesPropertiesForCustomerToSendAggregionData() { var instance = new MetricTelemetry(); + instance.MetricNamespace = "Test MetricNamespace"; instance.Name = "Test Metric"; instance.Count = 4; instance.Sum = 40; @@ -126,6 +166,7 @@ public void MetricTelemetrySuppliesPropertiesForCustomerToSendAggregionData() instance.Max = 15.0; instance.StandardDeviation = 4.2; + Assert.AreEqual("Test MetricNamespace", instance.MetricNamespace); Assert.AreEqual("Test Metric", instance.Name); Assert.AreEqual(4, instance.Count); Assert.AreEqual(40, instance.Sum); @@ -150,12 +191,14 @@ public void MetricTelemetrySerializesStructuredIKeyCorrectlyPreservingCaseOfPref public void SanitizeWillTrimAppropriateFields() { MetricTelemetry telemetry = new MetricTelemetry(); + telemetry.MetricNamespace = new string('Q', Property.MaxNameLength + 1); telemetry.Name = new string('Z', Property.MaxNameLength + 1); telemetry.Properties.Add(new string('X', Property.MaxDictionaryNameLength) + 'X', new string('X', Property.MaxValueLength + 1)); telemetry.Properties.Add(new string('X', Property.MaxDictionaryNameLength) + 'Y', new string('X', Property.MaxValueLength + 1)); ((ITelemetry)telemetry).Sanitize(); + Assert.AreEqual(new string('Q', 256), telemetry.MetricNamespace); Assert.AreEqual(new string('Z', Property.MaxNameLength), telemetry.Name); Assert.AreEqual(2, telemetry.Properties.Count); @@ -278,6 +321,7 @@ public void MetricTelemetryDeepCloneCopiesAllProperties() { var metric = new MetricTelemetry(); + metric.MetricNamespace = "My Namespace"; metric.Name = "My Page"; #pragma warning disable CS0618 metric.Value = 42; diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/Extensibility/ApplicationInsightsTelemetryPipelineTests.cs b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/Extensibility/ApplicationInsightsTelemetryPipelineTests.cs index 63986440c3..313e14906e 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/Extensibility/ApplicationInsightsTelemetryPipelineTests.cs +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/Extensibility/ApplicationInsightsTelemetryPipelineTests.cs @@ -127,24 +127,24 @@ await Assert.ThrowsExceptionAsync(() => pipelineAdap var pipelineAdapter = new ApplicationInsightsTelemetryPipeline(telemetryPipeline); { - var agregate = new MetricAggregate("NS", "M1", MetricConfigurations.Common.Measurement().Constants().AggregateKindMoniker); + var agregate = new MetricAggregate("NSa", "M1", MetricConfigurations.Common.Measurement().Constants().AggregateKindMoniker); agregate.Data["Count"] = 1; agregate.Data["Sum"] = 10; await pipelineAdapter.TrackAsync(agregate, CancellationToken.None); } { - var agregate = new MetricAggregate("NS", "M2", MetricConfigurations.Common.Measurement().Constants().AggregateKindMoniker); + var agregate = new MetricAggregate("NSb", "M2", MetricConfigurations.Common.Measurement().Constants().AggregateKindMoniker); agregate.Data["Count"] = 0; agregate.Data["Sum"] = 20; await pipelineAdapter.TrackAsync(agregate, CancellationToken.None); } { - var agregate = new MetricAggregate("NS", "M3", MetricConfigurations.Common.Measurement().Constants().AggregateKindMoniker); + var agregate = new MetricAggregate("NSc", "M3", MetricConfigurations.Common.Measurement().Constants().AggregateKindMoniker); agregate.Data["Sum"] = 30; await pipelineAdapter.TrackAsync(agregate, CancellationToken.None); } { - var agregate = new MetricAggregate("NS", "M4", MetricConfigurations.Common.Measurement().Constants().AggregateKindMoniker); + var agregate = new MetricAggregate("NSd", "M4", MetricConfigurations.Common.Measurement().Constants().AggregateKindMoniker); agregate.Data["Count"] = 2.9; agregate.Data["Sum"] = -40; await pipelineAdapter.TrackAsync(agregate, CancellationToken.None); @@ -163,18 +163,22 @@ await Assert.ThrowsExceptionAsync(() => pipelineAdap Assert.AreEqual(4, telemetrySentToChannel.Count); Assert.AreEqual(1, telemetrySentToChannel.Where( (item) => (item as MetricTelemetry).Name.Equals("M1") ).Count()); + Assert.AreEqual("NSa", (telemetrySentToChannel.First( (item) => (item as MetricTelemetry).Name.Equals("M1") ) as MetricTelemetry).MetricNamespace); Assert.AreEqual(1, (telemetrySentToChannel.First( (item) => (item as MetricTelemetry).Name.Equals("M1") ) as MetricTelemetry).Count); Assert.AreEqual(10.0, (telemetrySentToChannel.First( (item) => (item as MetricTelemetry).Name.Equals("M1") ) as MetricTelemetry).Sum); Assert.AreEqual(1, telemetrySentToChannel.Where( (item) => (item as MetricTelemetry).Name.Equals("M2") ).Count()); + Assert.AreEqual("NSb", (telemetrySentToChannel.First( (item) => (item as MetricTelemetry).Name.Equals("M2") ) as MetricTelemetry).MetricNamespace); Assert.AreEqual(expectedCountWhenZero, (telemetrySentToChannel.First( (item) => (item as MetricTelemetry).Name.Equals("M2") ) as MetricTelemetry).Count); Assert.AreEqual(20.0, (telemetrySentToChannel.First( (item) => (item as MetricTelemetry).Name.Equals("M2") ) as MetricTelemetry).Sum); Assert.AreEqual(1, telemetrySentToChannel.Where( (item) => (item as MetricTelemetry).Name.Equals("M3") ).Count()); + Assert.AreEqual("NSc", (telemetrySentToChannel.First( (item) => (item as MetricTelemetry).Name.Equals("M3") ) as MetricTelemetry).MetricNamespace); Assert.AreEqual(expectedCountWhenZero, (telemetrySentToChannel.First( (item) => (item as MetricTelemetry).Name.Equals("M3") ) as MetricTelemetry).Count); Assert.AreEqual(30.0, (telemetrySentToChannel.First( (item) => (item as MetricTelemetry).Name.Equals("M3") ) as MetricTelemetry).Sum); Assert.AreEqual(1, telemetrySentToChannel.Where( (item) => (item as MetricTelemetry).Name.Equals("M4") ).Count()); + Assert.AreEqual("NSd", (telemetrySentToChannel.First( (item) => (item as MetricTelemetry).Name.Equals("M4") ) as MetricTelemetry).MetricNamespace); Assert.AreEqual(3, (telemetrySentToChannel.First( (item) => (item as MetricTelemetry).Name.Equals("M4") ) as MetricTelemetry).Count); Assert.AreEqual(-40.0, (telemetrySentToChannel.First( (item) => (item as MetricTelemetry).Name.Equals("M4") ) as MetricTelemetry).Sum); } @@ -240,7 +244,7 @@ public async Task TrackAsync_HandlesDifferentAggregates() // On SDK 2.6.X this sometimes fails when run in parallel with all the other tests and always succeeds when run by itself. // There is some concurrency issue in the Pipiline that is unrelated to the stuff being tested here! - TestUtil.ValidateNumericAggregateValues(metricTelemetry, "mid-foobar", expectedCount, sum: 0, max: 0, min: 0, stdDev: 0); + TestUtil.ValidateNumericAggregateValues(metricTelemetry, "NS", "mid-foobar", expectedCount, sum: 0, max: 0, min: 0, stdDev: 0); Assert.AreEqual(1, metricTelemetry.Properties.Count); Assert.IsTrue(metricTelemetry.Context.Properties.ContainsKey(TestUtil.AggregationIntervalMonikerPropertyKey)); @@ -276,6 +280,7 @@ public async Task TrackAsync_HandlesDifferentAggregates() int expectedCount = Debugger.IsAttached ? 1 : 0; TestUtil.ValidateNumericAggregateValues( metricTelemetry, + "NS", "mid-foobar", expectedCount, sum: 0, @@ -318,6 +323,7 @@ public async Task TrackAsync_HandlesDifferentAggregates() int expectedCount = Debugger.IsAttached ? 1 : 0; TestUtil.ValidateNumericAggregateValues( metricTelemetry, + "NS", "mid-foobar", expectedCount, sum: 0, @@ -361,6 +367,7 @@ public async Task TrackAsync_HandlesDifferentAggregates() TestUtil.ValidateNumericAggregateValues( metricTelemetry, + "NS", "mid-foobar", count: 1, sum: 0, @@ -416,6 +423,7 @@ public async Task TrackAsync_HandlesDifferentAggregates() int expectedCount = Debugger.IsAttached ? 1 : -4; TestUtil.ValidateNumericAggregateValues( metricTelemetry, + "NS", "mid-foobar", expectedCount, sum: -100, @@ -528,6 +536,7 @@ public async Task TrackAsync_HandlesDifferentAggregates() int expectedCount = Debugger.IsAttached ? 1 : -4; TestUtil.ValidateNumericAggregateValues( metricTelemetry, + "NS", "mid-foobar", expectedCount, sum: 0, @@ -690,6 +699,7 @@ public async Task TrackAsync_CorrectlyCopiesTelemetryContextDimensions() int expectedCount = Debugger.IsAttached ? 1 : 0; TestUtil.ValidateNumericAggregateValues( metricTelemetry, + "NS", "mid-foobar", expectedCount, sum: 0, diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/Implementation/CommonSimpleDataSeriesAggregatorTests.cs b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/Implementation/CommonSimpleDataSeriesAggregatorTests.cs index f126c32fca..ab2a94ae64 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/Implementation/CommonSimpleDataSeriesAggregatorTests.cs +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/Implementation/CommonSimpleDataSeriesAggregatorTests.cs @@ -69,7 +69,7 @@ public static void TryRecycle_NonpersistentAggregator(IMetricSeriesAggregator me measurementAggregator.TrackValue(10); MetricAggregate aggregate = measurementAggregator.CreateAggregateUnsafe(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "null", count: 1, sum: 10.0, max: 10.0, min: 10.0, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodStringDef, aggKindMoniker: "Microsoft.Azure.Measurement"); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "", name: "null", count: 1, sum: 10.0, max: 10.0, min: 10.0, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodStringDef, aggKindMoniker: "Microsoft.Azure.Measurement"); measurementAggregator.Reset(startTS, valueFilter: null); @@ -77,21 +77,21 @@ public static void TryRecycle_NonpersistentAggregator(IMetricSeriesAggregator me measurementAggregator.TrackValue(20); aggregate = measurementAggregator.CreateAggregateUnsafe(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "null", count: 2, sum: 30.0, max: 20.0, min: 10.0, stdDev: 5.0, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: "Microsoft.Azure.Measurement"); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "", name: "null", count: 2, sum: 30.0, max: 20.0, min: 10.0, stdDev: 5.0, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: "Microsoft.Azure.Measurement"); bool canRecycle = measurementAggregator.TryRecycle(); Assert.IsTrue(canRecycle); aggregate = measurementAggregator.CreateAggregateUnsafe(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "null", count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodStringDef, aggKindMoniker: "Microsoft.Azure.Measurement"); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "", name: "null", count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodStringDef, aggKindMoniker: "Microsoft.Azure.Measurement"); canRecycle = measurementAggregator.TryRecycle(); Assert.IsTrue(canRecycle); aggregate = measurementAggregator.CreateAggregateUnsafe(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "null", count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodStringDef, aggKindMoniker: "Microsoft.Azure.Measurement"); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "", name: "null", count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodStringDef, aggKindMoniker: "Microsoft.Azure.Measurement"); } } @@ -108,7 +108,7 @@ public static void TryRecycle_PersistentAggregator(IMetricSeriesAggregator accum accumulatorAggregator.TrackValue(10); MetricAggregate aggregate = accumulatorAggregator.CreateAggregateUnsafe(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "null", count: 0, sum: 10.0, max: 10.0, min: 10.0, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodStringDef, aggKindMoniker: "Microsoft.Azure.AccumulatorForTesting"); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "", name: "null", count: 0, sum: 10.0, max: 10.0, min: 10.0, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodStringDef, aggKindMoniker: "Microsoft.Azure.AccumulatorForTesting"); accumulatorAggregator.Reset(startTS, valueFilter: null); @@ -117,14 +117,14 @@ public static void TryRecycle_PersistentAggregator(IMetricSeriesAggregator accum accumulatorAggregator.TrackValue(20); aggregate = accumulatorAggregator.CreateAggregateUnsafe(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "null", count: 0, sum: 30.0, max: 30.0, min: 0.0, stdDev: 0, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: "Microsoft.Azure.AccumulatorForTesting"); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "", name: "null", count: 0, sum: 30.0, max: 30.0, min: 0.0, stdDev: 0, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: "Microsoft.Azure.AccumulatorForTesting"); bool canRecycle = accumulatorAggregator.TryRecycle(); Assert.IsFalse(canRecycle); aggregate = accumulatorAggregator.CreateAggregateUnsafe(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "null", count: 2, sum: 30.0, max: 30.0, min: 0.0, stdDev: 5.0, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: "Microsoft.Azure.AccumulatorForTesting"); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "", name: "null", count: 2, sum: 30.0, max: 30.0, min: 0.0, stdDev: 5.0, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: "Microsoft.Azure.AccumulatorForTesting"); } } @@ -150,54 +150,54 @@ public static void Reset_NonpersistentAggregator(IMetricSeriesAggregator aggrega int filterInvocationsCount = 0; MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "null", count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodStringDef, aggKindMoniker: aggregateKindMoniker); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "", name: "null", count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodStringDef, aggKindMoniker: aggregateKindMoniker); aggregator.Reset(startTS, valueFilter: null); aggregate = aggregator.CreateAggregateUnsafe(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "null", count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: aggregateKindMoniker); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "", name: "null", count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: aggregateKindMoniker); aggregator.TrackValue(10); aggregator.TrackValue(20); aggregate = aggregator.CreateAggregateUnsafe(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "null", count: 2, sum: 30.0, max: 20.0, min: 10.0, stdDev: 5.0, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: aggregateKindMoniker); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "", name: "null", count: 2, sum: 30.0, max: 20.0, min: 10.0, stdDev: 5.0, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: aggregateKindMoniker); Assert.AreEqual(0, filterInvocationsCount); aggregator.Reset(default(DateTimeOffset), valueFilter: new CustomDoubleValueFilter( (s, v) => { filterInvocationsCount++; return true; } )); aggregate = aggregator.CreateAggregateUnsafe(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "null", count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodStringDef, aggKindMoniker: aggregateKindMoniker); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "", name: "null", count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodStringDef, aggKindMoniker: aggregateKindMoniker); aggregator.TrackValue(100); aggregator.TrackValue(200); aggregate = aggregator.CreateAggregateUnsafe(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "null", count: 2, sum: 300, max: 200, min: 100, stdDev: 50, timestamp: default(DateTimeOffset), periodMs: periodStringDef, aggKindMoniker: aggregateKindMoniker); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "", name: "null", count: 2, sum: 300, max: 200, min: 100, stdDev: 50, timestamp: default(DateTimeOffset), periodMs: periodStringDef, aggKindMoniker: aggregateKindMoniker); Assert.AreEqual(2, filterInvocationsCount); aggregator.Reset(startTS, valueFilter: new CustomDoubleValueFilter((s, v) => { filterInvocationsCount++; return false; })); aggregate = aggregator.CreateAggregateUnsafe(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "null", count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: aggregateKindMoniker); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "", name: "null", count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: aggregateKindMoniker); aggregator.TrackValue(100); aggregator.TrackValue(200); aggregate = aggregator.CreateAggregateUnsafe(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "null", count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: aggregateKindMoniker); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "", name: "null", count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: aggregateKindMoniker); Assert.AreEqual(4, filterInvocationsCount); aggregator.Reset(startTS, valueFilter: new CustomDoubleValueFilter((s, v) => { filterInvocationsCount++; return true; })); aggregate = aggregator.CreateAggregateUnsafe(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "null", count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: aggregateKindMoniker); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "", name: "null", count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: aggregateKindMoniker); aggregator.TrackValue(100); aggregator.TrackValue(200); aggregate = aggregator.CreateAggregateUnsafe(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "null", count: 2, sum: 300, max: 200, min: 100, stdDev: 50, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: aggregateKindMoniker); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "", name: "null", count: 2, sum: 300, max: 200, min: 100, stdDev: 50, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: aggregateKindMoniker); Assert.AreEqual(6, filterInvocationsCount); } @@ -225,7 +225,7 @@ public static void Reset_PersistentAggregator(IMetricSeriesAggregator aggregator aggregator.TrackValue(20); aggregate = aggregator.CreateAggregateUnsafe(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "null", count: 0, sum: 30.0, max: 30, min: 10.0, stdDev: 5.0, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: aggregateKindMoniker); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "", name: "null", count: 0, sum: 30.0, max: 30, min: 10.0, stdDev: 5.0, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: aggregateKindMoniker); Assert.AreEqual(0, filterInvocationsCount); aggregator.Reset(default(DateTimeOffset), valueFilter: new CustomDoubleValueFilter((s, v) => { filterInvocationsCount++; return true; })); @@ -237,7 +237,7 @@ public static void Reset_PersistentAggregator(IMetricSeriesAggregator aggregator aggregator.TrackValue(200); aggregate = aggregator.CreateAggregateUnsafe(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "null", count: 0, sum: 300, max: 300, min: 100, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodStringDef, aggKindMoniker: aggregateKindMoniker); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "", name: "null", count: 0, sum: 300, max: 300, min: 100, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodStringDef, aggKindMoniker: aggregateKindMoniker); Assert.AreEqual(2, filterInvocationsCount); aggregator.Reset(startTS, valueFilter: new CustomDoubleValueFilter((s, v) => { filterInvocationsCount++; return false; })); @@ -261,7 +261,7 @@ public static void Reset_PersistentAggregator(IMetricSeriesAggregator aggregator aggregator.TrackValue(-200); aggregate = aggregator.CreateAggregateUnsafe(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "null", count: 0, sum: -100, max: 100, min: -100, stdDev: 0, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: aggregateKindMoniker); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "", name: "null", count: 0, sum: -100, max: 100, min: -100, stdDev: 0, timestamp: startTS, periodMs: periodStringStart, aggKindMoniker: aggregateKindMoniker); Assert.AreEqual(6, filterInvocationsCount); } @@ -281,7 +281,7 @@ public static void CompleteAggregation_NonpersistentAggregator(IMetricSeriesAggr measurementAggregator.TrackValue("2"); MetricAggregate aggregate = measurementAggregator.CompleteAggregation(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "Cows Sold", count: 2, sum: 3, max: 2, min: 1, stdDev: 0.5, timestamp: startTS, periodMs: periodString, aggKindMoniker: "Microsoft.Azure.Measurement"); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "Animal Metrics", name: "Cows Sold", count: 2, sum: 3, max: 2, min: 1, stdDev: 0.5, timestamp: startTS, periodMs: periodString, aggKindMoniker: "Microsoft.Azure.Measurement"); Assert.AreEqual(2, filterInvocationsCount); measurementAggregator.TrackValue("3"); @@ -290,17 +290,17 @@ public static void CompleteAggregation_NonpersistentAggregator(IMetricSeriesAggr aggregate = measurementAggregator.CompleteAggregation(endTS); //// In earlier versions we used to reject further values after Complete Aggregation was called. However, that complication is not really necesary. - //TestUtil.ValidateNumericAggregateValues(aggregate, name: "Cows Sold", count: 2, sum: 3, max: 2, min: 1, stdDev: 0.5, timestamp: startTS, periodMs: periodString, aggKindMoniker: "Microsoft.Azure.Measurement"); + //TestUtil.ValidateNumericAggregateValues(aggregate, ns: "Animal Metrics", name: "Cows Sold", count: 2, sum: 3, max: 2, min: 1, stdDev: 0.5, timestamp: startTS, periodMs: periodString, aggKindMoniker: "Microsoft.Azure.Measurement"); //Assert.AreEqual(2, filterInvocationsCount); //aggregate = measurementAggregator.CreateAggregateUnsafe(endTS); - //TestUtil.ValidateNumericAggregateValues(aggregate, name: "Cows Sold", count: 2, sum: 3, max: 2, min: 1, stdDev: 0.5, timestamp: startTS, periodMs: periodString, aggKindMoniker: "Microsoft.Azure.Measurement"); + //TestUtil.ValidateNumericAggregateValues(aggregate, ns: "Animal Metrics", name: "Cows Sold", count: 2, sum: 3, max: 2, min: 1, stdDev: 0.5, timestamp: startTS, periodMs: periodString, aggKindMoniker: "Microsoft.Azure.Measurement"); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "Cows Sold", count: 4, sum: 10, max: 4, min: 1, stdDev: 1.11803398874989, timestamp: startTS, periodMs: periodString, aggKindMoniker: "Microsoft.Azure.Measurement"); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "Animal Metrics", name: "Cows Sold", count: 4, sum: 10, max: 4, min: 1, stdDev: 1.11803398874989, timestamp: startTS, periodMs: periodString, aggKindMoniker: "Microsoft.Azure.Measurement"); Assert.AreEqual(4, filterInvocationsCount); aggregate = measurementAggregator.CreateAggregateUnsafe(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "Cows Sold", count: 4, sum: 10, max: 4, min: 1, stdDev: 1.11803398874989, timestamp: startTS, periodMs: periodString, aggKindMoniker: "Microsoft.Azure.Measurement"); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "Animal Metrics", name: "Cows Sold", count: 4, sum: 10, max: 4, min: 1, stdDev: 1.11803398874989, timestamp: startTS, periodMs: periodString, aggKindMoniker: "Microsoft.Azure.Measurement"); } public static void CompleteAggregation_PersistentAggregator(IMetricSeriesAggregator accumulatorAggregator) @@ -319,24 +319,24 @@ public static void CompleteAggregation_PersistentAggregator(IMetricSeriesAggrega accumulatorAggregator.TrackValue("2"); MetricAggregate aggregate = accumulatorAggregator.CompleteAggregation(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "Cows Sold", count: 0, sum: 3, max: 3, min: 1, stdDev: 0, timestamp: startTS, periodMs: periodString, aggKindMoniker: "Microsoft.Azure.AccumulatorForTesting"); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "Animal Metrics", name: "Cows Sold", count: 0, sum: 3, max: 3, min: 1, stdDev: 0, timestamp: startTS, periodMs: periodString, aggKindMoniker: "Microsoft.Azure.AccumulatorForTesting"); Assert.AreEqual(2, filterInvocationsCount); accumulatorAggregator.TrackValue("3"); accumulatorAggregator.TrackValue(4); aggregate = accumulatorAggregator.CompleteAggregation(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "Cows Sold", count: 0, sum: 10, max: 10, min: 1, stdDev: 0, timestamp: startTS, periodMs: periodString, aggKindMoniker: "Microsoft.Azure.AccumulatorForTesting"); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "Animal Metrics", name: "Cows Sold", count: 0, sum: 10, max: 10, min: 1, stdDev: 0, timestamp: startTS, periodMs: periodString, aggKindMoniker: "Microsoft.Azure.AccumulatorForTesting"); Assert.AreEqual(4, filterInvocationsCount); aggregate = accumulatorAggregator.CreateAggregateUnsafe(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "Cows Sold", count: 0, sum: 10, max: 10, min: 1, stdDev: 0, timestamp: startTS, periodMs: periodString, aggKindMoniker: "Microsoft.Azure.AccumulatorForTesting"); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "Animal Metrics", name: "Cows Sold", count: 0, sum: 10, max: 10, min: 1, stdDev: 0, timestamp: startTS, periodMs: periodString, aggKindMoniker: "Microsoft.Azure.AccumulatorForTesting"); accumulatorAggregator.TrackValue(-18); accumulatorAggregator.TrackValue(2); aggregate = accumulatorAggregator.CompleteAggregation(endTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "Cows Sold", count: 0, sum: -6, max: 10, min: -8, stdDev: 0, timestamp: startTS, periodMs: periodString, aggKindMoniker: "Microsoft.Azure.AccumulatorForTesting"); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "Animal Metrics", name: "Cows Sold", count: 0, sum: -6, max: 10, min: -8, stdDev: 0, timestamp: startTS, periodMs: periodString, aggKindMoniker: "Microsoft.Azure.AccumulatorForTesting"); Assert.AreEqual(6, filterInvocationsCount); } diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/Implementation/MeasurementAggregator_restrictToUInt32ValuesFalse_Tests.cs b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/Implementation/MeasurementAggregator_restrictToUInt32ValuesFalse_Tests.cs index 0c6078f59f..7c4b7a9c4c 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/Implementation/MeasurementAggregator_restrictToUInt32ValuesFalse_Tests.cs +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/Implementation/MeasurementAggregator_restrictToUInt32ValuesFalse_Tests.cs @@ -53,7 +53,7 @@ public void TrackValueDouble() aggregationCycleKind: CycleKind.Custom); MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 0, sum: 0.0, max: 0.0, min: 0.0, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 0, sum: 0.0, max: 0.0, min: 0.0, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); } { // Zero value: @@ -65,7 +65,7 @@ public void TrackValueDouble() aggregator.TrackValue(0); MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 1, sum: 0.0, max: 0.0, min: 0.0, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 1, sum: 0.0, max: 0.0, min: 0.0, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); } { // Non zero value: @@ -77,7 +77,7 @@ public void TrackValueDouble() aggregator.TrackValue(-42); MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 1, sum: -42.0, max: -42.0, min: -42.0, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 1, sum: -42.0, max: -42.0, min: -42.0, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); } { // Two values: @@ -90,7 +90,7 @@ public void TrackValueDouble() aggregator.TrackValue(18); MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 2, sum: -24.0, max: 18.0, min: -42.0, stdDev: 30.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 2, sum: -24.0, max: 18.0, min: -42.0, stdDev: 30.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); } { // 3 values: @@ -103,7 +103,7 @@ public void TrackValueDouble() aggregator.TrackValue(-4200000); MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 3, sum: -2400000.0, max: 1800000.0, min: -4200000.0, stdDev: 2513961.018, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 3, sum: -2400000.0, max: 1800000.0, min: -4200000.0, stdDev: 2513961.018, timestamp: default(DateTimeOffset), periodMs: periodMillis); } { // NaNs: @@ -116,7 +116,7 @@ public void TrackValueDouble() aggregator.TrackValue(Double.NaN); MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 1, sum: 1, max: 1, min: 1, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 1, sum: 1, max: 1, min: 1, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); } { // Infinity: @@ -126,42 +126,42 @@ public void TrackValueDouble() aggregationCycleKind: CycleKind.Custom); MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(1); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 1, sum: 1, max: 1, min: 1, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 1, sum: 1, max: 1, min: 1, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(0.5); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 2, sum: 1.5, max: 1, min: 0.5, stdDev: 0.25, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 2, sum: 1.5, max: 1, min: 0.5, stdDev: 0.25, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(Double.PositiveInfinity); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 3, sum: Double.MaxValue, max: Double.MaxValue, min: 0.5, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 3, sum: Double.MaxValue, max: Double.MaxValue, min: 0.5, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(Int32.MinValue); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 4, sum: Double.MaxValue, max: Double.MaxValue, min: Int32.MinValue, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 4, sum: Double.MaxValue, max: Double.MaxValue, min: Int32.MinValue, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(Double.PositiveInfinity); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 5, sum: Double.MaxValue, max: Double.MaxValue, min: Int32.MinValue, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 5, sum: Double.MaxValue, max: Double.MaxValue, min: Int32.MinValue, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(Double.NegativeInfinity); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 6, sum: 0.0, max: Double.MaxValue, min: -Double.MaxValue, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 6, sum: 0.0, max: Double.MaxValue, min: -Double.MaxValue, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(11); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 7, sum: 0.0, max: Double.MaxValue, min: -Double.MaxValue, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 7, sum: 0.0, max: Double.MaxValue, min: -Double.MaxValue, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); } { // Very large numbers: @@ -171,53 +171,53 @@ public void TrackValueDouble() aggregationCycleKind: CycleKind.Custom); MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(Math.Exp(300)); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 1, sum: Math.Exp(300), max: Math.Exp(300), min: Math.Exp(300), stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 1, sum: Math.Exp(300), max: Math.Exp(300), min: Math.Exp(300), stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(-2 * Math.Exp(300)); double minus2exp200 = -2 * Math.Exp(300); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 2, sum: -Math.Exp(300), max: Math.Exp(300), min: minus2exp200, stdDev: 2.91363959286188000E+130, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 2, sum: -Math.Exp(300), max: Math.Exp(300), min: minus2exp200, stdDev: 2.91363959286188000E+130, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(Math.Exp(300)); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 3, sum: 0, max: Math.Exp(300), min: minus2exp200, stdDev: 2.74700575206167000E+130, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 3, sum: 0, max: Math.Exp(300), min: minus2exp200, stdDev: 2.74700575206167000E+130, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(Math.Exp(700)); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 4, sum: Math.Exp(700), max: Math.Exp(700), min: minus2exp200, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 4, sum: Math.Exp(700), max: Math.Exp(700), min: minus2exp200, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(Double.MaxValue); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 5, sum: Double.MaxValue, max: Double.MaxValue, min: minus2exp200, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 5, sum: Double.MaxValue, max: Double.MaxValue, min: minus2exp200, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(Double.MaxValue); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 6, sum: Double.MaxValue, max: Double.MaxValue, min: minus2exp200, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 6, sum: Double.MaxValue, max: Double.MaxValue, min: minus2exp200, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(11); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 7, sum: Double.MaxValue, max: Double.MaxValue, min: minus2exp200, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 7, sum: Double.MaxValue, max: Double.MaxValue, min: minus2exp200, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(-Double.MaxValue); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 8, sum: Double.MaxValue, max: Double.MaxValue, min: -Double.MaxValue, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 8, sum: Double.MaxValue, max: Double.MaxValue, min: -Double.MaxValue, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(-Double.PositiveInfinity); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 9, sum: 0, max: Double.MaxValue, min: -Double.MaxValue, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 9, sum: 0, max: Double.MaxValue, min: -Double.MaxValue, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); } { // Large number of small values: @@ -235,7 +235,7 @@ public void TrackValueDouble() } MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 10100000, sum: 5050000, max: 1, min: 0, stdDev: 0.29154759474226500, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 10100000, sum: 5050000, max: 1, min: 0, stdDev: 0.29154759474226500, timestamp: default(DateTimeOffset), periodMs: periodMillis); } { // Large number of large values: @@ -253,7 +253,7 @@ public void TrackValueDouble() } MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 10100000, sum: 1515000000000, max: 300000, min: 0, stdDev: 87464.2784226795, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 10100000, sum: 1515000000000, max: 300000, min: 0, stdDev: 87464.2784226795, timestamp: default(DateTimeOffset), periodMs: periodMillis); } } @@ -274,47 +274,47 @@ public void TrackValueObject() Assert.ThrowsException( () => aggregator.TrackValue((object) (Boolean) true) ); MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 0, sum: 0.0, max: 0.0, min: 0.0, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 0, sum: 0.0, max: 0.0, min: 0.0, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue((object) (SByte) (0-1)); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 1, sum: -1, max: -1, min: -1, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 1, sum: -1, max: -1, min: -1, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue((object) (Byte) 2); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 2, sum: 1, max: 2, min: -1, stdDev: 1.5, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 2, sum: 1, max: 2, min: -1, stdDev: 1.5, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue((object) (Int16) (0-3)); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 3, sum: -2, max: 2, min: -3, stdDev: 2.05480466765633, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 3, sum: -2, max: 2, min: -3, stdDev: 2.05480466765633, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue((object) (UInt16) 4); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 4, sum: 2, max: 4, min: -3, stdDev: 2.69258240356725, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 4, sum: 2, max: 4, min: -3, stdDev: 2.69258240356725, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue((object) (Int32) (0-5)); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 5, sum: -3, max: 4, min: -5, stdDev: 3.26190128606002, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 5, sum: -3, max: 4, min: -5, stdDev: 3.26190128606002, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue((object) (UInt32) 6); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 6, sum: 3, max: 6, min: -5, stdDev: 3.86221007541882, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 6, sum: 3, max: 6, min: -5, stdDev: 3.86221007541882, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue((object) (Int64) (0-7)); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 7, sum: -4, max: 6, min: -7, stdDev: 4.43547848464572, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 7, sum: -4, max: 6, min: -7, stdDev: 4.43547848464572, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue((object) (UInt64) 8); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 8, sum: 4, max: 8, min: -7, stdDev: 5.02493781056044, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 8, sum: 4, max: 8, min: -7, stdDev: 5.02493781056044, timestamp: default(DateTimeOffset), periodMs: periodMillis); Assert.ThrowsException( () => aggregator.TrackValue((object) (IntPtr) 0xFF) ); Assert.ThrowsException( () => aggregator.TrackValue((object) (UIntPtr) 0xFF) ); @@ -323,39 +323,39 @@ public void TrackValueObject() aggregator.TrackValue((object) (Single) (0f-9.0f)); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 9, sum: -5, max: 8, min: -9, stdDev: 5.59982363037962000, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 9, sum: -5, max: 8, min: -9, stdDev: 5.59982363037962000, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue((object) (Double) 10.0); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 10, sum: 5, max: 10, min: -9, stdDev: 6.18465843842649000, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 10, sum: 5, max: 10, min: -9, stdDev: 6.18465843842649000, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue("-11"); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 11, sum: -6, max: 10, min: -11, stdDev: 6.76036088821026, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 11, sum: -6, max: 10, min: -11, stdDev: 6.76036088821026, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue("12.00"); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 12, sum: 6, max: 12, min: -11, stdDev: 7.34279692397023, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 12, sum: 6, max: 12, min: -11, stdDev: 7.34279692397023, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue("-1.300E+01"); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 13, sum: -7, max: 12, min: -13, stdDev: 7.91896831484996, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 13, sum: -7, max: 12, min: -13, stdDev: 7.91896831484996, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(" +14. "); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 14, sum: 7, max: 14, min: -13, stdDev: 8.5, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 14, sum: 7, max: 14, min: -13, stdDev: 8.5, timestamp: default(DateTimeOffset), periodMs: periodMillis); Assert.ThrowsException( () => aggregator.TrackValue("fifteen") ); Assert.ThrowsException( () => aggregator.TrackValue("") ); Assert.ThrowsException( () => aggregator.TrackValue("foo-bar") ); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 14, sum: 7, max: 14, min: -13, stdDev: 8.5, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 14, sum: 7, max: 14, min: -13, stdDev: 8.5, timestamp: default(DateTimeOffset), periodMs: periodMillis); } @@ -398,7 +398,7 @@ public void TrackValueConcurrently() Trace.WriteLine($"s_countBufferFlushes: {MetricSeriesAggregatorBase.countBufferFlushes}"); Trace.WriteLine($"s_countNewBufferObjectsCreated: {MetricSeriesAggregatorBase.countNewBufferObjectsCreated}"); #endif - ValidateNumericAggregateValues(aggregate, name: "null", count: 5050000, sum: 757500000000, max: 300000, min: 0, stdDev: 87464.2784226795, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 5050000, sum: 757500000000, max: 300000, min: 0, stdDev: 87464.2784226795, timestamp: default(DateTimeOffset), periodMs: periodMillis); } private static int s_trackValueConcurrentWorker_Current; @@ -444,9 +444,9 @@ private static async Task TrackValueConcurrentWorker(IMetricSeriesAggregator agg } } - private static void ValidateNumericAggregateValues(MetricAggregate aggregate, string name, int count, double sum, double max, double min, double stdDev, DateTimeOffset timestamp, long periodMs) + private static void ValidateNumericAggregateValues(MetricAggregate aggregate, int count, double sum, double max, double min, double stdDev, DateTimeOffset timestamp, long periodMs) { - TestUtil.ValidateNumericAggregateValues(aggregate, name, count, sum, max, min, stdDev, timestamp, periodMs, "Microsoft.Azure.Measurement"); + TestUtil.ValidateNumericAggregateValues(aggregate, "", "null", count, sum, max, min, stdDev, timestamp, periodMs, "Microsoft.Azure.Measurement"); } /// @@ -549,7 +549,7 @@ public void CompleteAggregation() var aggregationManager = new MetricAggregationManager(); var mesurementConfig = new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false); - var measurementMetric = new MetricSeries(aggregationManager, new MetricIdentifier("Cows Sold"), null, mesurementConfig); + var measurementMetric = new MetricSeries(aggregationManager, new MetricIdentifier("Animal Metrics", "Cows Sold"), null, mesurementConfig); var measurementAggregator = new MeasurementAggregator( (MetricSeriesConfigurationForMeasurement) measurementMetric.GetConfiguration(), @@ -557,7 +557,7 @@ public void CompleteAggregation() CycleKind.Custom); var accumulatorConfig = new MetricSeriesConfigurationForTestingAccumulatorBehavior(); - var accumulatorMetric = new MetricSeries(aggregationManager, new MetricIdentifier("Cows Sold"), null, accumulatorConfig); + var accumulatorMetric = new MetricSeries(aggregationManager, new MetricIdentifier("Animal Metrics", "Cows Sold"), null, accumulatorConfig); var accumulatorAggregator = new MetricSeriesConfigurationForTestingAccumulatorBehavior.Aggregator( (MetricSeriesConfigurationForTestingAccumulatorBehavior) accumulatorMetric.GetConfiguration(), diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/Implementation/MeasurementAggregator_restrictToUInt32ValuesTrue_Tests.cs b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/Implementation/MeasurementAggregator_restrictToUInt32ValuesTrue_Tests.cs index 3a7dc3939b..5f972f780d 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/Implementation/MeasurementAggregator_restrictToUInt32ValuesTrue_Tests.cs +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/Implementation/MeasurementAggregator_restrictToUInt32ValuesTrue_Tests.cs @@ -47,7 +47,7 @@ public void TrackValueDouble() aggregationCycleKind: CycleKind.Custom); MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 0, sum: 0.0, max: 0.0, min: 0.0, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 0, sum: 0.0, max: 0.0, min: 0.0, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); } { // Zero value: @@ -59,7 +59,7 @@ public void TrackValueDouble() aggregator.TrackValue(0); MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 1, sum: 0.0, max: 0.0, min: 0.0, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 1, sum: 0.0, max: 0.0, min: 0.0, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); } { // Values out of range: @@ -85,7 +85,7 @@ public void TrackValueDouble() Assert.ThrowsException( () => aggregator.TrackValue(Double.MaxValue) ); MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 0, sum: 0, max: 0, min: 0, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 0, sum: 0, max: 0, min: 0, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); } { // A single value: @@ -97,7 +97,7 @@ public void TrackValueDouble() aggregator.TrackValue(42); MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 1, sum: 42.0, max: 42.0, min: 42.0, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 1, sum: 42.0, max: 42.0, min: 42.0, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); } { // Two values: @@ -110,7 +110,7 @@ public void TrackValueDouble() aggregator.TrackValue(19); MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 2, sum: 61.0, max: 42.0, min: 19.0, stdDev: 11.5, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 2, sum: 61.0, max: 42.0, min: 19.0, stdDev: 11.5, timestamp: default(DateTimeOffset), periodMs: periodMillis); } { // 3 values: @@ -123,7 +123,7 @@ public void TrackValueDouble() aggregator.TrackValue(4200000); MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 3, sum: 6000000, max: 4200000.0, min: 0, stdDev: 1720465.05340853, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 3, sum: 6000000, max: 4200000.0, min: 0, stdDev: 1720465.05340853, timestamp: default(DateTimeOffset), periodMs: periodMillis); } { // Rounded values: @@ -134,31 +134,31 @@ public void TrackValueDouble() aggregator.TrackValue(1); MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 1, sum: 1, max: 1, min: 1, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 1, sum: 1, max: 1, min: 1, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(-0.0000001); aggregator.TrackValue(0.00000001); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 3, sum: 1, max: 1, min: 0, stdDev: 0.471404520791032, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 3, sum: 1, max: 1, min: 0, stdDev: 0.471404520791032, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(100.0000001); aggregator.TrackValue( 99.9999999); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 5, sum: 201, max: 100, min: 0, stdDev: 48.8278608992858, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 5, sum: 201, max: 100, min: 0, stdDev: 48.8278608992858, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(((double) Int32.MaxValue) - 0.0000001); aggregator.TrackValue(((double) Int32.MaxValue) + 0.0000001); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 7, sum: 4294967495, max: 2147483647, min: 0, stdDev: 970134205.051638, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 7, sum: 4294967495, max: 2147483647, min: 0, stdDev: 970134205.051638, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(((double) UInt32.MaxValue) - 0.0000001); aggregator.TrackValue(((double) UInt32.MaxValue) + 0.0000001); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 9, sum: 12884902085, max: 4294967295, min: 0, stdDev: 1753413037.5015, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 9, sum: 12884902085, max: 4294967295, min: 0, stdDev: 1753413037.5015, timestamp: default(DateTimeOffset), periodMs: periodMillis); } { @@ -169,7 +169,7 @@ public void TrackValueDouble() aggregationCycleKind: CycleKind.Custom); MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 0, sum: 0, max: 0, min: 0, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); aggregator.TrackValue(UInt32.MaxValue - 10000); aggregator.TrackValue(UInt32.MaxValue - 1000); @@ -182,7 +182,7 @@ public void TrackValueDouble() // We need a more numerically stable value for the calculation of StdDev / variance. // For example, in this case, the expected value is 4189.49579305195, but we get 4189.4343293576, which is close, but still quite a bit off. // Since StdDev is utilized rarely, we leave this for later and put the actual outcome into the test expectation to catch breaks in the future. - ValidateNumericAggregateValues(aggregate, name: "null", count: 4, sum: 17179858080, max: 4294967295, min: 4294957295, stdDev: 4189.4343293576, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 4, sum: 17179858080, max: 4294967295, min: 4294957295, stdDev: 4189.4343293576, timestamp: default(DateTimeOffset), periodMs: periodMillis); } { // Large number of small values: @@ -200,7 +200,7 @@ public void TrackValueDouble() } MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 10100000, sum: 505000000, max: 100, min: 0, stdDev: 29.1547594742265, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 10100000, sum: 505000000, max: 100, min: 0, stdDev: 29.1547594742265, timestamp: default(DateTimeOffset), periodMs: periodMillis); } { // Large number of large values: @@ -218,7 +218,7 @@ public void TrackValueDouble() } MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 10100000, sum: 1515000000000, max: 300000, min: 0, stdDev: 87464.2784226795, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 10100000, sum: 1515000000000, max: 300000, min: 0, stdDev: 87464.2784226795, timestamp: default(DateTimeOffset), periodMs: periodMillis); } } @@ -239,35 +239,35 @@ public void TrackValueObject() Assert.ThrowsException( () => aggregator.TrackValue((object) (Boolean) true) ); MetricAggregate aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 0, sum: 0.0, max: 0.0, min: 0.0, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 0, sum: 0.0, max: 0.0, min: 0.0, stdDev: 0.0, timestamp: default(DateTimeOffset), periodMs: periodMillis); Assert.ThrowsException( () => aggregator.TrackValue((object) (SByte) (0-1)) ); aggregator.TrackValue((object) (Byte) 2); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 1, sum: 2, max: 2, min: 2, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 1, sum: 2, max: 2, min: 2, stdDev: 0, timestamp: default(DateTimeOffset), periodMs: periodMillis); Assert.ThrowsException( () => aggregator.TrackValue((object) (Int16) (0-3)) ); aggregator.TrackValue((object) (UInt16) 4); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 2, sum: 6, max: 4, min: 2, stdDev: 1, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 2, sum: 6, max: 4, min: 2, stdDev: 1, timestamp: default(DateTimeOffset), periodMs: periodMillis); Assert.ThrowsException( () => aggregator.TrackValue((object) (Int32) (0-5)) ); aggregator.TrackValue((object) (UInt32) 6); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 3, sum: 12, max: 6, min: 2, stdDev: 1.63299316185545, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 3, sum: 12, max: 6, min: 2, stdDev: 1.63299316185545, timestamp: default(DateTimeOffset), periodMs: periodMillis); Assert.ThrowsException( () => aggregator.TrackValue((object) (Int64) (0-7)) ); aggregator.TrackValue((object) (UInt64) 8); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 4, sum: 20, max: 8, min: 2, stdDev: 2.23606797749979, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 4, sum: 20, max: 8, min: 2, stdDev: 2.23606797749979, timestamp: default(DateTimeOffset), periodMs: periodMillis); Assert.ThrowsException( () => aggregator.TrackValue((object) (IntPtr) 0xFF) ); Assert.ThrowsException( () => aggregator.TrackValue((object) (UIntPtr) 0xFF) ); @@ -278,14 +278,14 @@ public void TrackValueObject() aggregator.TrackValue((object) (Double) 10.0); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 5, sum: 30, max: 10, min: 2, stdDev: 2.82842712474619, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 5, sum: 30, max: 10, min: 2, stdDev: 2.82842712474619, timestamp: default(DateTimeOffset), periodMs: periodMillis); Assert.ThrowsException( () => aggregator.TrackValue("-11") ); aggregator.TrackValue("12"); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 6, sum: 42, max: 12, min: 2, stdDev: 3.41565025531987, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 6, sum: 42, max: 12, min: 2, stdDev: 3.41565025531987, timestamp: default(DateTimeOffset), periodMs: periodMillis); Assert.ThrowsException( () => aggregator.TrackValue("-1.300E+01") ); Assert.ThrowsException( () => aggregator.TrackValue("13.5")); @@ -293,19 +293,19 @@ public void TrackValueObject() aggregator.TrackValue(" +14 "); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 7, sum: 56, max: 14, min: 2, stdDev: 4, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 7, sum: 56, max: 14, min: 2, stdDev: 4, timestamp: default(DateTimeOffset), periodMs: periodMillis); Assert.ThrowsException( () => aggregator.TrackValue("fifteen") ); Assert.ThrowsException( () => aggregator.TrackValue("") ); Assert.ThrowsException( () => aggregator.TrackValue("foo-bar") ); aggregate = aggregator.CreateAggregateUnsafe(endTS); - ValidateNumericAggregateValues(aggregate, name: "null", count: 7, sum: 56, max: 14, min: 2, stdDev: 4, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 7, sum: 56, max: 14, min: 2, stdDev: 4, timestamp: default(DateTimeOffset), periodMs: periodMillis); } - private static void ValidateNumericAggregateValues(MetricAggregate aggregate, string name, int count, double sum, double max, double min, double stdDev, DateTimeOffset timestamp, long periodMs) + private static void ValidateNumericAggregateValues(MetricAggregate aggregate, int count, double sum, double max, double min, double stdDev, DateTimeOffset timestamp, long periodMs) { - TestUtil.ValidateNumericAggregateValues(aggregate, name, count, sum, max, min, stdDev, timestamp, periodMs, "Microsoft.Azure.Measurement"); + TestUtil.ValidateNumericAggregateValues(aggregate, "", "null", count, sum, max, min, stdDev, timestamp, periodMs, "Microsoft.Azure.Measurement"); } /// @@ -348,7 +348,7 @@ public void TrackValueConcurrently() Trace.WriteLine($"s_countBufferFlushes: {MetricSeriesAggregatorBase.countBufferFlushes}"); Trace.WriteLine($"s_countNewBufferObjectsCreated: {MetricSeriesAggregatorBase.countNewBufferObjectsCreated}"); #endif - ValidateNumericAggregateValues(aggregate, name: "null", count: 5050000, sum: 757500000000, max: 300000, min: 0, stdDev: 87464.2784226795, timestamp: default(DateTimeOffset), periodMs: periodMillis); + ValidateNumericAggregateValues(aggregate, count: 5050000, sum: 757500000000, max: 300000, min: 0, stdDev: 87464.2784226795, timestamp: default(DateTimeOffset), periodMs: periodMillis); } private static int s_trackValueConcurrentWorker_Current; @@ -478,7 +478,7 @@ public void CompleteAggregation() var aggregationManager = new MetricAggregationManager(); var mesurementConfig = new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: true); - var measurementMetric = new MetricSeries(aggregationManager, new MetricIdentifier("Cows Sold"), null, mesurementConfig); + var measurementMetric = new MetricSeries(aggregationManager, new MetricIdentifier("Animal Metrics", "Cows Sold"), null, mesurementConfig); var measurementAggregator = new MeasurementAggregator( (MetricSeriesConfigurationForMeasurement) measurementMetric.GetConfiguration(), diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/MetricSeriesTests.cs b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/MetricSeriesTests.cs index f366d33606..ef588775c6 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/MetricSeriesTests.cs +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/MetricSeriesTests.cs @@ -55,7 +55,7 @@ public void TrackValueDouble() DateTimeOffset endTSRounded = DateTimeOffset.Now; endTSRounded = new DateTimeOffset(endTSRounded.Year, endTSRounded.Month, endTSRounded.Day, endTSRounded.Hour, endTSRounded.Minute, endTSRounded.Second, 0, endTSRounded.Offset); - TestUtil.ValidateNumericAggregateValues(aggregateCollector[0], name: "Foo Bar", count: 3, sum: 1.16, max: 0.8, min: -0.04, stdDev: 0.343058142140496, aggKindMoniker: "Microsoft.Azure.Measurement"); + TestUtil.ValidateNumericAggregateValues(aggregateCollector[0], ns: "ns", name: "Foo Bar", count: 3, sum: 1.16, max: 0.8, min: -0.04, stdDev: 0.343058142140496, aggKindMoniker: "Microsoft.Azure.Measurement"); // Timestamp checks have to be approximate, since we have no possibilityt to get exact timetamps snapped internally. @@ -92,7 +92,7 @@ public void TrackValueObject() var aggregateCollector = new MemoryMetricTelemetryPipeline(); var manager = new MetricManager(aggregateCollector); IMetricSeriesConfiguration config = new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false); - MetricSeries series = manager.CreateNewSeries("ns", "Foo Bar", config); + MetricSeries series = manager.CreateNewSeries("ns-ping", "Foo Bar", config); Assert.ThrowsException( () => series.TrackValue("xxx") ); series.TrackValue((float) 0.8); @@ -108,7 +108,7 @@ public void TrackValueObject() DateTimeOffset endTSRounded = DateTimeOffset.Now; endTSRounded = new DateTimeOffset(endTSRounded.Year, endTSRounded.Month, endTSRounded.Day, endTSRounded.Hour, endTSRounded.Minute, endTSRounded.Second, 0, endTSRounded.Offset); - TestUtil.ValidateNumericAggregateValues(aggregateCollector[0], name: "Foo Bar", count: 3, sum: 1.16, max: 0.8, min: -0.04, stdDev: 0.343058142140496, aggKindMoniker: "Microsoft.Azure.Measurement"); + TestUtil.ValidateNumericAggregateValues(aggregateCollector[0], ns: "ns-ping", name: "Foo Bar", count: 3, sum: 1.16, max: 0.8, min: -0.04, stdDev: 0.343058142140496, aggKindMoniker: "Microsoft.Azure.Measurement"); // Timestamp checks have to be approximate, since we have no possibilityt to get exact timetamps snapped internally. @@ -166,7 +166,7 @@ public void ResetAggregation() DateTimeOffset endTS = DateTimeOffset.Now; - TestUtil.ValidateNumericAggregateValues(aggregateCollector[0], name: "Foo Bar", count: 4, sum: 1.41, max: 1.07, min: -0.15, stdDev: 0.447681527427702, aggKindMoniker: "Microsoft.Azure.Measurement"); + TestUtil.ValidateNumericAggregateValues(aggregateCollector[0], ns: "ns", name: "Foo Bar", count: 4, sum: 1.41, max: 1.07, min: -0.15, stdDev: 0.447681527427702, aggKindMoniker: "Microsoft.Azure.Measurement"); // The following might break sometimes! // There is a little chance that second boundary is crossed between startTS and the aggregation timestamps are snapped. @@ -222,7 +222,7 @@ public void ResetAggregationDateTimeOffset() DateTimeOffset endTS = DateTimeOffset.Now; - TestUtil.ValidateNumericAggregateValues(aggregateCollector[0], name: "Foo Bar", count: 4, sum: 1.41, max: 1.07, min: -0.15, stdDev: 0.447681527427702, aggKindMoniker: "Microsoft.Azure.Measurement"); + TestUtil.ValidateNumericAggregateValues(aggregateCollector[0], ns: "ns", name: "Foo Bar", count: 4, sum: 1.41, max: 1.07, min: -0.15, stdDev: 0.447681527427702, aggKindMoniker: "Microsoft.Azure.Measurement"); // The following might break sometimes! // There is a little chance that second boundary is crossed between startTS and the aggregation timestamps are snapped. @@ -258,7 +258,7 @@ public void GetCurrentAggregateUnsafe_Measurement() var aggregateCollector = new MemoryMetricTelemetryPipeline(); var manager = new MetricManager(aggregateCollector); - MetricSeries series = manager.CreateNewSeries("ns", "Foo Bar", seriesConfig); + MetricSeries series = manager.CreateNewSeries("NS", "Foo Bar", seriesConfig); { MetricAggregate aggregate = series.GetCurrentAggregateUnsafe(); @@ -271,7 +271,7 @@ public void GetCurrentAggregateUnsafe_Measurement() { MetricAggregate aggregate = series.GetCurrentAggregateUnsafe(); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "Foo Bar", count: 3, sum: 0.4, max: 2, min: -2, stdDev: 1.64384373412506, aggKindMoniker: aggregationKindMoniker); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "NS", name: "Foo Bar", count: 3, sum: 0.4, max: 2, min: -2, stdDev: 1.64384373412506, aggKindMoniker: aggregationKindMoniker); // The following might break sometimes! // There is a little chance that second boundary is crossed between test TS and the aggregation timestamps are snapped. @@ -290,7 +290,7 @@ public void GetCurrentAggregateUnsafe_Measurement() { MetricAggregate aggregate = series.GetCurrentAggregateUnsafe(); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "Foo Bar", count: 7, sum: 1.81, max: 2, min: -2, stdDev: 1.13330652229191, aggKindMoniker: aggregationKindMoniker); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "NS", name: "Foo Bar", count: 7, sum: 1.81, max: 2, min: -2, stdDev: 1.13330652229191, aggKindMoniker: aggregationKindMoniker); // The following might break sometimes! // There is a little chance that second boundary is crossed between test TS and the aggregation timestamps are snapped. @@ -317,7 +317,7 @@ public void GetCurrentAggregateUnsafe_Measurement() MetricAggregate aggregate = series.GetCurrentAggregateUnsafe(); Assert.IsFalse(seriesConfig.RequiresPersistentAggregation); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "Foo Bar", count: 1, sum: 0, max: 0, min: 0, stdDev: 0, aggKindMoniker: aggregationKindMoniker); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "NS", name: "Foo Bar", count: 1, sum: 0, max: 0, min: 0, stdDev: 0, aggKindMoniker: aggregationKindMoniker); // The following might break sometimes! // There is a little chance that second boundary is crossed between test TS and the aggregation timestamps are snapped. @@ -377,7 +377,7 @@ public void GetCurrentAggregateUnsafe_MetricAggregationCycleKind_DateTimeOffset_ { MetricAggregate aggregate = series.GetCurrentAggregateUnsafe(MetricAggregationCycleKind.Default, stepTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "Foo Bar", count: 3, sum: 0.4, max: 2, min: -2, stdDev: 1.64384373412506, aggKindMoniker: aggregationKindMoniker); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "ns", name: "Foo Bar", count: 3, sum: 0.4, max: 2, min: -2, stdDev: 1.64384373412506, aggKindMoniker: aggregationKindMoniker); // This might break: Second boundary might be crossed between snapping test and the aggregation timestamps. Try re-running. Assert.AreEqual( @@ -413,7 +413,7 @@ public void GetCurrentAggregateUnsafe_MetricAggregationCycleKind_DateTimeOffset_ { MetricAggregate aggregate = series.GetCurrentAggregateUnsafe(MetricAggregationCycleKind.Default, stepTS); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "Foo Bar", count: 7, sum: 1.81, max: 2, min: -2, stdDev: 1.13330652229191, aggKindMoniker: aggregationKindMoniker); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "ns", name: "Foo Bar", count: 7, sum: 1.81, max: 2, min: -2, stdDev: 1.13330652229191, aggKindMoniker: aggregationKindMoniker); // This might break: Second boundary might be crossed between snapping test and the aggregation timestamps. Try re-running. @@ -431,7 +431,7 @@ public void GetCurrentAggregateUnsafe_MetricAggregationCycleKind_DateTimeOffset_ { Assert.IsFalse(seriesConfig.RequiresPersistentAggregation); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "Foo Bar", count: 4, sum: 1.41, max: 1.07, min: -0.15, stdDev: 0.447681527427702, aggKindMoniker: aggregationKindMoniker); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "ns", name: "Foo Bar", count: 4, sum: 1.41, max: 1.07, min: -0.15, stdDev: 0.447681527427702, aggKindMoniker: aggregationKindMoniker); // This might break: Second boundary might be crossed between snapping test and the aggregation timestamps. Try re-running. @@ -478,7 +478,7 @@ public void GetCurrentAggregateUnsafe_MetricAggregationCycleKind_DateTimeOffset_ Assert.IsFalse(seriesConfig.RequiresPersistentAggregation); // Custom was not cycled by Flush. - TestUtil.ValidateNumericAggregateValues(aggregate, name: "Foo Bar", count: 4, sum: 1.41, max: 1.07, min: -0.15, stdDev: 0.447681527427702, aggKindMoniker: aggregationKindMoniker); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "ns", name: "Foo Bar", count: 4, sum: 1.41, max: 1.07, min: -0.15, stdDev: 0.447681527427702, aggKindMoniker: aggregationKindMoniker); // This might break: Second boundary might be crossed between snapping test and the aggregation timestamps. Try re-running. Assert.AreEqual( @@ -519,7 +519,7 @@ public void GetCurrentAggregateUnsafe_MetricAggregationCycleKind_DateTimeOffset_ { Assert.IsFalse(seriesConfig.RequiresPersistentAggregation); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "Foo Bar", count: 1, sum: 0, max: 0, min: 0, stdDev: 0, aggKindMoniker: aggregationKindMoniker); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "ns", name: "Foo Bar", count: 1, sum: 0, max: 0, min: 0, stdDev: 0, aggKindMoniker: aggregationKindMoniker); // This might break: Second boundary might be crossed between snapping test and the aggregation timestamps. Try re-running. Assert.AreEqual( @@ -546,7 +546,7 @@ public void GetCurrentAggregateUnsafe_MetricAggregationCycleKind_DateTimeOffset_ { Assert.IsFalse(seriesConfig.RequiresPersistentAggregation); - TestUtil.ValidateNumericAggregateValues(aggregate, name: "Foo Bar", count: 1, sum: 0, max: 0, min: 0, stdDev: 0, aggKindMoniker: aggregationKindMoniker); + TestUtil.ValidateNumericAggregateValues(aggregate, ns: "ns", name: "Foo Bar", count: 1, sum: 0, max: 0, min: 0, stdDev: 0, aggKindMoniker: aggregationKindMoniker); // This might break: Second boundary might be crossed between snapping test and the aggregation timestamps. Try re-running. Assert.AreEqual( diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/MetricSeriesConfigurationForTestingAccumulatorBehavior.cs b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/MetricSeriesConfigurationForTestingAccumulatorBehavior.cs index 9e46ce6755..5dca71d888 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/MetricSeriesConfigurationForTestingAccumulatorBehavior.cs +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/MetricSeriesConfigurationForTestingAccumulatorBehavior.cs @@ -176,7 +176,7 @@ protected override MetricAggregate CreateAggregate(DateTimeOffset periodEnd) max = Util.EnsureConcreteValue(max); MetricAggregate aggregate = new MetricAggregate( - DataSeries?.MetricIdentifier.MetricNamespace ?? Util.NullString, + DataSeries?.MetricIdentifier.MetricNamespace ?? String.Empty, DataSeries?.MetricIdentifier.MetricId ?? Util.NullString, MetricSeriesConfigurationForTestingAccumulatorBehavior.Constants.AggregateKindMoniker); diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/TestUtil.cs b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/TestUtil.cs index 7a8b1d2dfd..3783a5823e 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/TestUtil.cs +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/TestUtil.cs @@ -125,16 +125,16 @@ public static TelemetryConfiguration CreateAITelemetryConfig(out IList (MetricTelemetry) t) .ToArray(); - TestUtil.ValidateNumericAggregateValues(orderedTelemetry[0], "CowsSold", 2, 1.1, 0.6, 0.5, 0.05); + TestUtil.ValidateNumericAggregateValues(orderedTelemetry[0], String.Empty, "CowsSold", 2, 1.1, 0.6, 0.5, 0.05); Assert.AreEqual(3, orderedTelemetry[0].Context.Properties.Count); Assert.IsTrue(orderedTelemetry[0].Context.Properties.ContainsKey(TestUtil.AggregationIntervalMonikerPropertyKey)); Assert.AreEqual("Purple", orderedTelemetry[0].Context.Properties["Color"]); @@ -1173,13 +1176,13 @@ public void GetMetric_SendsData() .Select((t) => (MetricTelemetry) t) .ToArray(); - TestUtil.ValidateNumericAggregateValues(orderedTelemetry[0], "CowsSold", 1, 0.8, 0.8, 0.8, 0); + TestUtil.ValidateNumericAggregateValues(orderedTelemetry[0], String.Empty, "CowsSold", 1, 0.8, 0.8, 0.8, 0); Assert.AreEqual(3, orderedTelemetry[0].Context.Properties.Count); Assert.IsTrue(orderedTelemetry[0].Context.Properties.ContainsKey(TestUtil.AggregationIntervalMonikerPropertyKey)); Assert.AreEqual("Purple", orderedTelemetry[0].Context.Properties["Color"]); Assert.AreEqual("Small", orderedTelemetry[0].Context.Properties["Size"]); - TestUtil.ValidateNumericAggregateValues(orderedTelemetry[1], "CowsSold", 1, 0.7, 0.7, 0.7, 0); + TestUtil.ValidateNumericAggregateValues(orderedTelemetry[1], String.Empty, "CowsSold", 1, 0.7, 0.7, 0.7, 0); Assert.AreEqual(3, orderedTelemetry[1].Context.Properties.Count); Assert.IsTrue(orderedTelemetry[1].Context.Properties.ContainsKey(TestUtil.AggregationIntervalMonikerPropertyKey)); Assert.AreEqual("Purple", orderedTelemetry[1].Context.Properties["Color"]); @@ -1187,6 +1190,105 @@ public void GetMetric_SendsData() sentTelemetry.Clear(); } + { + Metric metric = client.GetMetric( + new MetricIdentifier( + "Test MetricNamespace", + "Test MetricId", + "Dim 1", + "Dim 2", + "Dim 3", + "Dim 4", + "Dim 5", + "Dim 6", + "Dim 7", + "Dim 8", + "Dim 9", + "Dim 10"), + MetricConfigurations.Common.Measurement()); + Assert.IsNotNull(metric); + Assert.AreEqual(10, metric.Identifier.DimensionsCount); + Assert.AreEqual("Test MetricNamespace", metric.Identifier.MetricNamespace); + Assert.AreEqual("Test MetricId", metric.Identifier.MetricId); + Assert.AreEqual(MetricConfigurations.Common.Measurement(), metric.GetConfiguration()); + Assert.AreEqual("Dim 1", metric.Identifier.GetDimensionName(1)); + Assert.AreEqual("Dim 2", metric.Identifier.GetDimensionName(2)); + Assert.AreEqual("Dim 3", metric.Identifier.GetDimensionName(3)); + Assert.AreEqual("Dim 4", metric.Identifier.GetDimensionName(4)); + Assert.AreEqual("Dim 5", metric.Identifier.GetDimensionName(5)); + Assert.AreEqual("Dim 6", metric.Identifier.GetDimensionName(6)); + Assert.AreEqual("Dim 7", metric.Identifier.GetDimensionName(7)); + Assert.AreEqual("Dim 8", metric.Identifier.GetDimensionName(8)); + Assert.AreEqual("Dim 9", metric.Identifier.GetDimensionName(9)); + Assert.AreEqual("Dim 10", metric.Identifier.GetDimensionName(10)); + + metric.TryTrackValue(0.5, "DV1", "DV2", "DV3", "DV4", "DV5", "DV6", "DV7", "DV8", "DV9", "DV10"); + metric.TryTrackValue(0.6, "DV1", "DV2", "DV3", "DV4", "DV5", "DV6", "DV7", "DV8", "DV9", "DV10"); + + telemetryPipeline.GetMetricManager().Flush(); + Assert.AreEqual(1, sentTelemetry.Count); + + MetricTelemetry[] orderedTelemetry = sentTelemetry + .OrderByDescending( (t) => ((MetricTelemetry) t).Count * 10000 + ((MetricTelemetry) t).Sum ) + .Select( (t) => (MetricTelemetry) t ) + .ToArray(); + + TestUtil.ValidateNumericAggregateValues(orderedTelemetry[0], "Test MetricNamespace", "Test MetricId", 2, 1.1, 0.6, 0.5, 0.05); + Assert.AreEqual(11, orderedTelemetry[0].Context.Properties.Count); + Assert.IsTrue(orderedTelemetry[0].Context.Properties.ContainsKey(TestUtil.AggregationIntervalMonikerPropertyKey)); + Assert.AreEqual("DV1", orderedTelemetry[0].Context.Properties["Dim 1"]); + Assert.AreEqual("DV2", orderedTelemetry[0].Context.Properties["Dim 2"]); + Assert.AreEqual("DV3", orderedTelemetry[0].Context.Properties["Dim 3"]); + Assert.AreEqual("DV4", orderedTelemetry[0].Context.Properties["Dim 4"]); + Assert.AreEqual("DV5", orderedTelemetry[0].Context.Properties["Dim 5"]); + Assert.AreEqual("DV6", orderedTelemetry[0].Context.Properties["Dim 6"]); + Assert.AreEqual("DV7", orderedTelemetry[0].Context.Properties["Dim 7"]); + Assert.AreEqual("DV8", orderedTelemetry[0].Context.Properties["Dim 8"]); + Assert.AreEqual("DV9", orderedTelemetry[0].Context.Properties["Dim 9"]); + Assert.AreEqual("DV10", orderedTelemetry[0].Context.Properties["Dim 10"]); + sentTelemetry.Clear(); + + metric.TryTrackValue(0.7, "DV1", "DV2", "DV3", "DV4", "DV5", "DV6", "DV7", "DV8", "DV9", "DV10"); + metric.TryTrackValue(0.8, "DV1", "DV2", "DV3", "DV4", "DV5", "DV6a", "DV7", "DV8", "DV9", "DV10"); + + telemetryPipeline.GetMetricManager().Flush(); + Assert.AreEqual(2, sentTelemetry.Count); + + orderedTelemetry = sentTelemetry + .OrderByDescending( (t) => ((MetricTelemetry) t).Count * 10000 + ((MetricTelemetry) t).Sum ) + .Select( (t) => (MetricTelemetry) t ) + .ToArray(); + + TestUtil.ValidateNumericAggregateValues(orderedTelemetry[0], "Test MetricNamespace", "Test MetricId", 1, 0.8, 0.8, 0.8, 0); + Assert.AreEqual(11, orderedTelemetry[0].Context.Properties.Count); + Assert.IsTrue(orderedTelemetry[0].Context.Properties.ContainsKey(TestUtil.AggregationIntervalMonikerPropertyKey)); + Assert.AreEqual("DV1", orderedTelemetry[0].Context.Properties["Dim 1"]); + Assert.AreEqual("DV2", orderedTelemetry[0].Context.Properties["Dim 2"]); + Assert.AreEqual("DV3", orderedTelemetry[0].Context.Properties["Dim 3"]); + Assert.AreEqual("DV4", orderedTelemetry[0].Context.Properties["Dim 4"]); + Assert.AreEqual("DV5", orderedTelemetry[0].Context.Properties["Dim 5"]); + Assert.AreEqual("DV6a", orderedTelemetry[0].Context.Properties["Dim 6"]); + Assert.AreEqual("DV7", orderedTelemetry[0].Context.Properties["Dim 7"]); + Assert.AreEqual("DV8", orderedTelemetry[0].Context.Properties["Dim 8"]); + Assert.AreEqual("DV9", orderedTelemetry[0].Context.Properties["Dim 9"]); + Assert.AreEqual("DV10", orderedTelemetry[0].Context.Properties["Dim 10"]); + + TestUtil.ValidateNumericAggregateValues(orderedTelemetry[1], "Test MetricNamespace", "Test MetricId", 1, 0.7, 0.7, 0.7, 0); + Assert.AreEqual(11, orderedTelemetry[1].Context.Properties.Count); + Assert.IsTrue(orderedTelemetry[1].Context.Properties.ContainsKey(TestUtil.AggregationIntervalMonikerPropertyKey)); + Assert.AreEqual("DV1", orderedTelemetry[1].Context.Properties["Dim 1"]); + Assert.AreEqual("DV2", orderedTelemetry[1].Context.Properties["Dim 2"]); + Assert.AreEqual("DV3", orderedTelemetry[1].Context.Properties["Dim 3"]); + Assert.AreEqual("DV4", orderedTelemetry[1].Context.Properties["Dim 4"]); + Assert.AreEqual("DV5", orderedTelemetry[1].Context.Properties["Dim 5"]); + Assert.AreEqual("DV6", orderedTelemetry[1].Context.Properties["Dim 6"]); + Assert.AreEqual("DV7", orderedTelemetry[1].Context.Properties["Dim 7"]); + Assert.AreEqual("DV8", orderedTelemetry[1].Context.Properties["Dim 8"]); + Assert.AreEqual("DV9", orderedTelemetry[1].Context.Properties["Dim 9"]); + Assert.AreEqual("DV10", orderedTelemetry[1].Context.Properties["Dim 10"]); + + sentTelemetry.Clear(); + } TestUtil.CompleteDefaultAggregationCycle(telemetryPipeline.GetMetricManager()); telemetryPipeline.Dispose(); @@ -1680,30 +1782,30 @@ public void GetMetric_RespectsAggregationScope() .Select((t) => (MetricTelemetry) t) .ToArray(); - TestUtil.ValidateNumericAggregateValues(orderedTelemetry[0], "Metric A", 8, 916, 118, 111, 2.29128784747792); + TestUtil.ValidateNumericAggregateValues(orderedTelemetry[0], String.Empty, "Metric A", 8, 916, 118, 111, 2.29128784747792); Assert.AreEqual(2, orderedTelemetry[0].Context.Properties.Count); Assert.IsTrue(orderedTelemetry[0].Context.Properties.ContainsKey(TestUtil.AggregationIntervalMonikerPropertyKey)); Assert.AreEqual("Val", orderedTelemetry[0].Context.Properties["Dim1"]); - TestUtil.ValidateNumericAggregateValues(orderedTelemetry[1], "Metric A", 8, 836, 108, 101, 2.29128784747792); + TestUtil.ValidateNumericAggregateValues(orderedTelemetry[1], String.Empty, "Metric A", 8, 836, 108, 101, 2.29128784747792); Assert.AreEqual(1, orderedTelemetry[1].Context.Properties.Count); Assert.IsTrue(orderedTelemetry[1].Context.Properties.ContainsKey(TestUtil.AggregationIntervalMonikerPropertyKey)); - TestUtil.ValidateNumericAggregateValues(orderedTelemetry[2], "Metric A", 4, 1250, 314, 311, 1.11803398874989); + TestUtil.ValidateNumericAggregateValues(orderedTelemetry[2], String.Empty, "Metric A", 4, 1250, 314, 311, 1.11803398874989); Assert.AreEqual(2, orderedTelemetry[2].Context.Properties.Count); Assert.IsTrue(orderedTelemetry[2].Context.Properties.ContainsKey(TestUtil.AggregationIntervalMonikerPropertyKey)); Assert.AreEqual("Val", orderedTelemetry[2].Context.Properties["Dim1"]); - TestUtil.ValidateNumericAggregateValues(orderedTelemetry[3], "Metric A", 4, 1210, 304, 301, 1.11803398874989); + TestUtil.ValidateNumericAggregateValues(orderedTelemetry[3], String.Empty, "Metric A", 4, 1210, 304, 301, 1.11803398874989); Assert.AreEqual(1, orderedTelemetry[3].Context.Properties.Count); Assert.IsTrue(orderedTelemetry[3].Context.Properties.ContainsKey(TestUtil.AggregationIntervalMonikerPropertyKey)); - TestUtil.ValidateNumericAggregateValues(orderedTelemetry[4], "Metric A", 2, 631, 316, 315, 0.5); + TestUtil.ValidateNumericAggregateValues(orderedTelemetry[4], String.Empty, "Metric A", 2, 631, 316, 315, 0.5); Assert.AreEqual(2, orderedTelemetry[4].Context.Properties.Count); Assert.IsTrue(orderedTelemetry[4].Context.Properties.ContainsKey(TestUtil.AggregationIntervalMonikerPropertyKey)); Assert.AreEqual("Val", orderedTelemetry[4].Context.Properties["Dim1"]); - TestUtil.ValidateNumericAggregateValues(orderedTelemetry[5], "Metric A", 2, 611, 306, 305, 0.5); + TestUtil.ValidateNumericAggregateValues(orderedTelemetry[5], String.Empty, "Metric A", 2, 611, 306, 305, 0.5); Assert.AreEqual(1, orderedTelemetry[5].Context.Properties.Count); Assert.IsTrue(orderedTelemetry[5].Context.Properties.ContainsKey(TestUtil.AggregationIntervalMonikerPropertyKey)); @@ -1712,12 +1814,12 @@ public void GetMetric_RespectsAggregationScope() .Select((t) => (MetricTelemetry) t) .ToArray(); - TestUtil.ValidateNumericAggregateValues(orderedTelemetry[0], "Metric A", 2, 423, 212, 211, 0.5); + TestUtil.ValidateNumericAggregateValues(orderedTelemetry[0], String.Empty, "Metric A", 2, 423, 212, 211, 0.5); Assert.AreEqual(2, orderedTelemetry[0].Context.Properties.Count); Assert.IsTrue(orderedTelemetry[0].Context.Properties.ContainsKey(TestUtil.AggregationIntervalMonikerPropertyKey)); Assert.AreEqual("Val", orderedTelemetry[0].Context.Properties["Dim1"]); - TestUtil.ValidateNumericAggregateValues(orderedTelemetry[1], "Metric A", 2, 403, 202, 201, 0.5); + TestUtil.ValidateNumericAggregateValues(orderedTelemetry[1], String.Empty, "Metric A", 2, 403, 202, 201, 0.5); Assert.AreEqual(1, orderedTelemetry[1].Context.Properties.Count); Assert.IsTrue(orderedTelemetry[1].Context.Properties.ContainsKey(TestUtil.AggregationIntervalMonikerPropertyKey)); @@ -1801,7 +1903,7 @@ public void GetMetric_RespectsClientContext() .Select((t) => (MetricTelemetry) t) .ToArray(); - TestUtil.ValidateNumericAggregateValues(orderedTelemetry[0], "AnimalsSold", 4, 1000, 400, 100, 111.803398874989); + TestUtil.ValidateNumericAggregateValues(orderedTelemetry[0], String.Empty, "AnimalsSold", 4, 1000, 400, 100, 111.803398874989); Assert.AreEqual(3, orderedTelemetry[0].Context.Properties.Count); Assert.IsTrue(orderedTelemetry[0].Context.Properties.ContainsKey(TestUtil.AggregationIntervalMonikerPropertyKey)); Assert.AreEqual("Rabbit", orderedTelemetry[0].Context.Properties["Species"]); @@ -1809,7 +1911,7 @@ public void GetMetric_RespectsClientContext() Assert.AreEqual("Super-Fancy", orderedTelemetry[0].Context.Device.Model); Assert.AreEqual("3A3C34B6-CA2D-4372-B772-3B015E1E83DC", orderedTelemetry[0].Context.InstrumentationKey); - TestUtil.ValidateNumericAggregateValues(orderedTelemetry[1], "AnimalsSold", 2, 70, 40, 30, 5); + TestUtil.ValidateNumericAggregateValues(orderedTelemetry[1], String.Empty, "AnimalsSold", 2, 70, 40, 30, 5); Assert.AreEqual(3, orderedTelemetry[1].Context.Properties.Count); Assert.IsTrue(orderedTelemetry[1].Context.Properties.ContainsKey(TestUtil.AggregationIntervalMonikerPropertyKey)); Assert.AreEqual("Cow", orderedTelemetry[1].Context.Properties["Species"]); @@ -1817,7 +1919,7 @@ public void GetMetric_RespectsClientContext() Assert.AreEqual("Super-Fancy", orderedTelemetry[1].Context.Device.Model); Assert.AreEqual("3A3C34B6-CA2D-4372-B772-3B015E1E83DC", orderedTelemetry[1].Context.InstrumentationKey); - TestUtil.ValidateNumericAggregateValues(orderedTelemetry[2], "AnimalsSold", 2, 30, 20, 10, 5); + TestUtil.ValidateNumericAggregateValues(orderedTelemetry[2], String.Empty, "AnimalsSold", 2, 30, 20, 10, 5); Assert.AreEqual(2, orderedTelemetry[2].Context.Properties.Count); Assert.IsTrue(orderedTelemetry[2].Context.Properties.ContainsKey(TestUtil.AggregationIntervalMonikerPropertyKey)); Assert.AreEqual("Cow", orderedTelemetry[2].Context.Properties["Species"]); diff --git a/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs b/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs index 318a3e28a5..a936256af0 100644 --- a/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs +++ b/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs @@ -244,6 +244,7 @@ public ITelemetry DeepClone() /// void ITelemetry.Sanitize() { + this.MetricNamespace = Property.TrimAndTruncate(this.MetricNamespace, Property.MaxMetricNamespaceLength); this.Name = this.Name.SanitizeName(); this.Name = Utils.PopulateRequiredStringValue(this.Name, "name", typeof(MetricTelemetry).FullName); this.Properties.SanitizeProperties(); diff --git a/src/Microsoft.ApplicationInsights/Extensibility/Implementation/JsonSerializer.cs b/src/Microsoft.ApplicationInsights/Extensibility/Implementation/JsonSerializer.cs index e48eea9160..d0a0b1fd8b 100644 --- a/src/Microsoft.ApplicationInsights/Extensibility/Implementation/JsonSerializer.cs +++ b/src/Microsoft.ApplicationInsights/Extensibility/Implementation/JsonSerializer.cs @@ -411,6 +411,12 @@ private static void SerializeMetricTelemetry(MetricTelemetry metricTelemetry, Js { writer.WriteStartArray(); writer.WriteStartObject(); + + if (false == String.IsNullOrEmpty(metricTelemetry.Metric.ns)) + { + writer.WriteProperty("ns", metricTelemetry.Metric.ns); + } + writer.WriteProperty("name", metricTelemetry.Metric.name); writer.WriteProperty("kind", metricTelemetry.Metric.kind.ToString()); writer.WriteProperty("value", metricTelemetry.Metric.value); diff --git a/src/Microsoft.ApplicationInsights/Extensibility/Implementation/Property.cs b/src/Microsoft.ApplicationInsights/Extensibility/Implementation/Property.cs index b728c99929..5751de9332 100644 --- a/src/Microsoft.ApplicationInsights/Extensibility/Implementation/Property.cs +++ b/src/Microsoft.ApplicationInsights/Extensibility/Implementation/Property.cs @@ -28,6 +28,7 @@ internal static class Property public const int MaxTestNameLength = 1024; public const int MaxRunLocationLength = 2024; public const int MaxAvailabilityMessageLength = 8192; + public const int MaxMetricNamespaceLength = 256; public static readonly IDictionary TagSizeLimits = new Dictionary() { diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregateToApplicationInsightsPipelineConverterBase.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregateToApplicationInsightsPipelineConverterBase.cs index 2278ec7a6f..981d339a5c 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregateToApplicationInsightsPipelineConverterBase.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregateToApplicationInsightsPipelineConverterBase.cs @@ -221,7 +221,11 @@ private MetricTelemetry ConvertAggregateToTelemetry(MetricAggregate aggregate) { MetricTelemetry telemetryItem = new MetricTelemetry(); - telemetryItem.MetricNamespace = aggregate.MetricNamespace; + if (aggregate.MetricNamespace.Length > 0) + { + telemetryItem.MetricNamespace = aggregate.MetricNamespace; + } + telemetryItem.Name = aggregate.MetricId; // Set data values: diff --git a/src/Microsoft.ApplicationInsights/Metrics/Implementation/MeasurementAggregator.cs b/src/Microsoft.ApplicationInsights/Metrics/Implementation/MeasurementAggregator.cs index 38334a7e8b..7ec9510ee2 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Implementation/MeasurementAggregator.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Implementation/MeasurementAggregator.cs @@ -89,7 +89,7 @@ protected override MetricAggregate CreateAggregate(DateTimeOffset periodEnd) } MetricAggregate aggregate = new MetricAggregate( - this.DataSeries?.MetricIdentifier.MetricNamespace ?? Util.NullString, + this.DataSeries?.MetricIdentifier.MetricNamespace ?? String.Empty, this.DataSeries?.MetricIdentifier.MetricId ?? Util.NullString, MetricSeriesConfigurationForMeasurement.Constants.AggregateKindMoniker); diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs index 8e0d0c9b15..fe63663e40 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs @@ -13,13 +13,15 @@ public sealed class MetricIdentifier : IEquatable /// @ToDo: Complete documentation before stable release. {369} public const int MaxDimensionsCount = 10; + private const string NoNamespaceIdentifierStringComponent = ""; + private static readonly char[] InvalidMetricChars = new char[] { '\0', '"', '\'', '(', ')', '[', ']', '{', '}', '<', '>', '=', ',', '`', '~', '!', '@', '#', '$', '%', '^', '&', '*', '+', '?' }; - private static string defaultMetricNamespace = "Custom Metrics"; + private static string defaultMetricNamespace = String.Empty; /// /// Gets or sets this is what metric namespace will be set to if it is not specified. @@ -33,23 +35,33 @@ public static string DefaultMetricNamespace set { - ValidateLiteral(value, nameof(value)); + ValidateLiteral(value, nameof(value), allowEmpty: true); defaultMetricNamespace = value.Trim(); } } /// @ToDo: Complete documentation before stable release. {030} /// @PublicExposureCandidate - internal static void ValidateLiteral(string partValue, string partName) + private static void ValidateLiteral(string partValue, string partName, bool allowEmpty) { if (partValue == null) { throw new ArgumentNullException(partName); } - if (String.IsNullOrWhiteSpace(partValue)) + if (allowEmpty) { - throw new ArgumentException(Invariant($"{partName} may not be empty.")); + if (partValue.Length > 0 && String.IsNullOrWhiteSpace(partValue)) + { + throw new ArgumentException(Invariant($"{partName} may not be non-empty, but whitespace-only.")); + } + } + else + { + if (String.IsNullOrWhiteSpace(partValue)) + { + throw new ArgumentException(Invariant($"{partName} may not be empty or whitespace-only.")); + } } int pos = partName.IndexOfAny(InvalidMetricChars); @@ -343,17 +355,17 @@ public MetricIdentifier( string dimension9Name, string dimension10Name) { - if (String.IsNullOrWhiteSpace(metricNamespace)) + if (metricNamespace == null) { metricNamespace = DefaultMetricNamespace; } else { - ValidateLiteral(metricNamespace, nameof(metricNamespace)); + ValidateLiteral(metricNamespace, nameof(metricNamespace), allowEmpty: true); metricNamespace = metricNamespace.Trim(); } - ValidateLiteral(metricId, nameof(metricId)); + ValidateLiteral(metricId, nameof(metricId), allowEmpty: false); metricId = metricId.Trim(); int dimCount; @@ -613,7 +625,15 @@ private string GetIdentifierString() { StringBuilder idStr = new StringBuilder(); - idStr.Append(this.MetricNamespace); + if (this.MetricNamespace.Length > 0) + { + idStr.Append(this.MetricNamespace); + } + else + { + idStr.Append(MetricIdentifier.NoNamespaceIdentifierStringComponent); + } + idStr.Append("+"); idStr.Append(this.MetricId); From af7f4cffecfdb5c828612c71893c3b9f7cf8b9fc Mon Sep 17 00:00:00 2001 From: Derek Keeler Date: Thu, 19 Apr 2018 14:33:56 -0700 Subject: [PATCH 10/41] =?UTF-8?q?Add=20a=20heartbeat-specific=20version=20?= =?UTF-8?q?property=20to=20the=20metrics=20sent=20as=20hear=E2=80=A6=20(#7?= =?UTF-8?q?82)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a heartbeat-specific version property to the metrics sent as heartbeat pulses - Add notion of SDK language to heartbeat internal sdk identifier --- .../Implementation/Tracing/HeartbeatProvider.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Microsoft.ApplicationInsights/Managed/Shared/Extensibility/Implementation/Tracing/HeartbeatProvider.cs b/src/Microsoft.ApplicationInsights/Managed/Shared/Extensibility/Implementation/Tracing/HeartbeatProvider.cs index 25e758095c..64ee1ae9ee 100644 --- a/src/Microsoft.ApplicationInsights/Managed/Shared/Extensibility/Implementation/Tracing/HeartbeatProvider.cs +++ b/src/Microsoft.ApplicationInsights/Managed/Shared/Extensibility/Implementation/Tracing/HeartbeatProvider.cs @@ -26,6 +26,11 @@ internal class HeartbeatProvider : IDisposable, IHeartbeatProvider /// public static readonly TimeSpan MinimumHeartbeatInterval = TimeSpan.FromSeconds(30.0); + /// + /// Value for property indicating 'app insights version' related specifically to heartbeats. + /// + private static string sdkVersionPropertyValue = SdkVersionUtils.GetSdkVersion("hbnet:"); + /// /// The name of the heartbeat metric item and operation context. /// @@ -300,6 +305,7 @@ private void Send() var eventData = (MetricTelemetry)this.GatherData(); eventData.Context.Operation.SyntheticSource = heartbeatSyntheticMetricName; + eventData.Context.GetInternalContext().SdkVersion = sdkVersionPropertyValue; this.telemetryClient.Track(eventData); } From a8b76b106be5e8f060f7c48a21cc37baaa7add0c Mon Sep 17 00:00:00 2001 From: macrogreg Date: Mon, 23 Apr 2018 19:02:58 -0500 Subject: [PATCH 11/41] Metrics: Hide pre-aggregation APIs in 2.6 Stable release. --- .../net45/PublicAPI.Unshipped.txt | 239 +----------------- .../net46/PublicAPI.Unshipped.txt | 239 +----------------- .../netstandard1.3/PublicAPI.Unshipped.txt | 237 ----------------- ...figurationForTestingAccumulatorBehavior.cs | 2 +- .../Shared/Metrics/TestUtility/TestUtil.cs | 6 +- .../DataContracts/MetricTelemetry.cs | 20 +- src/Microsoft.ApplicationInsights/Metric.cs | 2 +- .../MetricAggregationScope.cs | 2 +- .../MetricConfigurations.cs | 2 +- .../MetricConfigurationsExtensions.cs | 2 +- .../MetricDimensionNames.cs | 2 +- .../Extensibility/IMetricSeriesAggregator.cs | 2 +- .../Extensibility/IMetricTelemetryPipeline.cs | 2 +- .../Extensibility/IMetricValueFilter.cs | 2 +- .../MetricAggregationCycleKind.cs | 2 +- .../MetricConfigurationExtensions.cs | 2 +- .../Metrics/Extensibility/MetricExtensions.cs | 2 +- .../Extensibility/MetricSeriesExtensions.cs | 2 +- .../TelemetryClientExtensions.cs | 2 +- .../Metrics/IMetricSeriesConfiguration.cs | 2 +- .../Metrics/MetricAggregate.cs | 2 +- .../Metrics/MetricConfiguration.cs | 2 +- .../MetricConfigurationForMeasurement.cs | 2 +- .../Metrics/MetricIdentifier.cs | 2 +- .../Metrics/MetricManager.cs | 2 +- .../Metrics/MetricSeries.cs | 2 +- ...MetricSeriesConfigurationForMeasurement.cs | 2 +- .../Metrics/MetricsCollection.cs | 2 +- .../TelemetryConfigurationExtensions.cs | 2 +- .../TelemetryClient.cs | 38 +-- 30 files changed, 58 insertions(+), 769 deletions(-) diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt index a1444654c5..7c583a845f 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt @@ -1,6 +1,3 @@ -Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.get -> string -Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.set -> void -Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricTelemetry(string metricNamespace, string name, int count, double sum, double min, double max, double standardDeviation) -> void Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.get -> string Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.set -> void Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.get -> Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider @@ -35,238 +32,4 @@ Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPro Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.HeartbeatInterval.set -> void Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.get -> bool Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.set -> void -Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.SetHeartbeatProperty(string propertyName, string propertyValue = null, bool? isHealthy = null) -> bool -Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.Metric.GetAllSeries() -> System.Collections.Generic.IReadOnlyList> -Microsoft.ApplicationInsights.Metric.GetDimensionValues(int dimensionNumber) -> System.Collections.Generic.IReadOnlyCollection -Microsoft.ApplicationInsights.Metric.Identifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier -Microsoft.ApplicationInsights.Metric.SeriesCount.get -> int -Microsoft.ApplicationInsights.Metric.TrackValue(double metricValue) -> void -Microsoft.ApplicationInsights.Metric.TrackValue(object metricValue) -> void -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, bool createIfNotExists, params string[] dimensionValues) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool -Microsoft.ApplicationInsights.MetricAggregationScope -Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryClient = 1 -> Microsoft.ApplicationInsights.MetricAggregationScope -Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryConfiguration = 0 -> Microsoft.ApplicationInsights.MetricAggregationScope -Microsoft.ApplicationInsights.MetricConfigurations -Microsoft.ApplicationInsights.MetricConfigurationsExtensions -Microsoft.ApplicationInsights.MetricDimensionNames -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CompleteAggregation(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CreateAggregateUnsafe(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.DataSeries.get -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart, Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter valueFilter) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(double metricValue) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(object metricValue) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TryRecycle() -> bool -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.FlushAsync(System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.TrackAsync(Microsoft.ApplicationInsights.Metrics.MetricAggregate metricAggregate, System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, double metricValue) -> bool -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, object metricValue) -> bool -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Custom = 2 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Default = 0 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.QuickPulse = 1 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions -Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions -Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration -Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator -Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.RequiresPersistentAggregation.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricAggregate -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationKindMoniker.get -> string -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.get -> System.TimeSpan -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.set -> void -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.get -> System.DateTimeOffset -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.set -> void -Microsoft.ApplicationInsights.Metrics.MetricAggregate.Data.get -> System.Collections.Generic.IDictionary -Microsoft.ApplicationInsights.Metrics.MetricAggregate.Dimensions.get -> System.Collections.Generic.IDictionary -Microsoft.ApplicationInsights.Metrics.MetricAggregate.GetDataValue(string dataKey, T defaultValue) -> T -Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricAggregate(string metricNamespace, string metricId, string aggregationKindMoniker) -> void -Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricId.get -> string -Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricNamespace.get -> string -Microsoft.ApplicationInsights.Metrics.MetricConfiguration -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.MetricConfiguration(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration seriesConfig) -> void -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesConfig.get -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesCountLimit.get -> int -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.ValuesPerDimensionLimit.get -> int -Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement -Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement.MetricConfigurationForMeasurement(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement seriesConfig) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DimensionsCount.get -> int -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(Microsoft.ApplicationInsights.Metrics.MetricIdentifier otherMetricIdentifier) -> bool -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionName(int dimensionNumber) -> string -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionNames() -> System.Collections.Generic.IEnumerable -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricId.get -> string -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricId) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, System.Collections.Generic.IList dimensionNames) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name, string dimension10Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricNamespace.get -> string -Microsoft.ApplicationInsights.Metrics.MetricManager -Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricManager.Flush() -> void -Microsoft.ApplicationInsights.Metrics.MetricManager.MetricManager(Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline telemetryPipeline) -> void -Microsoft.ApplicationInsights.Metrics.MetricManager.Metrics.get -> Microsoft.ApplicationInsights.Metrics.MetricsCollection -Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricSeries.DimensionNamesAndValues.get -> System.Collections.Generic.IReadOnlyDictionary -Microsoft.ApplicationInsights.Metrics.MetricSeries.MetricIdentifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier -Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(double metricValue) -> void -Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(object metricValue) -> void -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindDataKeys.get -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindMoniker.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Count.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Max.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Min.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.StdDev.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Sum.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration other) -> bool -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement other) -> bool -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.MetricSeriesConfigurationForMeasurement(bool restrictToUInt32Values) -> void -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RequiresPersistentAggregation.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RestrictToUInt32Values.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricsCollection -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Clear() -> void -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Contains(Microsoft.ApplicationInsights.Metric metric) -> bool -Microsoft.ApplicationInsights.Metrics.MetricsCollection.CopyTo(Microsoft.ApplicationInsights.Metric[] array, int arrayIndex) -> void -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Count.get -> int -Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetEnumerator() -> System.Collections.Generic.IEnumerator -Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetOrCreate(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.Metrics.MetricsCollection.IsReadOnly.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Remove(Microsoft.ApplicationInsights.Metric metric) -> bool -Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleInstance = "TelemetryContext.Cloud.RoleInstance" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleName = "TelemetryContext.Cloud.RoleName" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component.Version = "TelemetryContext.Component.Version" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Id = "TelemetryContext.Device.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Language = "TelemetryContext.Device.Language" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Model = "TelemetryContext.Device.Model" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.NetworkType = "TelemetryContext.Device.NetworkType" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OemName = "TelemetryContext.Device.OemName" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OperatingSystem = "TelemetryContext.Device.OperatingSystem" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.ScreenResolution = "TelemetryContext.Device.ScreenResolution" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Type = "TelemetryContext.Device.Type" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.InstrumentationKey = "TelemetryContext.InstrumentationKey" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location.Ip = "TelemetryContext.Location.Ip" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.CorrelationVector = "TelemetryContext.Operation.CorrelationVector" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Id = "TelemetryContext.Operation.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Name = "TelemetryContext.Operation.Name" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.ParentId = "TelemetryContext.Operation.ParentId" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.SyntheticSource = "TelemetryContext.Operation.SyntheticSource" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.Id = "TelemetryContext.Session.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.IsFirst = "TelemetryContext.Session.IsFirst" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AccountId = "TelemetryContext.User.AccountId" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AuthenticatedUserId = "TelemetryContext.User.AuthenticatedUserId" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.Id = "TelemetryContext.User.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.UserAgent = "TelemetryContext.User.UserAgent" -> string -const Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MaxDimensionsCount = 10 -> int -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Count = "Count" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Max = "Max" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Min = "Min" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Sum = "Sum" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Count = "Count" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Max = "Max" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Min = "Min" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Sum = "Sum" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string -override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(object obj) -> bool -override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.GetHashCode() -> int -override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(object otherObj) -> bool -override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetHashCode() -> int -override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.ToString() -> string -override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(object obj) -> bool -override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.GetHashCode() -> int -static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.Measurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets) -> Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement -static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.SetDefaultForMeasurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets, Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement defaultConfigurationForMeasurement) -> void -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metric metric) -> Microsoft.ApplicationInsights.Metrics.MetricConfiguration -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metrics.MetricSeries metricSeries) -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration -static Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions.GetMetricManager(this Microsoft.ApplicationInsights.TelemetryClient telemetryClient, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metrics.MetricManager -static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.get -> string -static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.set -> void -static Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions.GetMetricManager(this Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration telemetryPipeline) -> Microsoft.ApplicationInsights.Metrics.MetricManager -static readonly Microsoft.ApplicationInsights.MetricConfigurations.Common -> Microsoft.ApplicationInsights.MetricConfigurations -virtual Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(Microsoft.ApplicationInsights.Metrics.MetricConfiguration other) -> bool \ No newline at end of file +Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.SetHeartbeatProperty(string propertyName, string propertyValue = null, bool? isHealthy = null) -> bool \ No newline at end of file diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt index a1444654c5..7c583a845f 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt @@ -1,6 +1,3 @@ -Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.get -> string -Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.set -> void -Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricTelemetry(string metricNamespace, string name, int count, double sum, double min, double max, double standardDeviation) -> void Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.get -> string Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.set -> void Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.get -> Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider @@ -35,238 +32,4 @@ Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPro Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.HeartbeatInterval.set -> void Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.get -> bool Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.set -> void -Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.SetHeartbeatProperty(string propertyName, string propertyValue = null, bool? isHealthy = null) -> bool -Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.Metric.GetAllSeries() -> System.Collections.Generic.IReadOnlyList> -Microsoft.ApplicationInsights.Metric.GetDimensionValues(int dimensionNumber) -> System.Collections.Generic.IReadOnlyCollection -Microsoft.ApplicationInsights.Metric.Identifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier -Microsoft.ApplicationInsights.Metric.SeriesCount.get -> int -Microsoft.ApplicationInsights.Metric.TrackValue(double metricValue) -> void -Microsoft.ApplicationInsights.Metric.TrackValue(object metricValue) -> void -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, bool createIfNotExists, params string[] dimensionValues) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool -Microsoft.ApplicationInsights.MetricAggregationScope -Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryClient = 1 -> Microsoft.ApplicationInsights.MetricAggregationScope -Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryConfiguration = 0 -> Microsoft.ApplicationInsights.MetricAggregationScope -Microsoft.ApplicationInsights.MetricConfigurations -Microsoft.ApplicationInsights.MetricConfigurationsExtensions -Microsoft.ApplicationInsights.MetricDimensionNames -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CompleteAggregation(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CreateAggregateUnsafe(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.DataSeries.get -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart, Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter valueFilter) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(double metricValue) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(object metricValue) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TryRecycle() -> bool -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.FlushAsync(System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.TrackAsync(Microsoft.ApplicationInsights.Metrics.MetricAggregate metricAggregate, System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, double metricValue) -> bool -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, object metricValue) -> bool -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Custom = 2 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Default = 0 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.QuickPulse = 1 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions -Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions -Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration -Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator -Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.RequiresPersistentAggregation.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricAggregate -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationKindMoniker.get -> string -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.get -> System.TimeSpan -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.set -> void -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.get -> System.DateTimeOffset -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.set -> void -Microsoft.ApplicationInsights.Metrics.MetricAggregate.Data.get -> System.Collections.Generic.IDictionary -Microsoft.ApplicationInsights.Metrics.MetricAggregate.Dimensions.get -> System.Collections.Generic.IDictionary -Microsoft.ApplicationInsights.Metrics.MetricAggregate.GetDataValue(string dataKey, T defaultValue) -> T -Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricAggregate(string metricNamespace, string metricId, string aggregationKindMoniker) -> void -Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricId.get -> string -Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricNamespace.get -> string -Microsoft.ApplicationInsights.Metrics.MetricConfiguration -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.MetricConfiguration(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration seriesConfig) -> void -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesConfig.get -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesCountLimit.get -> int -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.ValuesPerDimensionLimit.get -> int -Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement -Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement.MetricConfigurationForMeasurement(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement seriesConfig) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DimensionsCount.get -> int -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(Microsoft.ApplicationInsights.Metrics.MetricIdentifier otherMetricIdentifier) -> bool -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionName(int dimensionNumber) -> string -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionNames() -> System.Collections.Generic.IEnumerable -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricId.get -> string -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricId) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, System.Collections.Generic.IList dimensionNames) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name, string dimension10Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricNamespace.get -> string -Microsoft.ApplicationInsights.Metrics.MetricManager -Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricManager.Flush() -> void -Microsoft.ApplicationInsights.Metrics.MetricManager.MetricManager(Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline telemetryPipeline) -> void -Microsoft.ApplicationInsights.Metrics.MetricManager.Metrics.get -> Microsoft.ApplicationInsights.Metrics.MetricsCollection -Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricSeries.DimensionNamesAndValues.get -> System.Collections.Generic.IReadOnlyDictionary -Microsoft.ApplicationInsights.Metrics.MetricSeries.MetricIdentifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier -Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(double metricValue) -> void -Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(object metricValue) -> void -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindDataKeys.get -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindMoniker.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Count.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Max.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Min.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.StdDev.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Sum.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration other) -> bool -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement other) -> bool -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.MetricSeriesConfigurationForMeasurement(bool restrictToUInt32Values) -> void -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RequiresPersistentAggregation.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RestrictToUInt32Values.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricsCollection -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Clear() -> void -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Contains(Microsoft.ApplicationInsights.Metric metric) -> bool -Microsoft.ApplicationInsights.Metrics.MetricsCollection.CopyTo(Microsoft.ApplicationInsights.Metric[] array, int arrayIndex) -> void -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Count.get -> int -Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetEnumerator() -> System.Collections.Generic.IEnumerator -Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetOrCreate(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.Metrics.MetricsCollection.IsReadOnly.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Remove(Microsoft.ApplicationInsights.Metric metric) -> bool -Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleInstance = "TelemetryContext.Cloud.RoleInstance" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleName = "TelemetryContext.Cloud.RoleName" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component.Version = "TelemetryContext.Component.Version" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Id = "TelemetryContext.Device.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Language = "TelemetryContext.Device.Language" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Model = "TelemetryContext.Device.Model" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.NetworkType = "TelemetryContext.Device.NetworkType" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OemName = "TelemetryContext.Device.OemName" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OperatingSystem = "TelemetryContext.Device.OperatingSystem" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.ScreenResolution = "TelemetryContext.Device.ScreenResolution" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Type = "TelemetryContext.Device.Type" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.InstrumentationKey = "TelemetryContext.InstrumentationKey" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location.Ip = "TelemetryContext.Location.Ip" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.CorrelationVector = "TelemetryContext.Operation.CorrelationVector" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Id = "TelemetryContext.Operation.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Name = "TelemetryContext.Operation.Name" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.ParentId = "TelemetryContext.Operation.ParentId" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.SyntheticSource = "TelemetryContext.Operation.SyntheticSource" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.Id = "TelemetryContext.Session.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.IsFirst = "TelemetryContext.Session.IsFirst" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AccountId = "TelemetryContext.User.AccountId" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AuthenticatedUserId = "TelemetryContext.User.AuthenticatedUserId" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.Id = "TelemetryContext.User.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.UserAgent = "TelemetryContext.User.UserAgent" -> string -const Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MaxDimensionsCount = 10 -> int -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Count = "Count" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Max = "Max" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Min = "Min" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Sum = "Sum" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Count = "Count" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Max = "Max" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Min = "Min" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Sum = "Sum" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string -override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(object obj) -> bool -override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.GetHashCode() -> int -override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(object otherObj) -> bool -override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetHashCode() -> int -override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.ToString() -> string -override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(object obj) -> bool -override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.GetHashCode() -> int -static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.Measurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets) -> Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement -static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.SetDefaultForMeasurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets, Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement defaultConfigurationForMeasurement) -> void -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metric metric) -> Microsoft.ApplicationInsights.Metrics.MetricConfiguration -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metrics.MetricSeries metricSeries) -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration -static Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions.GetMetricManager(this Microsoft.ApplicationInsights.TelemetryClient telemetryClient, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metrics.MetricManager -static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.get -> string -static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.set -> void -static Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions.GetMetricManager(this Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration telemetryPipeline) -> Microsoft.ApplicationInsights.Metrics.MetricManager -static readonly Microsoft.ApplicationInsights.MetricConfigurations.Common -> Microsoft.ApplicationInsights.MetricConfigurations -virtual Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(Microsoft.ApplicationInsights.Metrics.MetricConfiguration other) -> bool \ No newline at end of file +Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.SetHeartbeatProperty(string propertyName, string propertyValue = null, bool? isHealthy = null) -> bool \ No newline at end of file diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt index 9b9988204e..a165e153a9 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt @@ -1,6 +1,3 @@ -Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.get -> string -Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.set -> void -Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricTelemetry(string metricNamespace, string name, int count, double sum, double min, double max, double standardDeviation) -> void Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.get -> Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.set -> void Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider @@ -36,238 +33,4 @@ Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPro Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.get -> bool Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.set -> void Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.SetHeartbeatProperty(string propertyName, string propertyValue = null, bool? isHealthy = null) -> bool -Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.Metric.GetAllSeries() -> System.Collections.Generic.IReadOnlyList> -Microsoft.ApplicationInsights.Metric.GetDimensionValues(int dimensionNumber) -> System.Collections.Generic.IReadOnlyCollection -Microsoft.ApplicationInsights.Metric.Identifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier -Microsoft.ApplicationInsights.Metric.SeriesCount.get -> int -Microsoft.ApplicationInsights.Metric.TrackValue(double metricValue) -> void -Microsoft.ApplicationInsights.Metric.TrackValue(object metricValue) -> void -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, bool createIfNotExists, params string[] dimensionValues) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool -Microsoft.ApplicationInsights.MetricAggregationScope -Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryClient = 1 -> Microsoft.ApplicationInsights.MetricAggregationScope -Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryConfiguration = 0 -> Microsoft.ApplicationInsights.MetricAggregationScope -Microsoft.ApplicationInsights.MetricConfigurations -Microsoft.ApplicationInsights.MetricConfigurationsExtensions -Microsoft.ApplicationInsights.MetricDimensionNames -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CompleteAggregation(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CreateAggregateUnsafe(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.DataSeries.get -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart, Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter valueFilter) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(double metricValue) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(object metricValue) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TryRecycle() -> bool -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.FlushAsync(System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.TrackAsync(Microsoft.ApplicationInsights.Metrics.MetricAggregate metricAggregate, System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, double metricValue) -> bool -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, object metricValue) -> bool -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Custom = 2 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Default = 0 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.QuickPulse = 1 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions -Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions -Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration -Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator -Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.RequiresPersistentAggregation.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricAggregate -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationKindMoniker.get -> string -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.get -> System.TimeSpan -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.set -> void -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.get -> System.DateTimeOffset -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.set -> void -Microsoft.ApplicationInsights.Metrics.MetricAggregate.Data.get -> System.Collections.Generic.IDictionary -Microsoft.ApplicationInsights.Metrics.MetricAggregate.Dimensions.get -> System.Collections.Generic.IDictionary -Microsoft.ApplicationInsights.Metrics.MetricAggregate.GetDataValue(string dataKey, T defaultValue) -> T -Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricAggregate(string metricNamespace, string metricId, string aggregationKindMoniker) -> void -Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricId.get -> string -Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricNamespace.get -> string -Microsoft.ApplicationInsights.Metrics.MetricConfiguration -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.MetricConfiguration(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration seriesConfig) -> void -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesConfig.get -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesCountLimit.get -> int -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.ValuesPerDimensionLimit.get -> int -Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement -Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement.MetricConfigurationForMeasurement(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement seriesConfig) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DimensionsCount.get -> int -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(Microsoft.ApplicationInsights.Metrics.MetricIdentifier otherMetricIdentifier) -> bool -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionName(int dimensionNumber) -> string -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionNames() -> System.Collections.Generic.IEnumerable -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricId.get -> string -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricId) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, System.Collections.Generic.IList dimensionNames) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name, string dimension10Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricNamespace.get -> string -Microsoft.ApplicationInsights.Metrics.MetricManager -Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricManager.Flush() -> void -Microsoft.ApplicationInsights.Metrics.MetricManager.MetricManager(Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline telemetryPipeline) -> void -Microsoft.ApplicationInsights.Metrics.MetricManager.Metrics.get -> Microsoft.ApplicationInsights.Metrics.MetricsCollection -Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricSeries.DimensionNamesAndValues.get -> System.Collections.Generic.IReadOnlyDictionary -Microsoft.ApplicationInsights.Metrics.MetricSeries.MetricIdentifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier -Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(double metricValue) -> void -Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(object metricValue) -> void -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindDataKeys.get -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindMoniker.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Count.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Max.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Min.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.StdDev.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Sum.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration other) -> bool -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement other) -> bool -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.MetricSeriesConfigurationForMeasurement(bool restrictToUInt32Values) -> void -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RequiresPersistentAggregation.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RestrictToUInt32Values.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricsCollection -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Clear() -> void -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Contains(Microsoft.ApplicationInsights.Metric metric) -> bool -Microsoft.ApplicationInsights.Metrics.MetricsCollection.CopyTo(Microsoft.ApplicationInsights.Metric[] array, int arrayIndex) -> void -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Count.get -> int -Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetEnumerator() -> System.Collections.Generic.IEnumerator -Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetOrCreate(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.Metrics.MetricsCollection.IsReadOnly.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Remove(Microsoft.ApplicationInsights.Metric metric) -> bool -Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleInstance = "TelemetryContext.Cloud.RoleInstance" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleName = "TelemetryContext.Cloud.RoleName" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component.Version = "TelemetryContext.Component.Version" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Id = "TelemetryContext.Device.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Language = "TelemetryContext.Device.Language" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Model = "TelemetryContext.Device.Model" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.NetworkType = "TelemetryContext.Device.NetworkType" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OemName = "TelemetryContext.Device.OemName" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OperatingSystem = "TelemetryContext.Device.OperatingSystem" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.ScreenResolution = "TelemetryContext.Device.ScreenResolution" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Type = "TelemetryContext.Device.Type" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.InstrumentationKey = "TelemetryContext.InstrumentationKey" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location.Ip = "TelemetryContext.Location.Ip" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.CorrelationVector = "TelemetryContext.Operation.CorrelationVector" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Id = "TelemetryContext.Operation.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Name = "TelemetryContext.Operation.Name" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.ParentId = "TelemetryContext.Operation.ParentId" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.SyntheticSource = "TelemetryContext.Operation.SyntheticSource" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.Id = "TelemetryContext.Session.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.IsFirst = "TelemetryContext.Session.IsFirst" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AccountId = "TelemetryContext.User.AccountId" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AuthenticatedUserId = "TelemetryContext.User.AuthenticatedUserId" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.Id = "TelemetryContext.User.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.UserAgent = "TelemetryContext.User.UserAgent" -> string -const Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MaxDimensionsCount = 10 -> int -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Count = "Count" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Max = "Max" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Min = "Min" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Sum = "Sum" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Count = "Count" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Max = "Max" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Min = "Min" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Sum = "Sum" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string -override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(object obj) -> bool -override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.GetHashCode() -> int -override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(object otherObj) -> bool -override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetHashCode() -> int -override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.ToString() -> string -override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(object obj) -> bool -override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.GetHashCode() -> int -static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.Measurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets) -> Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement -static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.SetDefaultForMeasurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets, Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement defaultConfigurationForMeasurement) -> void -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metric metric) -> Microsoft.ApplicationInsights.Metrics.MetricConfiguration -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metrics.MetricSeries metricSeries) -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration -static Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions.GetMetricManager(this Microsoft.ApplicationInsights.TelemetryClient telemetryClient, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metrics.MetricManager -static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.get -> string -static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.set -> void -static Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions.GetMetricManager(this Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration telemetryPipeline) -> Microsoft.ApplicationInsights.Metrics.MetricManager -static readonly Microsoft.ApplicationInsights.MetricConfigurations.Common -> Microsoft.ApplicationInsights.MetricConfigurations -virtual Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(Microsoft.ApplicationInsights.Metrics.MetricConfiguration other) -> bool Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry.SetParsedStack(System.Diagnostics.StackFrame[] frames) -> void \ No newline at end of file diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/MetricSeriesConfigurationForTestingAccumulatorBehavior.cs b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/MetricSeriesConfigurationForTestingAccumulatorBehavior.cs index 5dca71d888..ecefef78ff 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/MetricSeriesConfigurationForTestingAccumulatorBehavior.cs +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/MetricSeriesConfigurationForTestingAccumulatorBehavior.cs @@ -6,7 +6,7 @@ namespace Microsoft.ApplicationInsights.Metrics.TestUtility { - public class MetricSeriesConfigurationForTestingAccumulatorBehavior : IMetricSeriesConfiguration + internal class MetricSeriesConfigurationForTestingAccumulatorBehavior : IMetricSeriesConfiguration { private readonly int _hashCode; diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/TestUtil.cs b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/TestUtil.cs index 3783a5823e..2e4545a835 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/TestUtil.cs +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/TestUtil.cs @@ -174,7 +174,7 @@ public static void ValidateNumericAggregateValues(ITelemetry aggregate, string n } } - public static void ValidateNumericAggregateValues(MetricAggregate aggregate, string ns, string name, int count, double sum, double max, double min, double stdDev, DateTimeOffset timestamp, long periodMs, string aggKindMoniker) + internal static void ValidateNumericAggregateValues(MetricAggregate aggregate, string ns, string name, int count, double sum, double max, double min, double stdDev, DateTimeOffset timestamp, long periodMs, string aggKindMoniker) { ValidateNumericAggregateValues(aggregate, ns, name, count, sum, max, min, stdDev, aggKindMoniker); @@ -182,7 +182,7 @@ public static void ValidateNumericAggregateValues(MetricAggregate aggregate, str Assert.AreEqual(periodMs, (long) aggregate.AggregationPeriodDuration.TotalMilliseconds, "metricAggregate.Properties[AggregationIntervalMonikerPropertyKey] mismatch"); } - public static void ValidateNumericAggregateValues(MetricAggregate aggregate, string ns, string name, int count, double sum, double max, double min, double stdDev, string aggKindMoniker) + internal static void ValidateNumericAggregateValues(MetricAggregate aggregate, string ns, string name, int count, double sum, double max, double min, double stdDev, string aggKindMoniker) { Assert.IsNotNull(aggregate); @@ -262,7 +262,7 @@ public static void ValidateSdkVersionString(string versionMoniker) /// a clean test run. /// /// - public static void CompleteDefaultAggregationCycle(params MetricManager[] metricManagers) + internal static void CompleteDefaultAggregationCycle(params MetricManager[] metricManagers) { if (metricManagers == null) { diff --git a/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs b/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs index a936256af0..345c6650a8 100644 --- a/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs +++ b/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs @@ -101,7 +101,7 @@ public MetricTelemetry( /// Minimum value taken during aggregation interval. /// Maximum of values taken during aggregation interval. /// Standard deviation of values taken during aggregation interval. - public MetricTelemetry( + internal MetricTelemetry( string metricNamespace, string name, int count, @@ -148,15 +148,6 @@ private MetricTelemetry(MetricTelemetry source) /// public TelemetryContext Context { get; } - /// - /// Gets or sets the name of the metric. - /// - public string MetricNamespace - { - get { return this.Metric.ns; } - set { this.Metric.ns = value; } - } - /// /// Gets or sets the name of the metric. /// @@ -230,6 +221,15 @@ public IDictionary Properties get { return this.Data.properties; } } + /// + /// Gets or sets the name of the metric. + /// + internal string MetricNamespace + { + get { return this.Metric.ns; } + set { this.Metric.ns = value; } + } + /// /// Deeply clones a object. /// diff --git a/src/Microsoft.ApplicationInsights/Metric.cs b/src/Microsoft.ApplicationInsights/Metric.cs index 5d5bd0a804..785224d432 100644 --- a/src/Microsoft.ApplicationInsights/Metric.cs +++ b/src/Microsoft.ApplicationInsights/Metric.cs @@ -14,7 +14,7 @@ /// A Metric instance groups one or more MetricSeries that actually track and aggregate values along with /// naming and configuration attributes that identify the metric and define how it will be aggregated. /// - public sealed class Metric + internal sealed class Metric { #pragma warning disable SA1401, SA1304, SA1307 // intended to be an internal, lower-case field internal readonly MetricConfiguration configuration; diff --git a/src/Microsoft.ApplicationInsights/MetricAggregationScope.cs b/src/Microsoft.ApplicationInsights/MetricAggregationScope.cs index a6d35be430..1a00ab496e 100644 --- a/src/Microsoft.ApplicationInsights/MetricAggregationScope.cs +++ b/src/Microsoft.ApplicationInsights/MetricAggregationScope.cs @@ -9,7 +9,7 @@ /// /// /// - public enum MetricAggregationScope + internal enum MetricAggregationScope { /// /// Metric values will be aggregated ACROSS all telemetry clients that belong to the same TelemetryConfiguration.
diff --git a/src/Microsoft.ApplicationInsights/MetricConfigurations.cs b/src/Microsoft.ApplicationInsights/MetricConfigurations.cs index 41fc43d7f8..736e4bc415 100644 --- a/src/Microsoft.ApplicationInsights/MetricConfigurations.cs +++ b/src/Microsoft.ApplicationInsights/MetricConfigurations.cs @@ -5,7 +5,7 @@ /// /// Static container for the most commonly used metric configurations. /// - public sealed class MetricConfigurations + internal sealed class MetricConfigurations { /// /// Groups extension methods that return pre-defined metric configurations and related constants. diff --git a/src/Microsoft.ApplicationInsights/MetricConfigurationsExtensions.cs b/src/Microsoft.ApplicationInsights/MetricConfigurationsExtensions.cs index 3bfeea3019..ba45c7891b 100644 --- a/src/Microsoft.ApplicationInsights/MetricConfigurationsExtensions.cs +++ b/src/Microsoft.ApplicationInsights/MetricConfigurationsExtensions.cs @@ -10,7 +10,7 @@ /// Do not use directly. Instead, use: MetricConfigurations.Common.Xxxx(). /// [EditorBrowsable(EditorBrowsableState.Never)] - public static class MetricConfigurationsExtensions + internal static class MetricConfigurationsExtensions { private const int DefaultSeriesCountLimit = 1000; private const int DefaultValuesPerDimensionLimit = 100; diff --git a/src/Microsoft.ApplicationInsights/MetricDimensionNames.cs b/src/Microsoft.ApplicationInsights/MetricDimensionNames.cs index eb3f51bd90..51e98ade1d 100644 --- a/src/Microsoft.ApplicationInsights/MetricDimensionNames.cs +++ b/src/Microsoft.ApplicationInsights/MetricDimensionNames.cs @@ -6,7 +6,7 @@ /// /// Contains constants used to refer to metric dimensions with special significance. /// - public static class MetricDimensionNames + internal static class MetricDimensionNames { /// ///

Contains constants used to refer to metric dimensions that will be mapped to fields diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricSeriesAggregator.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricSeriesAggregator.cs index e226547ccb..abe7875311 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricSeriesAggregator.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricSeriesAggregator.cs @@ -3,7 +3,7 @@ using System; ///

@ToDo: Complete documentation before stable release. {558} - public interface IMetricSeriesAggregator + internal interface IMetricSeriesAggregator { /// Gets @ToDo: Complete documentation before stable release. {969} MetricSeries DataSeries { get; } diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricTelemetryPipeline.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricTelemetryPipeline.cs index f103355021..fcd768a77e 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricTelemetryPipeline.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricTelemetryPipeline.cs @@ -8,7 +8,7 @@ /// Represents an eventual destination for metric telemetry. /// For example, an Application Insights telemetry pipeline, a file or some other ingestion point. ///
- public interface IMetricTelemetryPipeline + internal interface IMetricTelemetryPipeline { /// /// Send a metric aggregate to the eventual destination. diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricValueFilter.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricValueFilter.cs index 29181ab239..0056ab7d67 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricValueFilter.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricValueFilter.cs @@ -1,7 +1,7 @@ namespace Microsoft.ApplicationInsights.Metrics.Extensibility { /// @ToDo: Complete documentation before stable release. {265} - public interface IMetricValueFilter + internal interface IMetricValueFilter { /// @ToDo: Complete documentation before stable release. {919} /// @ToDo: Complete documentation before stable release. {526} diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregationCycleKind.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregationCycleKind.cs index 1dca40ceef..42f06939b5 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregationCycleKind.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregationCycleKind.cs @@ -3,7 +3,7 @@ using System; /// @ToDo: Complete documentation before stable release. {447} - public enum MetricAggregationCycleKind : Int32 + internal enum MetricAggregationCycleKind : Int32 { /// /// The default aggregation cycle. diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricConfigurationExtensions.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricConfigurationExtensions.cs index 4f07d68439..dad6aaa7e0 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricConfigurationExtensions.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricConfigurationExtensions.cs @@ -8,7 +8,7 @@ /// Do not use directly. Instead, use: MetricConfigurations.Common.Xxxx().Constants(). /// [EditorBrowsable(EditorBrowsableState.Never)] - public static class MetricConfigurationExtensions + internal static class MetricConfigurationExtensions { /// /// Groups constants used my metric aggregates produced by aggregators that are configured by metric configurations represented diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricExtensions.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricExtensions.cs index 6e25070a37..446b6a38a8 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricExtensions.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricExtensions.cs @@ -6,7 +6,7 @@ /// There are some APIs on Metric that we hide from Intellisense by making them internal until the ..Extensibility namespace is imported. /// This class exposes them. /// - public static class MetricExtensions + internal static class MetricExtensions { /// /// Exposes the Configuration property for users who imported the Microsoft.ApplicationInsights.Metrics.Extensibility namespace. diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricSeriesExtensions.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricSeriesExtensions.cs index 13ac183d68..0c4aea68e9 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricSeriesExtensions.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricSeriesExtensions.cs @@ -7,7 +7,7 @@ /// There are some APIs on MetricSeries that we hide from Intellisense by making them internal until the ..Extensibility namespace is imported. /// This class exposes them. /// - public static class MetricSeriesExtensions + internal static class MetricSeriesExtensions { /// /// Exposes the Configuration property for users who imported the Microsoft.ApplicationInsights.Metrics.Extensibility namespace. diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/TelemetryClientExtensions.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/TelemetryClientExtensions.cs index f68cca4023..e07827ad34 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/TelemetryClientExtensions.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/TelemetryClientExtensions.cs @@ -9,7 +9,7 @@ using static System.FormattableString; /// @ToDo: Complete documentation before stable release. {526} - public static class TelemetryClientExtensions + internal static class TelemetryClientExtensions { private static ConditionalWeakTable metricManagersForTelemetryClients; diff --git a/src/Microsoft.ApplicationInsights/Metrics/IMetricSeriesConfiguration.cs b/src/Microsoft.ApplicationInsights/Metrics/IMetricSeriesConfiguration.cs index ec4e135dc1..2d14e7fda5 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/IMetricSeriesConfiguration.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/IMetricSeriesConfiguration.cs @@ -4,7 +4,7 @@ using Microsoft.ApplicationInsights.Metrics.Extensibility; /// @ToDo: Complete documentation before stable release. {510} - public interface IMetricSeriesConfiguration : IEquatable + internal interface IMetricSeriesConfiguration : IEquatable { /// Gets a value indicating whether @ToDo: Complete documentation before stable release. {016} bool RequiresPersistentAggregation { get; } diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricAggregate.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricAggregate.cs index 245f5db8b2..ea8d0e554c 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricAggregate.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricAggregate.cs @@ -6,7 +6,7 @@ using System.Globalization; /// @ToDo: Complete documentation before stable release. {406} - public class MetricAggregate + internal class MetricAggregate { // We want to make the aggregate thread safe, but we expect no signiicant contention, so a simple lock will suffice. private readonly object updateLock = new object(); diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs index 10150a596b..89db6283d3 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs @@ -5,7 +5,7 @@ using static System.FormattableString; /// @ToDo: Complete documentation before stable release. {654} - public class MetricConfiguration : IEquatable + internal class MetricConfiguration : IEquatable { private readonly int hashCode; diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricConfigurationForMeasurement.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricConfigurationForMeasurement.cs index 0033c03569..123b58abd6 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricConfigurationForMeasurement.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricConfigurationForMeasurement.cs @@ -3,7 +3,7 @@ using System; /// @ToDo: Complete documentation before stable release. {218} - public sealed class MetricConfigurationForMeasurement : MetricConfiguration + internal sealed class MetricConfigurationForMeasurement : MetricConfiguration { /// @ToDo: Complete documentation before stable release. {928} /// @ToDo: Complete documentation before stable release. {466} diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs index fe63663e40..fdc88fe35a 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs @@ -8,7 +8,7 @@ using static System.FormattableString; /// @ToDo: Complete documentation before stable release. {085} - public sealed class MetricIdentifier : IEquatable + internal sealed class MetricIdentifier : IEquatable { /// @ToDo: Complete documentation before stable release. {369} public const int MaxDimensionsCount = 10; diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricManager.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricManager.cs index cc0be15cd9..f5c8467eec 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricManager.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricManager.cs @@ -7,7 +7,7 @@ using Microsoft.ApplicationInsights.Metrics.Extensibility; /// @ToDo: Complete documentation before stable release. {529} - public sealed class MetricManager + internal sealed class MetricManager { private readonly MetricAggregationManager aggregationManager; private readonly DefaultAggregationPeriodCycle aggregationCycle; diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricSeries.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricSeries.cs index 9a04da74ba..b76dd68a54 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricSeries.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricSeries.cs @@ -17,7 +17,7 @@ /// Each Metric object contains a special zero-dimension series, plus, for multi-dimensional metrics, one /// series per unique dimension-values combination. /// - public sealed class MetricSeries + internal sealed class MetricSeries { #pragma warning disable SA1401, SA1304, SA1307 // intended to be an internal, lower-case field internal readonly IMetricSeriesConfiguration configuration; diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricSeriesConfigurationForMeasurement.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricSeriesConfigurationForMeasurement.cs index 261a8ab398..bab9b6f181 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricSeriesConfigurationForMeasurement.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricSeriesConfigurationForMeasurement.cs @@ -6,7 +6,7 @@ using Microsoft.ApplicationInsights.Metrics.Extensibility; /// @ToDo: Complete documentation before stable release. {023} - public class MetricSeriesConfigurationForMeasurement : IMetricSeriesConfiguration + internal class MetricSeriesConfigurationForMeasurement : IMetricSeriesConfiguration { private readonly bool restrictToUInt32Values; private readonly int hashCode; diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricsCollection.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricsCollection.cs index fced0e01f0..cf06de2b95 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricsCollection.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricsCollection.cs @@ -8,7 +8,7 @@ using static System.FormattableString; /// @ToDo: Complete documentation before stable release. {092} - public sealed class MetricsCollection : ICollection + internal sealed class MetricsCollection : ICollection { private readonly MetricManager metricManager; private readonly ConcurrentDictionary metrics = new ConcurrentDictionary(); diff --git a/src/Microsoft.ApplicationInsights/Metrics/TelemetryConfigurationExtensions.cs b/src/Microsoft.ApplicationInsights/Metrics/TelemetryConfigurationExtensions.cs index c5c0a55581..02ef5660c7 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/TelemetryConfigurationExtensions.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/TelemetryConfigurationExtensions.cs @@ -4,7 +4,7 @@ using Microsoft.ApplicationInsights.Extensibility; /// @ToDo: Complete documentation before stable release. {737} - public static class TelemetryConfigurationExtensions + internal static class TelemetryConfigurationExtensions { /// @ToDo: Complete documentation before stable release. {923} /// @ToDo: Complete documentation before stable release. {456} diff --git a/src/Microsoft.ApplicationInsights/TelemetryClient.cs b/src/Microsoft.ApplicationInsights/TelemetryClient.cs index e65cfe77ae..dc41127eb2 100644 --- a/src/Microsoft.ApplicationInsights/TelemetryClient.cs +++ b/src/Microsoft.ApplicationInsights/TelemetryClient.cs @@ -245,7 +245,7 @@ public void TrackMetric(string name, double value, IDictionary p /// you likely have a use case for event telemetry; see . /// /// The metric telemetry item. - [EditorBrowsable(EditorBrowsableState.Never)] + // [EditorBrowsable(EditorBrowsableState.Never)] public void TrackMetric(MetricTelemetry telemetry) { if (telemetry == null) @@ -612,7 +612,7 @@ public void Flush() /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - public Metric GetMetric( + internal Metric GetMetric( string metricId) { return this.GetOrCreateMetric( @@ -642,7 +642,7 @@ public Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - public Metric GetMetric( + internal Metric GetMetric( string metricId, MetricConfiguration metricConfiguration) { @@ -671,7 +671,7 @@ public Metric GetMetric( /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. /// A instance that you can use to automatically aggregate and then sent metric data value. - public Metric GetMetric( + internal Metric GetMetric( string metricId, MetricConfiguration metricConfiguration, MetricAggregationScope aggregationScope) @@ -700,7 +700,7 @@ public Metric GetMetric( /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. /// A instance that you can use to automatically aggregate and then sent metric data value. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name) { @@ -732,7 +732,7 @@ public Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, MetricConfiguration metricConfiguration) @@ -762,7 +762,7 @@ public Metric GetMetric( /// configuration used earlier. /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, MetricConfiguration metricConfiguration, @@ -793,7 +793,7 @@ public Metric GetMetric( /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. /// A instance that you can use to automatically aggregate and then sent metric data value. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, string dimension2Name) @@ -827,7 +827,7 @@ public Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -859,7 +859,7 @@ public Metric GetMetric( /// configuration used earlier. /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -892,7 +892,7 @@ public Metric GetMetric( /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. /// A instance that you can use to automatically aggregate and then sent metric data value. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -928,7 +928,7 @@ public Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -962,7 +962,7 @@ public Metric GetMetric( /// configuration used earlier. /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -997,7 +997,7 @@ public Metric GetMetric( /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. /// A instance that you can use to automatically aggregate and then sent metric data value. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -1035,7 +1035,7 @@ public Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -1071,7 +1071,7 @@ public Metric GetMetric( /// configuration used earlier. /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -1101,7 +1101,7 @@ public Metric GetMetric( /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. /// A instance that you can use to automatically aggregate and then sent metric data value. - public Metric GetMetric( + internal Metric GetMetric( MetricIdentifier metricIdentifier) { return this.GetOrCreateMetric( @@ -1129,7 +1129,7 @@ public Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - public Metric GetMetric( + internal Metric GetMetric( MetricIdentifier metricIdentifier, MetricConfiguration metricConfiguration) { @@ -1155,7 +1155,7 @@ public Metric GetMetric( /// configuration used earlier. /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. - public Metric GetMetric( + internal Metric GetMetric( MetricIdentifier metricIdentifier, MetricConfiguration metricConfiguration, MetricAggregationScope aggregationScope) From ed551d788539bd1ca7cf129af65d5987589f80a2 Mon Sep 17 00:00:00 2001 From: macrogreg Date: Mon, 23 Apr 2018 19:11:19 -0500 Subject: [PATCH 12/41] Revert "Metrics: Hide pre-aggregation APIs in 2.6 Stable release." This reverts commit a8b76b106be5e8f060f7c48a21cc37baaa7add0c. --- .../net45/PublicAPI.Unshipped.txt | 239 +++++++++++++++++- .../net46/PublicAPI.Unshipped.txt | 239 +++++++++++++++++- .../netstandard1.3/PublicAPI.Unshipped.txt | 237 +++++++++++++++++ ...figurationForTestingAccumulatorBehavior.cs | 2 +- .../Shared/Metrics/TestUtility/TestUtil.cs | 6 +- .../DataContracts/MetricTelemetry.cs | 20 +- src/Microsoft.ApplicationInsights/Metric.cs | 2 +- .../MetricAggregationScope.cs | 2 +- .../MetricConfigurations.cs | 2 +- .../MetricConfigurationsExtensions.cs | 2 +- .../MetricDimensionNames.cs | 2 +- .../Extensibility/IMetricSeriesAggregator.cs | 2 +- .../Extensibility/IMetricTelemetryPipeline.cs | 2 +- .../Extensibility/IMetricValueFilter.cs | 2 +- .../MetricAggregationCycleKind.cs | 2 +- .../MetricConfigurationExtensions.cs | 2 +- .../Metrics/Extensibility/MetricExtensions.cs | 2 +- .../Extensibility/MetricSeriesExtensions.cs | 2 +- .../TelemetryClientExtensions.cs | 2 +- .../Metrics/IMetricSeriesConfiguration.cs | 2 +- .../Metrics/MetricAggregate.cs | 2 +- .../Metrics/MetricConfiguration.cs | 2 +- .../MetricConfigurationForMeasurement.cs | 2 +- .../Metrics/MetricIdentifier.cs | 2 +- .../Metrics/MetricManager.cs | 2 +- .../Metrics/MetricSeries.cs | 2 +- ...MetricSeriesConfigurationForMeasurement.cs | 2 +- .../Metrics/MetricsCollection.cs | 2 +- .../TelemetryConfigurationExtensions.cs | 2 +- .../TelemetryClient.cs | 38 +-- 30 files changed, 769 insertions(+), 58 deletions(-) diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt index 7c583a845f..a1444654c5 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt @@ -1,3 +1,6 @@ +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.get -> string +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.set -> void +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricTelemetry(string metricNamespace, string name, int count, double sum, double min, double max, double standardDeviation) -> void Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.get -> string Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.set -> void Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.get -> Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider @@ -32,4 +35,238 @@ Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPro Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.HeartbeatInterval.set -> void Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.get -> bool Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.set -> void -Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.SetHeartbeatProperty(string propertyName, string propertyValue = null, bool? isHealthy = null) -> bool \ No newline at end of file +Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.SetHeartbeatProperty(string propertyName, string propertyValue = null, bool? isHealthy = null) -> bool +Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.Metric.GetAllSeries() -> System.Collections.Generic.IReadOnlyList> +Microsoft.ApplicationInsights.Metric.GetDimensionValues(int dimensionNumber) -> System.Collections.Generic.IReadOnlyCollection +Microsoft.ApplicationInsights.Metric.Identifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier +Microsoft.ApplicationInsights.Metric.SeriesCount.get -> int +Microsoft.ApplicationInsights.Metric.TrackValue(double metricValue) -> void +Microsoft.ApplicationInsights.Metric.TrackValue(object metricValue) -> void +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, bool createIfNotExists, params string[] dimensionValues) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool +Microsoft.ApplicationInsights.MetricAggregationScope +Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryClient = 1 -> Microsoft.ApplicationInsights.MetricAggregationScope +Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryConfiguration = 0 -> Microsoft.ApplicationInsights.MetricAggregationScope +Microsoft.ApplicationInsights.MetricConfigurations +Microsoft.ApplicationInsights.MetricConfigurationsExtensions +Microsoft.ApplicationInsights.MetricDimensionNames +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CompleteAggregation(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CreateAggregateUnsafe(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.DataSeries.get -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart, Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter valueFilter) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(double metricValue) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(object metricValue) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TryRecycle() -> bool +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.FlushAsync(System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.TrackAsync(Microsoft.ApplicationInsights.Metrics.MetricAggregate metricAggregate, System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, double metricValue) -> bool +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, object metricValue) -> bool +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Custom = 2 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Default = 0 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.QuickPulse = 1 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions +Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions +Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration +Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator +Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.RequiresPersistentAggregation.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricAggregate +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationKindMoniker.get -> string +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.get -> System.TimeSpan +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.set -> void +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.get -> System.DateTimeOffset +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.set -> void +Microsoft.ApplicationInsights.Metrics.MetricAggregate.Data.get -> System.Collections.Generic.IDictionary +Microsoft.ApplicationInsights.Metrics.MetricAggregate.Dimensions.get -> System.Collections.Generic.IDictionary +Microsoft.ApplicationInsights.Metrics.MetricAggregate.GetDataValue(string dataKey, T defaultValue) -> T +Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricAggregate(string metricNamespace, string metricId, string aggregationKindMoniker) -> void +Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricId.get -> string +Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricNamespace.get -> string +Microsoft.ApplicationInsights.Metrics.MetricConfiguration +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.MetricConfiguration(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration seriesConfig) -> void +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesConfig.get -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesCountLimit.get -> int +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.ValuesPerDimensionLimit.get -> int +Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement +Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement.MetricConfigurationForMeasurement(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement seriesConfig) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DimensionsCount.get -> int +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(Microsoft.ApplicationInsights.Metrics.MetricIdentifier otherMetricIdentifier) -> bool +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionName(int dimensionNumber) -> string +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionNames() -> System.Collections.Generic.IEnumerable +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricId.get -> string +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricId) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, System.Collections.Generic.IList dimensionNames) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name, string dimension10Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricNamespace.get -> string +Microsoft.ApplicationInsights.Metrics.MetricManager +Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricManager.Flush() -> void +Microsoft.ApplicationInsights.Metrics.MetricManager.MetricManager(Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline telemetryPipeline) -> void +Microsoft.ApplicationInsights.Metrics.MetricManager.Metrics.get -> Microsoft.ApplicationInsights.Metrics.MetricsCollection +Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricSeries.DimensionNamesAndValues.get -> System.Collections.Generic.IReadOnlyDictionary +Microsoft.ApplicationInsights.Metrics.MetricSeries.MetricIdentifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier +Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(double metricValue) -> void +Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(object metricValue) -> void +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindDataKeys.get -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindMoniker.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Count.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Max.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Min.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.StdDev.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Sum.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration other) -> bool +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement other) -> bool +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.MetricSeriesConfigurationForMeasurement(bool restrictToUInt32Values) -> void +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RequiresPersistentAggregation.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RestrictToUInt32Values.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Clear() -> void +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Contains(Microsoft.ApplicationInsights.Metric metric) -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection.CopyTo(Microsoft.ApplicationInsights.Metric[] array, int arrayIndex) -> void +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Count.get -> int +Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetEnumerator() -> System.Collections.Generic.IEnumerator +Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetOrCreate(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.Metrics.MetricsCollection.IsReadOnly.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Remove(Microsoft.ApplicationInsights.Metric metric) -> bool +Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleInstance = "TelemetryContext.Cloud.RoleInstance" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleName = "TelemetryContext.Cloud.RoleName" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component.Version = "TelemetryContext.Component.Version" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Id = "TelemetryContext.Device.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Language = "TelemetryContext.Device.Language" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Model = "TelemetryContext.Device.Model" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.NetworkType = "TelemetryContext.Device.NetworkType" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OemName = "TelemetryContext.Device.OemName" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OperatingSystem = "TelemetryContext.Device.OperatingSystem" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.ScreenResolution = "TelemetryContext.Device.ScreenResolution" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Type = "TelemetryContext.Device.Type" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.InstrumentationKey = "TelemetryContext.InstrumentationKey" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location.Ip = "TelemetryContext.Location.Ip" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.CorrelationVector = "TelemetryContext.Operation.CorrelationVector" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Id = "TelemetryContext.Operation.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Name = "TelemetryContext.Operation.Name" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.ParentId = "TelemetryContext.Operation.ParentId" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.SyntheticSource = "TelemetryContext.Operation.SyntheticSource" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.Id = "TelemetryContext.Session.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.IsFirst = "TelemetryContext.Session.IsFirst" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AccountId = "TelemetryContext.User.AccountId" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AuthenticatedUserId = "TelemetryContext.User.AuthenticatedUserId" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.Id = "TelemetryContext.User.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.UserAgent = "TelemetryContext.User.UserAgent" -> string +const Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MaxDimensionsCount = 10 -> int +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Count = "Count" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Max = "Max" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Min = "Min" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Sum = "Sum" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Count = "Count" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Max = "Max" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Min = "Min" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Sum = "Sum" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string +override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(object obj) -> bool +override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.GetHashCode() -> int +override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(object otherObj) -> bool +override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetHashCode() -> int +override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.ToString() -> string +override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(object obj) -> bool +override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.GetHashCode() -> int +static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.Measurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets) -> Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement +static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.SetDefaultForMeasurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets, Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement defaultConfigurationForMeasurement) -> void +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metric metric) -> Microsoft.ApplicationInsights.Metrics.MetricConfiguration +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metrics.MetricSeries metricSeries) -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration +static Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions.GetMetricManager(this Microsoft.ApplicationInsights.TelemetryClient telemetryClient, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metrics.MetricManager +static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.get -> string +static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.set -> void +static Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions.GetMetricManager(this Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration telemetryPipeline) -> Microsoft.ApplicationInsights.Metrics.MetricManager +static readonly Microsoft.ApplicationInsights.MetricConfigurations.Common -> Microsoft.ApplicationInsights.MetricConfigurations +virtual Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(Microsoft.ApplicationInsights.Metrics.MetricConfiguration other) -> bool \ No newline at end of file diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt index 7c583a845f..a1444654c5 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt @@ -1,3 +1,6 @@ +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.get -> string +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.set -> void +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricTelemetry(string metricNamespace, string name, int count, double sum, double min, double max, double standardDeviation) -> void Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.get -> string Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.set -> void Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.get -> Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider @@ -32,4 +35,238 @@ Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPro Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.HeartbeatInterval.set -> void Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.get -> bool Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.set -> void -Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.SetHeartbeatProperty(string propertyName, string propertyValue = null, bool? isHealthy = null) -> bool \ No newline at end of file +Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.SetHeartbeatProperty(string propertyName, string propertyValue = null, bool? isHealthy = null) -> bool +Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.Metric.GetAllSeries() -> System.Collections.Generic.IReadOnlyList> +Microsoft.ApplicationInsights.Metric.GetDimensionValues(int dimensionNumber) -> System.Collections.Generic.IReadOnlyCollection +Microsoft.ApplicationInsights.Metric.Identifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier +Microsoft.ApplicationInsights.Metric.SeriesCount.get -> int +Microsoft.ApplicationInsights.Metric.TrackValue(double metricValue) -> void +Microsoft.ApplicationInsights.Metric.TrackValue(object metricValue) -> void +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, bool createIfNotExists, params string[] dimensionValues) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool +Microsoft.ApplicationInsights.MetricAggregationScope +Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryClient = 1 -> Microsoft.ApplicationInsights.MetricAggregationScope +Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryConfiguration = 0 -> Microsoft.ApplicationInsights.MetricAggregationScope +Microsoft.ApplicationInsights.MetricConfigurations +Microsoft.ApplicationInsights.MetricConfigurationsExtensions +Microsoft.ApplicationInsights.MetricDimensionNames +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CompleteAggregation(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CreateAggregateUnsafe(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.DataSeries.get -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart, Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter valueFilter) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(double metricValue) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(object metricValue) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TryRecycle() -> bool +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.FlushAsync(System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.TrackAsync(Microsoft.ApplicationInsights.Metrics.MetricAggregate metricAggregate, System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, double metricValue) -> bool +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, object metricValue) -> bool +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Custom = 2 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Default = 0 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.QuickPulse = 1 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions +Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions +Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration +Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator +Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.RequiresPersistentAggregation.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricAggregate +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationKindMoniker.get -> string +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.get -> System.TimeSpan +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.set -> void +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.get -> System.DateTimeOffset +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.set -> void +Microsoft.ApplicationInsights.Metrics.MetricAggregate.Data.get -> System.Collections.Generic.IDictionary +Microsoft.ApplicationInsights.Metrics.MetricAggregate.Dimensions.get -> System.Collections.Generic.IDictionary +Microsoft.ApplicationInsights.Metrics.MetricAggregate.GetDataValue(string dataKey, T defaultValue) -> T +Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricAggregate(string metricNamespace, string metricId, string aggregationKindMoniker) -> void +Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricId.get -> string +Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricNamespace.get -> string +Microsoft.ApplicationInsights.Metrics.MetricConfiguration +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.MetricConfiguration(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration seriesConfig) -> void +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesConfig.get -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesCountLimit.get -> int +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.ValuesPerDimensionLimit.get -> int +Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement +Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement.MetricConfigurationForMeasurement(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement seriesConfig) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DimensionsCount.get -> int +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(Microsoft.ApplicationInsights.Metrics.MetricIdentifier otherMetricIdentifier) -> bool +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionName(int dimensionNumber) -> string +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionNames() -> System.Collections.Generic.IEnumerable +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricId.get -> string +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricId) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, System.Collections.Generic.IList dimensionNames) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name, string dimension10Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricNamespace.get -> string +Microsoft.ApplicationInsights.Metrics.MetricManager +Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricManager.Flush() -> void +Microsoft.ApplicationInsights.Metrics.MetricManager.MetricManager(Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline telemetryPipeline) -> void +Microsoft.ApplicationInsights.Metrics.MetricManager.Metrics.get -> Microsoft.ApplicationInsights.Metrics.MetricsCollection +Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricSeries.DimensionNamesAndValues.get -> System.Collections.Generic.IReadOnlyDictionary +Microsoft.ApplicationInsights.Metrics.MetricSeries.MetricIdentifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier +Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(double metricValue) -> void +Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(object metricValue) -> void +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindDataKeys.get -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindMoniker.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Count.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Max.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Min.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.StdDev.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Sum.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration other) -> bool +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement other) -> bool +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.MetricSeriesConfigurationForMeasurement(bool restrictToUInt32Values) -> void +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RequiresPersistentAggregation.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RestrictToUInt32Values.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Clear() -> void +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Contains(Microsoft.ApplicationInsights.Metric metric) -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection.CopyTo(Microsoft.ApplicationInsights.Metric[] array, int arrayIndex) -> void +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Count.get -> int +Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetEnumerator() -> System.Collections.Generic.IEnumerator +Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetOrCreate(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.Metrics.MetricsCollection.IsReadOnly.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Remove(Microsoft.ApplicationInsights.Metric metric) -> bool +Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleInstance = "TelemetryContext.Cloud.RoleInstance" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleName = "TelemetryContext.Cloud.RoleName" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component.Version = "TelemetryContext.Component.Version" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Id = "TelemetryContext.Device.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Language = "TelemetryContext.Device.Language" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Model = "TelemetryContext.Device.Model" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.NetworkType = "TelemetryContext.Device.NetworkType" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OemName = "TelemetryContext.Device.OemName" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OperatingSystem = "TelemetryContext.Device.OperatingSystem" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.ScreenResolution = "TelemetryContext.Device.ScreenResolution" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Type = "TelemetryContext.Device.Type" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.InstrumentationKey = "TelemetryContext.InstrumentationKey" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location.Ip = "TelemetryContext.Location.Ip" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.CorrelationVector = "TelemetryContext.Operation.CorrelationVector" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Id = "TelemetryContext.Operation.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Name = "TelemetryContext.Operation.Name" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.ParentId = "TelemetryContext.Operation.ParentId" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.SyntheticSource = "TelemetryContext.Operation.SyntheticSource" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.Id = "TelemetryContext.Session.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.IsFirst = "TelemetryContext.Session.IsFirst" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AccountId = "TelemetryContext.User.AccountId" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AuthenticatedUserId = "TelemetryContext.User.AuthenticatedUserId" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.Id = "TelemetryContext.User.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.UserAgent = "TelemetryContext.User.UserAgent" -> string +const Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MaxDimensionsCount = 10 -> int +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Count = "Count" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Max = "Max" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Min = "Min" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Sum = "Sum" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Count = "Count" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Max = "Max" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Min = "Min" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Sum = "Sum" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string +override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(object obj) -> bool +override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.GetHashCode() -> int +override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(object otherObj) -> bool +override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetHashCode() -> int +override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.ToString() -> string +override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(object obj) -> bool +override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.GetHashCode() -> int +static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.Measurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets) -> Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement +static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.SetDefaultForMeasurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets, Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement defaultConfigurationForMeasurement) -> void +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metric metric) -> Microsoft.ApplicationInsights.Metrics.MetricConfiguration +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metrics.MetricSeries metricSeries) -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration +static Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions.GetMetricManager(this Microsoft.ApplicationInsights.TelemetryClient telemetryClient, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metrics.MetricManager +static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.get -> string +static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.set -> void +static Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions.GetMetricManager(this Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration telemetryPipeline) -> Microsoft.ApplicationInsights.Metrics.MetricManager +static readonly Microsoft.ApplicationInsights.MetricConfigurations.Common -> Microsoft.ApplicationInsights.MetricConfigurations +virtual Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(Microsoft.ApplicationInsights.Metrics.MetricConfiguration other) -> bool \ No newline at end of file diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt index a165e153a9..9b9988204e 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt @@ -1,3 +1,6 @@ +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.get -> string +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.set -> void +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricTelemetry(string metricNamespace, string name, int count, double sum, double min, double max, double standardDeviation) -> void Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.get -> Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.set -> void Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider @@ -33,4 +36,238 @@ Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPro Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.get -> bool Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.set -> void Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.SetHeartbeatProperty(string propertyName, string propertyValue = null, bool? isHealthy = null) -> bool +Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.Metric.GetAllSeries() -> System.Collections.Generic.IReadOnlyList> +Microsoft.ApplicationInsights.Metric.GetDimensionValues(int dimensionNumber) -> System.Collections.Generic.IReadOnlyCollection +Microsoft.ApplicationInsights.Metric.Identifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier +Microsoft.ApplicationInsights.Metric.SeriesCount.get -> int +Microsoft.ApplicationInsights.Metric.TrackValue(double metricValue) -> void +Microsoft.ApplicationInsights.Metric.TrackValue(object metricValue) -> void +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, bool createIfNotExists, params string[] dimensionValues) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool +Microsoft.ApplicationInsights.MetricAggregationScope +Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryClient = 1 -> Microsoft.ApplicationInsights.MetricAggregationScope +Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryConfiguration = 0 -> Microsoft.ApplicationInsights.MetricAggregationScope +Microsoft.ApplicationInsights.MetricConfigurations +Microsoft.ApplicationInsights.MetricConfigurationsExtensions +Microsoft.ApplicationInsights.MetricDimensionNames +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CompleteAggregation(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CreateAggregateUnsafe(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.DataSeries.get -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart, Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter valueFilter) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(double metricValue) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(object metricValue) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TryRecycle() -> bool +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.FlushAsync(System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.TrackAsync(Microsoft.ApplicationInsights.Metrics.MetricAggregate metricAggregate, System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, double metricValue) -> bool +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, object metricValue) -> bool +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Custom = 2 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Default = 0 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.QuickPulse = 1 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions +Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions +Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration +Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator +Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.RequiresPersistentAggregation.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricAggregate +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationKindMoniker.get -> string +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.get -> System.TimeSpan +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.set -> void +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.get -> System.DateTimeOffset +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.set -> void +Microsoft.ApplicationInsights.Metrics.MetricAggregate.Data.get -> System.Collections.Generic.IDictionary +Microsoft.ApplicationInsights.Metrics.MetricAggregate.Dimensions.get -> System.Collections.Generic.IDictionary +Microsoft.ApplicationInsights.Metrics.MetricAggregate.GetDataValue(string dataKey, T defaultValue) -> T +Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricAggregate(string metricNamespace, string metricId, string aggregationKindMoniker) -> void +Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricId.get -> string +Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricNamespace.get -> string +Microsoft.ApplicationInsights.Metrics.MetricConfiguration +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.MetricConfiguration(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration seriesConfig) -> void +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesConfig.get -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesCountLimit.get -> int +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.ValuesPerDimensionLimit.get -> int +Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement +Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement.MetricConfigurationForMeasurement(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement seriesConfig) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DimensionsCount.get -> int +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(Microsoft.ApplicationInsights.Metrics.MetricIdentifier otherMetricIdentifier) -> bool +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionName(int dimensionNumber) -> string +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionNames() -> System.Collections.Generic.IEnumerable +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricId.get -> string +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricId) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, System.Collections.Generic.IList dimensionNames) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name, string dimension10Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricNamespace.get -> string +Microsoft.ApplicationInsights.Metrics.MetricManager +Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricManager.Flush() -> void +Microsoft.ApplicationInsights.Metrics.MetricManager.MetricManager(Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline telemetryPipeline) -> void +Microsoft.ApplicationInsights.Metrics.MetricManager.Metrics.get -> Microsoft.ApplicationInsights.Metrics.MetricsCollection +Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricSeries.DimensionNamesAndValues.get -> System.Collections.Generic.IReadOnlyDictionary +Microsoft.ApplicationInsights.Metrics.MetricSeries.MetricIdentifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier +Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(double metricValue) -> void +Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(object metricValue) -> void +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindDataKeys.get -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindMoniker.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Count.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Max.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Min.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.StdDev.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Sum.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration other) -> bool +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement other) -> bool +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.MetricSeriesConfigurationForMeasurement(bool restrictToUInt32Values) -> void +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RequiresPersistentAggregation.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RestrictToUInt32Values.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Clear() -> void +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Contains(Microsoft.ApplicationInsights.Metric metric) -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection.CopyTo(Microsoft.ApplicationInsights.Metric[] array, int arrayIndex) -> void +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Count.get -> int +Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetEnumerator() -> System.Collections.Generic.IEnumerator +Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetOrCreate(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.Metrics.MetricsCollection.IsReadOnly.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Remove(Microsoft.ApplicationInsights.Metric metric) -> bool +Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleInstance = "TelemetryContext.Cloud.RoleInstance" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleName = "TelemetryContext.Cloud.RoleName" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component.Version = "TelemetryContext.Component.Version" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Id = "TelemetryContext.Device.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Language = "TelemetryContext.Device.Language" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Model = "TelemetryContext.Device.Model" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.NetworkType = "TelemetryContext.Device.NetworkType" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OemName = "TelemetryContext.Device.OemName" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OperatingSystem = "TelemetryContext.Device.OperatingSystem" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.ScreenResolution = "TelemetryContext.Device.ScreenResolution" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Type = "TelemetryContext.Device.Type" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.InstrumentationKey = "TelemetryContext.InstrumentationKey" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location.Ip = "TelemetryContext.Location.Ip" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.CorrelationVector = "TelemetryContext.Operation.CorrelationVector" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Id = "TelemetryContext.Operation.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Name = "TelemetryContext.Operation.Name" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.ParentId = "TelemetryContext.Operation.ParentId" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.SyntheticSource = "TelemetryContext.Operation.SyntheticSource" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.Id = "TelemetryContext.Session.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.IsFirst = "TelemetryContext.Session.IsFirst" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AccountId = "TelemetryContext.User.AccountId" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AuthenticatedUserId = "TelemetryContext.User.AuthenticatedUserId" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.Id = "TelemetryContext.User.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.UserAgent = "TelemetryContext.User.UserAgent" -> string +const Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MaxDimensionsCount = 10 -> int +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Count = "Count" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Max = "Max" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Min = "Min" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Sum = "Sum" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Count = "Count" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Max = "Max" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Min = "Min" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Sum = "Sum" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string +override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(object obj) -> bool +override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.GetHashCode() -> int +override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(object otherObj) -> bool +override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetHashCode() -> int +override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.ToString() -> string +override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(object obj) -> bool +override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.GetHashCode() -> int +static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.Measurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets) -> Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement +static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.SetDefaultForMeasurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets, Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement defaultConfigurationForMeasurement) -> void +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metric metric) -> Microsoft.ApplicationInsights.Metrics.MetricConfiguration +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metrics.MetricSeries metricSeries) -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration +static Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions.GetMetricManager(this Microsoft.ApplicationInsights.TelemetryClient telemetryClient, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metrics.MetricManager +static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.get -> string +static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.set -> void +static Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions.GetMetricManager(this Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration telemetryPipeline) -> Microsoft.ApplicationInsights.Metrics.MetricManager +static readonly Microsoft.ApplicationInsights.MetricConfigurations.Common -> Microsoft.ApplicationInsights.MetricConfigurations +virtual Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(Microsoft.ApplicationInsights.Metrics.MetricConfiguration other) -> bool Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry.SetParsedStack(System.Diagnostics.StackFrame[] frames) -> void \ No newline at end of file diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/MetricSeriesConfigurationForTestingAccumulatorBehavior.cs b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/MetricSeriesConfigurationForTestingAccumulatorBehavior.cs index ecefef78ff..5dca71d888 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/MetricSeriesConfigurationForTestingAccumulatorBehavior.cs +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/MetricSeriesConfigurationForTestingAccumulatorBehavior.cs @@ -6,7 +6,7 @@ namespace Microsoft.ApplicationInsights.Metrics.TestUtility { - internal class MetricSeriesConfigurationForTestingAccumulatorBehavior : IMetricSeriesConfiguration + public class MetricSeriesConfigurationForTestingAccumulatorBehavior : IMetricSeriesConfiguration { private readonly int _hashCode; diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/TestUtil.cs b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/TestUtil.cs index 2e4545a835..3783a5823e 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/TestUtil.cs +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/TestUtil.cs @@ -174,7 +174,7 @@ public static void ValidateNumericAggregateValues(ITelemetry aggregate, string n } } - internal static void ValidateNumericAggregateValues(MetricAggregate aggregate, string ns, string name, int count, double sum, double max, double min, double stdDev, DateTimeOffset timestamp, long periodMs, string aggKindMoniker) + public static void ValidateNumericAggregateValues(MetricAggregate aggregate, string ns, string name, int count, double sum, double max, double min, double stdDev, DateTimeOffset timestamp, long periodMs, string aggKindMoniker) { ValidateNumericAggregateValues(aggregate, ns, name, count, sum, max, min, stdDev, aggKindMoniker); @@ -182,7 +182,7 @@ internal static void ValidateNumericAggregateValues(MetricAggregate aggregate, s Assert.AreEqual(periodMs, (long) aggregate.AggregationPeriodDuration.TotalMilliseconds, "metricAggregate.Properties[AggregationIntervalMonikerPropertyKey] mismatch"); } - internal static void ValidateNumericAggregateValues(MetricAggregate aggregate, string ns, string name, int count, double sum, double max, double min, double stdDev, string aggKindMoniker) + public static void ValidateNumericAggregateValues(MetricAggregate aggregate, string ns, string name, int count, double sum, double max, double min, double stdDev, string aggKindMoniker) { Assert.IsNotNull(aggregate); @@ -262,7 +262,7 @@ public static void ValidateSdkVersionString(string versionMoniker) /// a clean test run. ///
/// - internal static void CompleteDefaultAggregationCycle(params MetricManager[] metricManagers) + public static void CompleteDefaultAggregationCycle(params MetricManager[] metricManagers) { if (metricManagers == null) { diff --git a/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs b/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs index 345c6650a8..a936256af0 100644 --- a/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs +++ b/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs @@ -101,7 +101,7 @@ public MetricTelemetry( /// Minimum value taken during aggregation interval. /// Maximum of values taken during aggregation interval. /// Standard deviation of values taken during aggregation interval. - internal MetricTelemetry( + public MetricTelemetry( string metricNamespace, string name, int count, @@ -148,6 +148,15 @@ private MetricTelemetry(MetricTelemetry source) /// public TelemetryContext Context { get; } + /// + /// Gets or sets the name of the metric. + /// + public string MetricNamespace + { + get { return this.Metric.ns; } + set { this.Metric.ns = value; } + } + /// /// Gets or sets the name of the metric. /// @@ -221,15 +230,6 @@ public IDictionary Properties get { return this.Data.properties; } } - /// - /// Gets or sets the name of the metric. - /// - internal string MetricNamespace - { - get { return this.Metric.ns; } - set { this.Metric.ns = value; } - } - /// /// Deeply clones a object. /// diff --git a/src/Microsoft.ApplicationInsights/Metric.cs b/src/Microsoft.ApplicationInsights/Metric.cs index 785224d432..5d5bd0a804 100644 --- a/src/Microsoft.ApplicationInsights/Metric.cs +++ b/src/Microsoft.ApplicationInsights/Metric.cs @@ -14,7 +14,7 @@ /// A Metric instance groups one or more MetricSeries that actually track and aggregate values along with /// naming and configuration attributes that identify the metric and define how it will be aggregated. /// - internal sealed class Metric + public sealed class Metric { #pragma warning disable SA1401, SA1304, SA1307 // intended to be an internal, lower-case field internal readonly MetricConfiguration configuration; diff --git a/src/Microsoft.ApplicationInsights/MetricAggregationScope.cs b/src/Microsoft.ApplicationInsights/MetricAggregationScope.cs index 1a00ab496e..a6d35be430 100644 --- a/src/Microsoft.ApplicationInsights/MetricAggregationScope.cs +++ b/src/Microsoft.ApplicationInsights/MetricAggregationScope.cs @@ -9,7 +9,7 @@ /// /// /// - internal enum MetricAggregationScope + public enum MetricAggregationScope { /// /// Metric values will be aggregated ACROSS all telemetry clients that belong to the same TelemetryConfiguration.
diff --git a/src/Microsoft.ApplicationInsights/MetricConfigurations.cs b/src/Microsoft.ApplicationInsights/MetricConfigurations.cs index 736e4bc415..41fc43d7f8 100644 --- a/src/Microsoft.ApplicationInsights/MetricConfigurations.cs +++ b/src/Microsoft.ApplicationInsights/MetricConfigurations.cs @@ -5,7 +5,7 @@ /// /// Static container for the most commonly used metric configurations. /// - internal sealed class MetricConfigurations + public sealed class MetricConfigurations { /// /// Groups extension methods that return pre-defined metric configurations and related constants. diff --git a/src/Microsoft.ApplicationInsights/MetricConfigurationsExtensions.cs b/src/Microsoft.ApplicationInsights/MetricConfigurationsExtensions.cs index ba45c7891b..3bfeea3019 100644 --- a/src/Microsoft.ApplicationInsights/MetricConfigurationsExtensions.cs +++ b/src/Microsoft.ApplicationInsights/MetricConfigurationsExtensions.cs @@ -10,7 +10,7 @@ /// Do not use directly. Instead, use: MetricConfigurations.Common.Xxxx(). /// [EditorBrowsable(EditorBrowsableState.Never)] - internal static class MetricConfigurationsExtensions + public static class MetricConfigurationsExtensions { private const int DefaultSeriesCountLimit = 1000; private const int DefaultValuesPerDimensionLimit = 100; diff --git a/src/Microsoft.ApplicationInsights/MetricDimensionNames.cs b/src/Microsoft.ApplicationInsights/MetricDimensionNames.cs index 51e98ade1d..eb3f51bd90 100644 --- a/src/Microsoft.ApplicationInsights/MetricDimensionNames.cs +++ b/src/Microsoft.ApplicationInsights/MetricDimensionNames.cs @@ -6,7 +6,7 @@ /// /// Contains constants used to refer to metric dimensions with special significance. /// - internal static class MetricDimensionNames + public static class MetricDimensionNames { /// ///

Contains constants used to refer to metric dimensions that will be mapped to fields diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricSeriesAggregator.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricSeriesAggregator.cs index abe7875311..e226547ccb 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricSeriesAggregator.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricSeriesAggregator.cs @@ -3,7 +3,7 @@ using System; ///

@ToDo: Complete documentation before stable release. {558} - internal interface IMetricSeriesAggregator + public interface IMetricSeriesAggregator { /// Gets @ToDo: Complete documentation before stable release. {969} MetricSeries DataSeries { get; } diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricTelemetryPipeline.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricTelemetryPipeline.cs index fcd768a77e..f103355021 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricTelemetryPipeline.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricTelemetryPipeline.cs @@ -8,7 +8,7 @@ /// Represents an eventual destination for metric telemetry. /// For example, an Application Insights telemetry pipeline, a file or some other ingestion point. ///
- internal interface IMetricTelemetryPipeline + public interface IMetricTelemetryPipeline { /// /// Send a metric aggregate to the eventual destination. diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricValueFilter.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricValueFilter.cs index 0056ab7d67..29181ab239 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricValueFilter.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricValueFilter.cs @@ -1,7 +1,7 @@ namespace Microsoft.ApplicationInsights.Metrics.Extensibility { /// @ToDo: Complete documentation before stable release. {265} - internal interface IMetricValueFilter + public interface IMetricValueFilter { /// @ToDo: Complete documentation before stable release. {919} /// @ToDo: Complete documentation before stable release. {526} diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregationCycleKind.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregationCycleKind.cs index 42f06939b5..1dca40ceef 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregationCycleKind.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregationCycleKind.cs @@ -3,7 +3,7 @@ using System; /// @ToDo: Complete documentation before stable release. {447} - internal enum MetricAggregationCycleKind : Int32 + public enum MetricAggregationCycleKind : Int32 { /// /// The default aggregation cycle. diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricConfigurationExtensions.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricConfigurationExtensions.cs index dad6aaa7e0..4f07d68439 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricConfigurationExtensions.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricConfigurationExtensions.cs @@ -8,7 +8,7 @@ /// Do not use directly. Instead, use: MetricConfigurations.Common.Xxxx().Constants(). /// [EditorBrowsable(EditorBrowsableState.Never)] - internal static class MetricConfigurationExtensions + public static class MetricConfigurationExtensions { /// /// Groups constants used my metric aggregates produced by aggregators that are configured by metric configurations represented diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricExtensions.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricExtensions.cs index 446b6a38a8..6e25070a37 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricExtensions.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricExtensions.cs @@ -6,7 +6,7 @@ /// There are some APIs on Metric that we hide from Intellisense by making them internal until the ..Extensibility namespace is imported. /// This class exposes them. /// - internal static class MetricExtensions + public static class MetricExtensions { /// /// Exposes the Configuration property for users who imported the Microsoft.ApplicationInsights.Metrics.Extensibility namespace. diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricSeriesExtensions.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricSeriesExtensions.cs index 0c4aea68e9..13ac183d68 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricSeriesExtensions.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricSeriesExtensions.cs @@ -7,7 +7,7 @@ /// There are some APIs on MetricSeries that we hide from Intellisense by making them internal until the ..Extensibility namespace is imported. /// This class exposes them. /// - internal static class MetricSeriesExtensions + public static class MetricSeriesExtensions { /// /// Exposes the Configuration property for users who imported the Microsoft.ApplicationInsights.Metrics.Extensibility namespace. diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/TelemetryClientExtensions.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/TelemetryClientExtensions.cs index e07827ad34..f68cca4023 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/TelemetryClientExtensions.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/TelemetryClientExtensions.cs @@ -9,7 +9,7 @@ using static System.FormattableString; /// @ToDo: Complete documentation before stable release. {526} - internal static class TelemetryClientExtensions + public static class TelemetryClientExtensions { private static ConditionalWeakTable metricManagersForTelemetryClients; diff --git a/src/Microsoft.ApplicationInsights/Metrics/IMetricSeriesConfiguration.cs b/src/Microsoft.ApplicationInsights/Metrics/IMetricSeriesConfiguration.cs index 2d14e7fda5..ec4e135dc1 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/IMetricSeriesConfiguration.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/IMetricSeriesConfiguration.cs @@ -4,7 +4,7 @@ using Microsoft.ApplicationInsights.Metrics.Extensibility; /// @ToDo: Complete documentation before stable release. {510} - internal interface IMetricSeriesConfiguration : IEquatable + public interface IMetricSeriesConfiguration : IEquatable { /// Gets a value indicating whether @ToDo: Complete documentation before stable release. {016} bool RequiresPersistentAggregation { get; } diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricAggregate.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricAggregate.cs index ea8d0e554c..245f5db8b2 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricAggregate.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricAggregate.cs @@ -6,7 +6,7 @@ using System.Globalization; /// @ToDo: Complete documentation before stable release. {406} - internal class MetricAggregate + public class MetricAggregate { // We want to make the aggregate thread safe, but we expect no signiicant contention, so a simple lock will suffice. private readonly object updateLock = new object(); diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs index 89db6283d3..10150a596b 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs @@ -5,7 +5,7 @@ using static System.FormattableString; /// @ToDo: Complete documentation before stable release. {654} - internal class MetricConfiguration : IEquatable + public class MetricConfiguration : IEquatable { private readonly int hashCode; diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricConfigurationForMeasurement.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricConfigurationForMeasurement.cs index 123b58abd6..0033c03569 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricConfigurationForMeasurement.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricConfigurationForMeasurement.cs @@ -3,7 +3,7 @@ using System; /// @ToDo: Complete documentation before stable release. {218} - internal sealed class MetricConfigurationForMeasurement : MetricConfiguration + public sealed class MetricConfigurationForMeasurement : MetricConfiguration { /// @ToDo: Complete documentation before stable release. {928} /// @ToDo: Complete documentation before stable release. {466} diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs index fdc88fe35a..fe63663e40 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs @@ -8,7 +8,7 @@ using static System.FormattableString; /// @ToDo: Complete documentation before stable release. {085} - internal sealed class MetricIdentifier : IEquatable + public sealed class MetricIdentifier : IEquatable { /// @ToDo: Complete documentation before stable release. {369} public const int MaxDimensionsCount = 10; diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricManager.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricManager.cs index f5c8467eec..cc0be15cd9 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricManager.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricManager.cs @@ -7,7 +7,7 @@ using Microsoft.ApplicationInsights.Metrics.Extensibility; /// @ToDo: Complete documentation before stable release. {529} - internal sealed class MetricManager + public sealed class MetricManager { private readonly MetricAggregationManager aggregationManager; private readonly DefaultAggregationPeriodCycle aggregationCycle; diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricSeries.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricSeries.cs index b76dd68a54..9a04da74ba 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricSeries.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricSeries.cs @@ -17,7 +17,7 @@ /// Each Metric object contains a special zero-dimension series, plus, for multi-dimensional metrics, one /// series per unique dimension-values combination. /// - internal sealed class MetricSeries + public sealed class MetricSeries { #pragma warning disable SA1401, SA1304, SA1307 // intended to be an internal, lower-case field internal readonly IMetricSeriesConfiguration configuration; diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricSeriesConfigurationForMeasurement.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricSeriesConfigurationForMeasurement.cs index bab9b6f181..261a8ab398 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricSeriesConfigurationForMeasurement.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricSeriesConfigurationForMeasurement.cs @@ -6,7 +6,7 @@ using Microsoft.ApplicationInsights.Metrics.Extensibility; /// @ToDo: Complete documentation before stable release. {023} - internal class MetricSeriesConfigurationForMeasurement : IMetricSeriesConfiguration + public class MetricSeriesConfigurationForMeasurement : IMetricSeriesConfiguration { private readonly bool restrictToUInt32Values; private readonly int hashCode; diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricsCollection.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricsCollection.cs index cf06de2b95..fced0e01f0 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricsCollection.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricsCollection.cs @@ -8,7 +8,7 @@ using static System.FormattableString; /// @ToDo: Complete documentation before stable release. {092} - internal sealed class MetricsCollection : ICollection + public sealed class MetricsCollection : ICollection { private readonly MetricManager metricManager; private readonly ConcurrentDictionary metrics = new ConcurrentDictionary(); diff --git a/src/Microsoft.ApplicationInsights/Metrics/TelemetryConfigurationExtensions.cs b/src/Microsoft.ApplicationInsights/Metrics/TelemetryConfigurationExtensions.cs index 02ef5660c7..c5c0a55581 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/TelemetryConfigurationExtensions.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/TelemetryConfigurationExtensions.cs @@ -4,7 +4,7 @@ using Microsoft.ApplicationInsights.Extensibility; /// @ToDo: Complete documentation before stable release. {737} - internal static class TelemetryConfigurationExtensions + public static class TelemetryConfigurationExtensions { /// @ToDo: Complete documentation before stable release. {923} /// @ToDo: Complete documentation before stable release. {456} diff --git a/src/Microsoft.ApplicationInsights/TelemetryClient.cs b/src/Microsoft.ApplicationInsights/TelemetryClient.cs index dc41127eb2..e65cfe77ae 100644 --- a/src/Microsoft.ApplicationInsights/TelemetryClient.cs +++ b/src/Microsoft.ApplicationInsights/TelemetryClient.cs @@ -245,7 +245,7 @@ public void TrackMetric(string name, double value, IDictionary p /// you likely have a use case for event telemetry; see . /// /// The metric telemetry item. - // [EditorBrowsable(EditorBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] public void TrackMetric(MetricTelemetry telemetry) { if (telemetry == null) @@ -612,7 +612,7 @@ public void Flush() /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - internal Metric GetMetric( + public Metric GetMetric( string metricId) { return this.GetOrCreateMetric( @@ -642,7 +642,7 @@ internal Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - internal Metric GetMetric( + public Metric GetMetric( string metricId, MetricConfiguration metricConfiguration) { @@ -671,7 +671,7 @@ internal Metric GetMetric( /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. /// A instance that you can use to automatically aggregate and then sent metric data value. - internal Metric GetMetric( + public Metric GetMetric( string metricId, MetricConfiguration metricConfiguration, MetricAggregationScope aggregationScope) @@ -700,7 +700,7 @@ internal Metric GetMetric( /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. /// A instance that you can use to automatically aggregate and then sent metric data value. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name) { @@ -732,7 +732,7 @@ internal Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, MetricConfiguration metricConfiguration) @@ -762,7 +762,7 @@ internal Metric GetMetric( /// configuration used earlier. /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, MetricConfiguration metricConfiguration, @@ -793,7 +793,7 @@ internal Metric GetMetric( /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. /// A instance that you can use to automatically aggregate and then sent metric data value. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, string dimension2Name) @@ -827,7 +827,7 @@ internal Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -859,7 +859,7 @@ internal Metric GetMetric( /// configuration used earlier. /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -892,7 +892,7 @@ internal Metric GetMetric( /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. /// A instance that you can use to automatically aggregate and then sent metric data value. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -928,7 +928,7 @@ internal Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -962,7 +962,7 @@ internal Metric GetMetric( /// configuration used earlier. /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -997,7 +997,7 @@ internal Metric GetMetric( /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. /// A instance that you can use to automatically aggregate and then sent metric data value. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -1035,7 +1035,7 @@ internal Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -1071,7 +1071,7 @@ internal Metric GetMetric( /// configuration used earlier. /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -1101,7 +1101,7 @@ internal Metric GetMetric( /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. /// A instance that you can use to automatically aggregate and then sent metric data value. - internal Metric GetMetric( + public Metric GetMetric( MetricIdentifier metricIdentifier) { return this.GetOrCreateMetric( @@ -1129,7 +1129,7 @@ internal Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - internal Metric GetMetric( + public Metric GetMetric( MetricIdentifier metricIdentifier, MetricConfiguration metricConfiguration) { @@ -1155,7 +1155,7 @@ internal Metric GetMetric( /// configuration used earlier. /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. - internal Metric GetMetric( + public Metric GetMetric( MetricIdentifier metricIdentifier, MetricConfiguration metricConfiguration, MetricAggregationScope aggregationScope) From 454a5a726f7f362ebc5cf93762b970fc3d96968e Mon Sep 17 00:00:00 2001 From: macrogreg Date: Mon, 23 Apr 2018 19:55:12 -0500 Subject: [PATCH 13/41] Metrics: Update ChaneLog.md to note that the Beta period for the Pre-Aggregation features is being extended. --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 04ac14f768..44d1ba5f7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ This changelog will be used to generate documentation on [release notes page](ht ## Version 2.6.0 -[Fix: changed namespace SamplingPercentageEstimatorSettings](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/727) + -[Extend the Beta period for Metrics Pre-Aggregation features shipped in 2.6.0-beta3.](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/785) ## Version 2.6.0-beta4 From 52223ec1ec447c586c163e918b1c8139fe0a9e5c Mon Sep 17 00:00:00 2001 From: macrogreg Date: Mon, 23 Apr 2018 20:00:20 -0500 Subject: [PATCH 14/41] Metrics: Update ChaneLog.md to note that the Pre-Aggregation features are brought forward into 2.7-Beta1. --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 44d1ba5f7f..24f20edfa1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ This changelog will be used to generate documentation on [release notes page](http://azure.microsoft.com/en-us/documentation/articles/app-insights-release-notes-dotnet/). +## Version 2.7.0-beta1 + -[Extend the Beta period for Metrics Pre-Aggregation features shipped in 2.6.0-beta3.](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/785) + ## Version 2.6.0 -[Fix: changed namespace SamplingPercentageEstimatorSettings](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/727) -[Extend the Beta period for Metrics Pre-Aggregation features shipped in 2.6.0-beta3.](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/785) From 6981764eded36a082d2e9079bcb4b63d9ee69efb Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Mon, 9 Apr 2018 16:45:23 -0700 Subject: [PATCH 15/41] Add OperationDetails to Dependency Data --- CHANGELOG.md | 1 + .../net45/PublicAPI.Unshipped.txt | 1 + .../net46/PublicAPI.Unshipped.txt | 1 + .../netstandard1.3/PublicAPI.Unshipped.txt | 1 + .../DataContracts/DependencyTelemetry.cs | 10 ++++++++++ 5 files changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0cdf1cf48b..c5f9e8385b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ This changelog will be used to generate documentation on [release notes page](ht - [Fix: Wrong error message in AutocollectedMetricsExtractor.](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/611) - [NEW: Interface and Configuration: IApplicationIdProvider.](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/739) - [NEW: Metrics Pre-Aggregation: New `TelemetryClient.GetMetric(..).TrackValue(..)` and related APIs always locally pre-aggregate metrics before sending. They are replacing the legacy `TelemetryClient.TrackMetric(..)` APIs.](https://github.com/Microsoft/ApplicationInsights-dotnet/pull/735) ([More info](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/643).) +- [NEW: DependencyTelemetry contains an optional field to support tracking of dependency operation details] (https://github.com/Microsoft/ApplicationInsights-dotnet-server/issues/587) ## Version 2.6.0-beta2 - [Changed signature of TelemetryClient.TrackDependency](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/684) diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt index 25823b0593..1b965eaa0e 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt @@ -1,3 +1,4 @@ +Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.OperationDetails.get -> System.Collections.Generic.IDictionary Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.get -> string Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.set -> void Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.get -> Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt index 25823b0593..1b965eaa0e 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt @@ -1,3 +1,4 @@ +Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.OperationDetails.get -> System.Collections.Generic.IDictionary Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.get -> string Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.set -> void Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.get -> Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt index 5ed8f4f71c..6fbabf62ef 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt @@ -1,3 +1,4 @@ +Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.OperationDetails.get -> System.Collections.Generic.IDictionary Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.get -> Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.set -> void Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider diff --git a/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs b/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs index 1c727bbc0f..423790c1e0 100644 --- a/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs +++ b/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs @@ -19,6 +19,7 @@ public sealed class DependencyTelemetry : OperationTelemetry, ITelemetry, ISuppo internal readonly RemoteDependencyData InternalData; private readonly TelemetryContext context; + private readonly IDictionary operationDetails; private double? samplingPercentage; @@ -32,6 +33,7 @@ public DependencyTelemetry() this.InternalData = new RemoteDependencyData(); this.successFieldSet = true; this.context = new TelemetryContext(this.InternalData.properties); + this.operationDetails = new Dictionary(); this.GenerateId(); } @@ -122,6 +124,14 @@ public override string Id set { this.InternalData.id = value; } } + /// + /// Gets the dependency operation details, if any. + /// + public IDictionary OperationDetails + { + get { return this.operationDetails; } + } + /// /// Gets or sets the Result Code. /// From d742c7636ecc57cd78a040353ff493116bac16ed Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Wed, 25 Apr 2018 22:48:00 -0700 Subject: [PATCH 16/41] Fix DependencyTelemetry DeepClone --- .../DataContracts/DependencyTelemetry.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs b/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs index 5d31411a49..c16c0d47f4 100644 --- a/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs +++ b/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs @@ -95,6 +95,7 @@ private DependencyTelemetry(DependencyTelemetry source) this.Timestamp = source.Timestamp; this.samplingPercentage = source.samplingPercentage; this.successFieldSet = source.successFieldSet; + this.operationDetails = new Dictionary(source.operationDetails); } /// From cf9da47ac63a801b8f45cb86a79295f8a5423d05 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Thu, 26 Apr 2018 19:06:34 -0700 Subject: [PATCH 17/41] Replace OperationDetail Property with Public Getter and Hidden Setter --- .../net45/PublicAPI.Unshipped.txt | 3 +- .../net46/PublicAPI.Unshipped.txt | 3 +- .../netstandard1.3/PublicAPI.Unshipped.txt | 3 +- .../DataContracts/DependencyTelemetryTest.cs | 23 ++++++++ .../DataContracts/DependencyTelemetry.cs | 58 +++++++++++++++---- 5 files changed, 76 insertions(+), 14 deletions(-) diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt index 5de4c56367..bcd8198ac4 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt @@ -1,4 +1,5 @@ -Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.OperationDetails.get -> System.Collections.Generic.IDictionary +Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.TryGetOperationDetail(string key, out object detail) -> bool +Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.SetOperationDetail(string key, object detail) -> void Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.get -> string Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.set -> void Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricTelemetry(string metricNamespace, string name, int count, double sum, double min, double max, double standardDeviation) -> void diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt index 5de4c56367..bcd8198ac4 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt @@ -1,4 +1,5 @@ -Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.OperationDetails.get -> System.Collections.Generic.IDictionary +Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.TryGetOperationDetail(string key, out object detail) -> bool +Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.SetOperationDetail(string key, object detail) -> void Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.get -> string Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.set -> void Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricTelemetry(string metricNamespace, string name, int count, double sum, double min, double max, double standardDeviation) -> void diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt index 679c1bf2e6..300ac548c9 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt @@ -1,4 +1,5 @@ -Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.OperationDetails.get -> System.Collections.Generic.IDictionary +Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.TryGetOperationDetail(string key, out object detail) -> bool +Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry.SetOperationDetail(string key, object detail) -> void Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.get -> string Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.set -> void Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricTelemetry(string metricNamespace, string name, int count, double sum, double min, double max, double standardDeviation) -> void diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/DataContracts/DependencyTelemetryTest.cs b/Test/Microsoft.ApplicationInsights.Test/Shared/DataContracts/DependencyTelemetryTest.cs index d73292615e..06336c9bfc 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/DataContracts/DependencyTelemetryTest.cs +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/DataContracts/DependencyTelemetryTest.cs @@ -167,6 +167,29 @@ public void DependencyTelemetryHasCorrectValueOfSamplingPercentageAfterSerializa Assert.AreEqual(10, item.sampleRate); } + [TestMethod] + public void DependencyTelemetrySetGetOperationDetail() + { + const string key = "foo"; + const string detail = "bar"; + + var telemetry = this.CreateRemoteDependencyTelemetry("mycommand"); + telemetry.SetOperationDetail(key, detail); + Assert.IsTrue(telemetry.TryGetOperationDetail(key, out object retrievedValue)); + Assert.IsNotNull(retrievedValue); + Assert.AreEqual(detail, retrievedValue.ToString()); + } + + [TestMethod] + public void DependencyTelemetryGetUnsetOperationDetail() + { + const string key = "foo"; + + var telemetry = this.CreateRemoteDependencyTelemetry("mycommand"); + Assert.IsFalse(telemetry.TryGetOperationDetail(key, out object retrievedValue)); + Assert.IsNull(retrievedValue); + } + #if !NETCOREAPP1_1 [TestMethod] public void DependencyTelemetryDeepCloneCopiesAllProperties() diff --git a/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs b/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs index c16c0d47f4..75aaf2172b 100644 --- a/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs +++ b/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs @@ -1,9 +1,12 @@ namespace Microsoft.ApplicationInsights.DataContracts { using System; + using System.Collections.Concurrent; using System.Collections.Generic; using System.ComponentModel; + using System.Threading; using Microsoft.ApplicationInsights.Channel; + using Microsoft.ApplicationInsights.Extensibility; using Microsoft.ApplicationInsights.Extensibility.Implementation; using Microsoft.ApplicationInsights.Extensibility.Implementation.External; @@ -19,7 +22,7 @@ public sealed class DependencyTelemetry : OperationTelemetry, ITelemetry, ISuppo internal readonly RemoteDependencyData InternalData; private readonly TelemetryContext context; - private readonly IDictionary operationDetails; + private readonly Lazy> operationDetails; private double? samplingPercentage; @@ -33,7 +36,8 @@ public DependencyTelemetry() this.InternalData = new RemoteDependencyData(); this.successFieldSet = true; this.context = new TelemetryContext(this.InternalData.properties); - this.operationDetails = new Dictionary(); + this.operationDetails = new Lazy>( + () => new ConcurrentDictionary(), LazyThreadSafetyMode.ExecutionAndPublication); this.GenerateId(); } @@ -95,7 +99,19 @@ private DependencyTelemetry(DependencyTelemetry source) this.Timestamp = source.Timestamp; this.samplingPercentage = source.samplingPercentage; this.successFieldSet = source.successFieldSet; - this.operationDetails = new Dictionary(source.operationDetails); + + // If the source has had details initialized clone the details immediately and initialize lazy with copy + if (source.operationDetails.IsValueCreated) + { + var details = new ConcurrentDictionary(source.operationDetails.Value); + this.operationDetails = new Lazy>( + () => details, LazyThreadSafetyMode.None); + } + else + { + this.operationDetails = new Lazy>( + () => new ConcurrentDictionary(), LazyThreadSafetyMode.ExecutionAndPublication); + } } /// @@ -125,14 +141,6 @@ public override string Id set { this.InternalData.id = value; } } - /// - /// Gets the dependency operation details, if any. - /// - public IDictionary OperationDetails - { - get { return this.operationDetails; } - } - /// /// Gets or sets the Result Code. /// @@ -283,6 +291,11 @@ public string DependencyKind set { this.samplingPercentage = value; } } + /// + /// Gets the dependency operation details, if any. + /// + private IDictionary OperationDetails => this.operationDetails.Value; + /// /// Deeply clones a object. /// @@ -292,6 +305,29 @@ public override ITelemetry DeepClone() return new DependencyTelemetry(this); } + /// + /// In specific collectors, objects are added to the dependency telemetry which may be useful + /// to enhance DependencyTelemetry telemetry by implementations. + /// + /// The key of the value to get. + /// When this method returns, contains the object that has the specified key, or the default value of the type if the operation failed. + /// true if the key was found; otherwise, false. + public bool TryGetOperationDetail(string key, out object detail) + { + return this.OperationDetails.TryGetValue(key, out detail); + } + + /// + /// Sets the operation detail specific against the key specified. + /// + /// The key to store the detail against. + /// Detailed information collected by the tracked operation. + [EditorBrowsable(EditorBrowsableState.Never)] + public void SetOperationDetail(string key, object detail) + { + this.OperationDetails[key] = detail; + } + /// /// Sanitizes the properties based on constraints. /// From dae9c1bae0fc8ddfb903e1205fe107e2bd2ecdb1 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Thu, 26 Apr 2018 19:14:25 -0700 Subject: [PATCH 18/41] Update changelog. --- CHANGELOG.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d29aa3c0a..a8d4b3d584 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,8 @@ This changelog will be used to generate documentation on [release notes page](http://azure.microsoft.com/en-us/documentation/articles/app-insights-release-notes-dotnet/). ## Version 2.6.0 - -[Fix: changed namespace SamplingPercentageEstimatorSettings](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/727) - +- [Fix: changed namespace SamplingPercentageEstimatorSettings](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/727) +- [NEW: Added TryGetOperationDetail to DependencyTelemetry to facilitate advanced ITelemetryInitializer scenarios] (https://github.com/Microsoft/ApplicationInsights-dotnet-server/issues/587) ## Version 2.6.0-beta4 - [New: Enable ExceptionTelemetry.SetParsedStack for .Net Standard](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/763) @@ -17,7 +17,6 @@ This changelog will be used to generate documentation on [release notes page](ht - [Fix: Wrong error message in AutocollectedMetricsExtractor.](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/611) - [NEW: Interface and Configuration: IApplicationIdProvider.](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/739) - [NEW: Metrics Pre-Aggregation: New `TelemetryClient.GetMetric(..).TrackValue(..)` and related APIs always locally pre-aggregate metrics before sending. They are replacing the legacy `TelemetryClient.TrackMetric(..)` APIs.](https://github.com/Microsoft/ApplicationInsights-dotnet/pull/735) ([More info](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/643).) -- [NEW: DependencyTelemetry contains an optional field to support tracking of dependency operation details] (https://github.com/Microsoft/ApplicationInsights-dotnet-server/issues/587) ## Version 2.6.0-beta2 - [Changed signature of TelemetryClient.TrackDependency](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/684) From e4d343fc46ea9aef6f3ac418769f7ace634eb585 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Thu, 26 Apr 2018 22:21:22 -0700 Subject: [PATCH 19/41] Avoid initializing dictionary on TryGetOperationDetail --- .../DataContracts/DependencyTelemetry.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs b/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs index 75aaf2172b..69b5304b40 100644 --- a/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs +++ b/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs @@ -314,6 +314,12 @@ public override ITelemetry DeepClone() /// true if the key was found; otherwise, false. public bool TryGetOperationDetail(string key, out object detail) { + if (!this.operationDetails.IsValueCreated) + { + detail = null; + return false; + } + return this.OperationDetails.TryGetValue(key, out detail); } From 25ae08eb9ce297c83f79a109e48b727c28f599d8 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Thu, 26 Apr 2018 22:39:22 -0700 Subject: [PATCH 20/41] Switch Lazy to LazyInitializer pattern for OperationDetails --- .../DataContracts/DependencyTelemetry.cs | 34 +++++++------------ 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs b/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs index 69b5304b40..8785e7e89a 100644 --- a/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs +++ b/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs @@ -4,12 +4,13 @@ namespace Microsoft.ApplicationInsights.DataContracts using System.Collections.Concurrent; using System.Collections.Generic; using System.ComponentModel; - using System.Threading; using Microsoft.ApplicationInsights.Channel; using Microsoft.ApplicationInsights.Extensibility; using Microsoft.ApplicationInsights.Extensibility.Implementation; using Microsoft.ApplicationInsights.Extensibility.Implementation.External; + using static System.Threading.LazyInitializer; + /// /// The class that represents information about the collected dependency. /// Learn more. @@ -22,7 +23,7 @@ public sealed class DependencyTelemetry : OperationTelemetry, ITelemetry, ISuppo internal readonly RemoteDependencyData InternalData; private readonly TelemetryContext context; - private readonly Lazy> operationDetails; + private IDictionary operationDetails; private double? samplingPercentage; @@ -36,16 +37,14 @@ public DependencyTelemetry() this.InternalData = new RemoteDependencyData(); this.successFieldSet = true; this.context = new TelemetryContext(this.InternalData.properties); - this.operationDetails = new Lazy>( - () => new ConcurrentDictionary(), LazyThreadSafetyMode.ExecutionAndPublication); this.GenerateId(); } - /// - /// Initializes a new instance of the class with the given , , - /// , and property values. - /// - [Obsolete("Use other constructors which allows to define dependency call with all the properties.")] + /// + /// Initializes a new instance of the class with the given , , + /// , and property values. + /// + [Obsolete("Use other constructors which allows to define dependency call with all the properties.")] public DependencyTelemetry(string dependencyName, string data, DateTimeOffset startTime, TimeSpan duration, bool success) : this() { @@ -100,17 +99,10 @@ private DependencyTelemetry(DependencyTelemetry source) this.samplingPercentage = source.samplingPercentage; this.successFieldSet = source.successFieldSet; - // If the source has had details initialized clone the details immediately and initialize lazy with copy - if (source.operationDetails.IsValueCreated) - { - var details = new ConcurrentDictionary(source.operationDetails.Value); - this.operationDetails = new Lazy>( - () => details, LazyThreadSafetyMode.None); - } - else + // Only clone the details if the source has had details initialized + if (source.operationDetails != null) { - this.operationDetails = new Lazy>( - () => new ConcurrentDictionary(), LazyThreadSafetyMode.ExecutionAndPublication); + this.operationDetails = new ConcurrentDictionary(source.operationDetails); } } @@ -294,7 +286,7 @@ public string DependencyKind /// /// Gets the dependency operation details, if any. /// - private IDictionary OperationDetails => this.operationDetails.Value; + private IDictionary OperationDetails => EnsureInitialized(ref this.operationDetails, () => new ConcurrentDictionary()); /// /// Deeply clones a object. @@ -314,7 +306,7 @@ public override ITelemetry DeepClone() /// true if the key was found; otherwise, false. public bool TryGetOperationDetail(string key, out object detail) { - if (!this.operationDetails.IsValueCreated) + if (this.operationDetails == null) { detail = null; return false; From 2328d86fc6a793b0e74835f3fe27c7e173a4f69d Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Fri, 27 Apr 2018 11:37:31 -0700 Subject: [PATCH 21/41] Specifically state that data contained within the operation detail fields are not automatically serialized to the backend. --- CHANGELOG.md | 2 +- .../DataContracts/DependencyTelemetry.cs | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a8d4b3d584..e169d8f46c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ This changelog will be used to generate documentation on [release notes page](ht ## Version 2.6.0 - [Fix: changed namespace SamplingPercentageEstimatorSettings](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/727) -- [NEW: Added TryGetOperationDetail to DependencyTelemetry to facilitate advanced ITelemetryInitializer scenarios] (https://github.com/Microsoft/ApplicationInsights-dotnet-server/issues/587) +- [NEW: Added TryGetOperationDetail to DependencyTelemetry to facilitate advanced ITelemetryInitializer scenarios. Allows ITelemetryInitializer implementations to specify fields that would otherwise not be sent automatically to the backend.] (https://github.com/Microsoft/ApplicationInsights-dotnet-server/issues/587) ## Version 2.6.0-beta4 - [New: Enable ExceptionTelemetry.SetParsedStack for .Net Standard](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/763) diff --git a/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs b/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs index 8785e7e89a..c458a51455 100644 --- a/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs +++ b/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs @@ -300,6 +300,7 @@ public override ITelemetry DeepClone() /// /// In specific collectors, objects are added to the dependency telemetry which may be useful /// to enhance DependencyTelemetry telemetry by implementations. + /// Objects retrieved here are not automatically serialized and sent to the backend. /// /// The key of the value to get. /// When this method returns, contains the object that has the specified key, or the default value of the type if the operation failed. @@ -316,7 +317,8 @@ public bool TryGetOperationDetail(string key, out object detail) } /// - /// Sets the operation detail specific against the key specified. + /// Sets the operation detail specific against the key specified. Objects set through this method + /// are not automatically serialized and sent to the backend. /// /// The key to store the detail against. /// Detailed information collected by the tracked operation. From 9479e37efc5221f3b8e238696be1050128d21b2c Mon Sep 17 00:00:00 2001 From: MacroGreg Date: Mon, 30 Apr 2018 12:01:38 -0500 Subject: [PATCH 22/41] Metrics: Hide pre-aggregation APIs in 2.6 Stable release. (#786) * Metrics: Hide pre-aggregation APIs in 2.6 Stable release. * Metrics: Update ChaneLog.md to note that the Beta period for the Pre-Aggregation features is being extended. --- CHANGELOG.md | 1 + .../net45/PublicAPI.Unshipped.txt | 239 +----------------- .../net46/PublicAPI.Unshipped.txt | 239 +----------------- .../netstandard1.3/PublicAPI.Unshipped.txt | 237 ----------------- ...figurationForTestingAccumulatorBehavior.cs | 2 +- .../Shared/Metrics/TestUtility/TestUtil.cs | 6 +- .../DataContracts/MetricTelemetry.cs | 20 +- src/Microsoft.ApplicationInsights/Metric.cs | 2 +- .../MetricAggregationScope.cs | 2 +- .../MetricConfigurations.cs | 2 +- .../MetricConfigurationsExtensions.cs | 2 +- .../MetricDimensionNames.cs | 2 +- .../Extensibility/IMetricSeriesAggregator.cs | 2 +- .../Extensibility/IMetricTelemetryPipeline.cs | 2 +- .../Extensibility/IMetricValueFilter.cs | 2 +- .../MetricAggregationCycleKind.cs | 2 +- .../MetricConfigurationExtensions.cs | 2 +- .../Metrics/Extensibility/MetricExtensions.cs | 2 +- .../Extensibility/MetricSeriesExtensions.cs | 2 +- .../TelemetryClientExtensions.cs | 2 +- .../Metrics/IMetricSeriesConfiguration.cs | 2 +- .../Metrics/MetricAggregate.cs | 2 +- .../Metrics/MetricConfiguration.cs | 2 +- .../MetricConfigurationForMeasurement.cs | 2 +- .../Metrics/MetricIdentifier.cs | 2 +- .../Metrics/MetricManager.cs | 2 +- .../Metrics/MetricSeries.cs | 2 +- ...MetricSeriesConfigurationForMeasurement.cs | 2 +- .../Metrics/MetricsCollection.cs | 2 +- .../TelemetryConfigurationExtensions.cs | 2 +- .../TelemetryClient.cs | 38 +-- 31 files changed, 59 insertions(+), 769 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 04ac14f768..44d1ba5f7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ This changelog will be used to generate documentation on [release notes page](ht ## Version 2.6.0 -[Fix: changed namespace SamplingPercentageEstimatorSettings](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/727) + -[Extend the Beta period for Metrics Pre-Aggregation features shipped in 2.6.0-beta3.](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/785) ## Version 2.6.0-beta4 diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt index a1444654c5..7c583a845f 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt @@ -1,6 +1,3 @@ -Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.get -> string -Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.set -> void -Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricTelemetry(string metricNamespace, string name, int count, double sum, double min, double max, double standardDeviation) -> void Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.get -> string Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.set -> void Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.get -> Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider @@ -35,238 +32,4 @@ Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPro Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.HeartbeatInterval.set -> void Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.get -> bool Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.set -> void -Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.SetHeartbeatProperty(string propertyName, string propertyValue = null, bool? isHealthy = null) -> bool -Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.Metric.GetAllSeries() -> System.Collections.Generic.IReadOnlyList> -Microsoft.ApplicationInsights.Metric.GetDimensionValues(int dimensionNumber) -> System.Collections.Generic.IReadOnlyCollection -Microsoft.ApplicationInsights.Metric.Identifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier -Microsoft.ApplicationInsights.Metric.SeriesCount.get -> int -Microsoft.ApplicationInsights.Metric.TrackValue(double metricValue) -> void -Microsoft.ApplicationInsights.Metric.TrackValue(object metricValue) -> void -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, bool createIfNotExists, params string[] dimensionValues) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool -Microsoft.ApplicationInsights.MetricAggregationScope -Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryClient = 1 -> Microsoft.ApplicationInsights.MetricAggregationScope -Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryConfiguration = 0 -> Microsoft.ApplicationInsights.MetricAggregationScope -Microsoft.ApplicationInsights.MetricConfigurations -Microsoft.ApplicationInsights.MetricConfigurationsExtensions -Microsoft.ApplicationInsights.MetricDimensionNames -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CompleteAggregation(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CreateAggregateUnsafe(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.DataSeries.get -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart, Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter valueFilter) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(double metricValue) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(object metricValue) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TryRecycle() -> bool -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.FlushAsync(System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.TrackAsync(Microsoft.ApplicationInsights.Metrics.MetricAggregate metricAggregate, System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, double metricValue) -> bool -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, object metricValue) -> bool -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Custom = 2 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Default = 0 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.QuickPulse = 1 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions -Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions -Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration -Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator -Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.RequiresPersistentAggregation.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricAggregate -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationKindMoniker.get -> string -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.get -> System.TimeSpan -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.set -> void -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.get -> System.DateTimeOffset -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.set -> void -Microsoft.ApplicationInsights.Metrics.MetricAggregate.Data.get -> System.Collections.Generic.IDictionary -Microsoft.ApplicationInsights.Metrics.MetricAggregate.Dimensions.get -> System.Collections.Generic.IDictionary -Microsoft.ApplicationInsights.Metrics.MetricAggregate.GetDataValue(string dataKey, T defaultValue) -> T -Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricAggregate(string metricNamespace, string metricId, string aggregationKindMoniker) -> void -Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricId.get -> string -Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricNamespace.get -> string -Microsoft.ApplicationInsights.Metrics.MetricConfiguration -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.MetricConfiguration(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration seriesConfig) -> void -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesConfig.get -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesCountLimit.get -> int -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.ValuesPerDimensionLimit.get -> int -Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement -Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement.MetricConfigurationForMeasurement(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement seriesConfig) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DimensionsCount.get -> int -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(Microsoft.ApplicationInsights.Metrics.MetricIdentifier otherMetricIdentifier) -> bool -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionName(int dimensionNumber) -> string -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionNames() -> System.Collections.Generic.IEnumerable -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricId.get -> string -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricId) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, System.Collections.Generic.IList dimensionNames) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name, string dimension10Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricNamespace.get -> string -Microsoft.ApplicationInsights.Metrics.MetricManager -Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricManager.Flush() -> void -Microsoft.ApplicationInsights.Metrics.MetricManager.MetricManager(Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline telemetryPipeline) -> void -Microsoft.ApplicationInsights.Metrics.MetricManager.Metrics.get -> Microsoft.ApplicationInsights.Metrics.MetricsCollection -Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricSeries.DimensionNamesAndValues.get -> System.Collections.Generic.IReadOnlyDictionary -Microsoft.ApplicationInsights.Metrics.MetricSeries.MetricIdentifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier -Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(double metricValue) -> void -Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(object metricValue) -> void -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindDataKeys.get -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindMoniker.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Count.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Max.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Min.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.StdDev.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Sum.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration other) -> bool -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement other) -> bool -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.MetricSeriesConfigurationForMeasurement(bool restrictToUInt32Values) -> void -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RequiresPersistentAggregation.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RestrictToUInt32Values.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricsCollection -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Clear() -> void -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Contains(Microsoft.ApplicationInsights.Metric metric) -> bool -Microsoft.ApplicationInsights.Metrics.MetricsCollection.CopyTo(Microsoft.ApplicationInsights.Metric[] array, int arrayIndex) -> void -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Count.get -> int -Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetEnumerator() -> System.Collections.Generic.IEnumerator -Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetOrCreate(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.Metrics.MetricsCollection.IsReadOnly.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Remove(Microsoft.ApplicationInsights.Metric metric) -> bool -Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleInstance = "TelemetryContext.Cloud.RoleInstance" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleName = "TelemetryContext.Cloud.RoleName" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component.Version = "TelemetryContext.Component.Version" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Id = "TelemetryContext.Device.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Language = "TelemetryContext.Device.Language" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Model = "TelemetryContext.Device.Model" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.NetworkType = "TelemetryContext.Device.NetworkType" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OemName = "TelemetryContext.Device.OemName" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OperatingSystem = "TelemetryContext.Device.OperatingSystem" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.ScreenResolution = "TelemetryContext.Device.ScreenResolution" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Type = "TelemetryContext.Device.Type" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.InstrumentationKey = "TelemetryContext.InstrumentationKey" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location.Ip = "TelemetryContext.Location.Ip" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.CorrelationVector = "TelemetryContext.Operation.CorrelationVector" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Id = "TelemetryContext.Operation.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Name = "TelemetryContext.Operation.Name" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.ParentId = "TelemetryContext.Operation.ParentId" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.SyntheticSource = "TelemetryContext.Operation.SyntheticSource" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.Id = "TelemetryContext.Session.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.IsFirst = "TelemetryContext.Session.IsFirst" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AccountId = "TelemetryContext.User.AccountId" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AuthenticatedUserId = "TelemetryContext.User.AuthenticatedUserId" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.Id = "TelemetryContext.User.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.UserAgent = "TelemetryContext.User.UserAgent" -> string -const Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MaxDimensionsCount = 10 -> int -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Count = "Count" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Max = "Max" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Min = "Min" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Sum = "Sum" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Count = "Count" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Max = "Max" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Min = "Min" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Sum = "Sum" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string -override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(object obj) -> bool -override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.GetHashCode() -> int -override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(object otherObj) -> bool -override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetHashCode() -> int -override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.ToString() -> string -override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(object obj) -> bool -override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.GetHashCode() -> int -static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.Measurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets) -> Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement -static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.SetDefaultForMeasurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets, Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement defaultConfigurationForMeasurement) -> void -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metric metric) -> Microsoft.ApplicationInsights.Metrics.MetricConfiguration -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metrics.MetricSeries metricSeries) -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration -static Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions.GetMetricManager(this Microsoft.ApplicationInsights.TelemetryClient telemetryClient, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metrics.MetricManager -static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.get -> string -static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.set -> void -static Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions.GetMetricManager(this Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration telemetryPipeline) -> Microsoft.ApplicationInsights.Metrics.MetricManager -static readonly Microsoft.ApplicationInsights.MetricConfigurations.Common -> Microsoft.ApplicationInsights.MetricConfigurations -virtual Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(Microsoft.ApplicationInsights.Metrics.MetricConfiguration other) -> bool \ No newline at end of file +Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.SetHeartbeatProperty(string propertyName, string propertyValue = null, bool? isHealthy = null) -> bool \ No newline at end of file diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt index a1444654c5..7c583a845f 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt @@ -1,6 +1,3 @@ -Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.get -> string -Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.set -> void -Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricTelemetry(string metricNamespace, string name, int count, double sum, double min, double max, double standardDeviation) -> void Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.get -> string Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.set -> void Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.get -> Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider @@ -35,238 +32,4 @@ Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPro Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.HeartbeatInterval.set -> void Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.get -> bool Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.set -> void -Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.SetHeartbeatProperty(string propertyName, string propertyValue = null, bool? isHealthy = null) -> bool -Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.Metric.GetAllSeries() -> System.Collections.Generic.IReadOnlyList> -Microsoft.ApplicationInsights.Metric.GetDimensionValues(int dimensionNumber) -> System.Collections.Generic.IReadOnlyCollection -Microsoft.ApplicationInsights.Metric.Identifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier -Microsoft.ApplicationInsights.Metric.SeriesCount.get -> int -Microsoft.ApplicationInsights.Metric.TrackValue(double metricValue) -> void -Microsoft.ApplicationInsights.Metric.TrackValue(object metricValue) -> void -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, bool createIfNotExists, params string[] dimensionValues) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool -Microsoft.ApplicationInsights.MetricAggregationScope -Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryClient = 1 -> Microsoft.ApplicationInsights.MetricAggregationScope -Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryConfiguration = 0 -> Microsoft.ApplicationInsights.MetricAggregationScope -Microsoft.ApplicationInsights.MetricConfigurations -Microsoft.ApplicationInsights.MetricConfigurationsExtensions -Microsoft.ApplicationInsights.MetricDimensionNames -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CompleteAggregation(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CreateAggregateUnsafe(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.DataSeries.get -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart, Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter valueFilter) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(double metricValue) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(object metricValue) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TryRecycle() -> bool -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.FlushAsync(System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.TrackAsync(Microsoft.ApplicationInsights.Metrics.MetricAggregate metricAggregate, System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, double metricValue) -> bool -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, object metricValue) -> bool -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Custom = 2 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Default = 0 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.QuickPulse = 1 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions -Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions -Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration -Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator -Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.RequiresPersistentAggregation.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricAggregate -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationKindMoniker.get -> string -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.get -> System.TimeSpan -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.set -> void -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.get -> System.DateTimeOffset -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.set -> void -Microsoft.ApplicationInsights.Metrics.MetricAggregate.Data.get -> System.Collections.Generic.IDictionary -Microsoft.ApplicationInsights.Metrics.MetricAggregate.Dimensions.get -> System.Collections.Generic.IDictionary -Microsoft.ApplicationInsights.Metrics.MetricAggregate.GetDataValue(string dataKey, T defaultValue) -> T -Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricAggregate(string metricNamespace, string metricId, string aggregationKindMoniker) -> void -Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricId.get -> string -Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricNamespace.get -> string -Microsoft.ApplicationInsights.Metrics.MetricConfiguration -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.MetricConfiguration(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration seriesConfig) -> void -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesConfig.get -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesCountLimit.get -> int -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.ValuesPerDimensionLimit.get -> int -Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement -Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement.MetricConfigurationForMeasurement(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement seriesConfig) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DimensionsCount.get -> int -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(Microsoft.ApplicationInsights.Metrics.MetricIdentifier otherMetricIdentifier) -> bool -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionName(int dimensionNumber) -> string -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionNames() -> System.Collections.Generic.IEnumerable -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricId.get -> string -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricId) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, System.Collections.Generic.IList dimensionNames) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name, string dimension10Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricNamespace.get -> string -Microsoft.ApplicationInsights.Metrics.MetricManager -Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricManager.Flush() -> void -Microsoft.ApplicationInsights.Metrics.MetricManager.MetricManager(Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline telemetryPipeline) -> void -Microsoft.ApplicationInsights.Metrics.MetricManager.Metrics.get -> Microsoft.ApplicationInsights.Metrics.MetricsCollection -Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricSeries.DimensionNamesAndValues.get -> System.Collections.Generic.IReadOnlyDictionary -Microsoft.ApplicationInsights.Metrics.MetricSeries.MetricIdentifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier -Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(double metricValue) -> void -Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(object metricValue) -> void -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindDataKeys.get -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindMoniker.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Count.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Max.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Min.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.StdDev.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Sum.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration other) -> bool -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement other) -> bool -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.MetricSeriesConfigurationForMeasurement(bool restrictToUInt32Values) -> void -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RequiresPersistentAggregation.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RestrictToUInt32Values.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricsCollection -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Clear() -> void -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Contains(Microsoft.ApplicationInsights.Metric metric) -> bool -Microsoft.ApplicationInsights.Metrics.MetricsCollection.CopyTo(Microsoft.ApplicationInsights.Metric[] array, int arrayIndex) -> void -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Count.get -> int -Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetEnumerator() -> System.Collections.Generic.IEnumerator -Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetOrCreate(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.Metrics.MetricsCollection.IsReadOnly.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Remove(Microsoft.ApplicationInsights.Metric metric) -> bool -Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleInstance = "TelemetryContext.Cloud.RoleInstance" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleName = "TelemetryContext.Cloud.RoleName" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component.Version = "TelemetryContext.Component.Version" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Id = "TelemetryContext.Device.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Language = "TelemetryContext.Device.Language" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Model = "TelemetryContext.Device.Model" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.NetworkType = "TelemetryContext.Device.NetworkType" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OemName = "TelemetryContext.Device.OemName" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OperatingSystem = "TelemetryContext.Device.OperatingSystem" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.ScreenResolution = "TelemetryContext.Device.ScreenResolution" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Type = "TelemetryContext.Device.Type" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.InstrumentationKey = "TelemetryContext.InstrumentationKey" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location.Ip = "TelemetryContext.Location.Ip" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.CorrelationVector = "TelemetryContext.Operation.CorrelationVector" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Id = "TelemetryContext.Operation.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Name = "TelemetryContext.Operation.Name" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.ParentId = "TelemetryContext.Operation.ParentId" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.SyntheticSource = "TelemetryContext.Operation.SyntheticSource" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.Id = "TelemetryContext.Session.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.IsFirst = "TelemetryContext.Session.IsFirst" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AccountId = "TelemetryContext.User.AccountId" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AuthenticatedUserId = "TelemetryContext.User.AuthenticatedUserId" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.Id = "TelemetryContext.User.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.UserAgent = "TelemetryContext.User.UserAgent" -> string -const Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MaxDimensionsCount = 10 -> int -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Count = "Count" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Max = "Max" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Min = "Min" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Sum = "Sum" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Count = "Count" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Max = "Max" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Min = "Min" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Sum = "Sum" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string -override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(object obj) -> bool -override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.GetHashCode() -> int -override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(object otherObj) -> bool -override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetHashCode() -> int -override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.ToString() -> string -override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(object obj) -> bool -override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.GetHashCode() -> int -static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.Measurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets) -> Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement -static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.SetDefaultForMeasurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets, Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement defaultConfigurationForMeasurement) -> void -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metric metric) -> Microsoft.ApplicationInsights.Metrics.MetricConfiguration -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metrics.MetricSeries metricSeries) -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration -static Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions.GetMetricManager(this Microsoft.ApplicationInsights.TelemetryClient telemetryClient, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metrics.MetricManager -static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.get -> string -static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.set -> void -static Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions.GetMetricManager(this Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration telemetryPipeline) -> Microsoft.ApplicationInsights.Metrics.MetricManager -static readonly Microsoft.ApplicationInsights.MetricConfigurations.Common -> Microsoft.ApplicationInsights.MetricConfigurations -virtual Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(Microsoft.ApplicationInsights.Metrics.MetricConfiguration other) -> bool \ No newline at end of file +Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.SetHeartbeatProperty(string propertyName, string propertyValue = null, bool? isHealthy = null) -> bool \ No newline at end of file diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt index 9b9988204e..a165e153a9 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt @@ -1,6 +1,3 @@ -Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.get -> string -Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.set -> void -Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricTelemetry(string metricNamespace, string name, int count, double sum, double min, double max, double standardDeviation) -> void Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.get -> Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.set -> void Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider @@ -36,238 +33,4 @@ Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPro Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.get -> bool Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.set -> void Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.SetHeartbeatProperty(string propertyName, string propertyValue = null, bool? isHealthy = null) -> bool -Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.Metric.GetAllSeries() -> System.Collections.Generic.IReadOnlyList> -Microsoft.ApplicationInsights.Metric.GetDimensionValues(int dimensionNumber) -> System.Collections.Generic.IReadOnlyCollection -Microsoft.ApplicationInsights.Metric.Identifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier -Microsoft.ApplicationInsights.Metric.SeriesCount.get -> int -Microsoft.ApplicationInsights.Metric.TrackValue(double metricValue) -> void -Microsoft.ApplicationInsights.Metric.TrackValue(object metricValue) -> void -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, bool createIfNotExists, params string[] dimensionValues) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool -Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool -Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool -Microsoft.ApplicationInsights.MetricAggregationScope -Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryClient = 1 -> Microsoft.ApplicationInsights.MetricAggregationScope -Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryConfiguration = 0 -> Microsoft.ApplicationInsights.MetricAggregationScope -Microsoft.ApplicationInsights.MetricConfigurations -Microsoft.ApplicationInsights.MetricConfigurationsExtensions -Microsoft.ApplicationInsights.MetricDimensionNames -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session -Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CompleteAggregation(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CreateAggregateUnsafe(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.DataSeries.get -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart, Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter valueFilter) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(double metricValue) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(object metricValue) -> void -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TryRecycle() -> bool -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.FlushAsync(System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.TrackAsync(Microsoft.ApplicationInsights.Metrics.MetricAggregate metricAggregate, System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, double metricValue) -> bool -Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, object metricValue) -> bool -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Custom = 2 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Default = 0 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.QuickPulse = 1 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions -Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions -Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions -Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration -Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator -Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.RequiresPersistentAggregation.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricAggregate -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationKindMoniker.get -> string -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.get -> System.TimeSpan -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.set -> void -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.get -> System.DateTimeOffset -Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.set -> void -Microsoft.ApplicationInsights.Metrics.MetricAggregate.Data.get -> System.Collections.Generic.IDictionary -Microsoft.ApplicationInsights.Metrics.MetricAggregate.Dimensions.get -> System.Collections.Generic.IDictionary -Microsoft.ApplicationInsights.Metrics.MetricAggregate.GetDataValue(string dataKey, T defaultValue) -> T -Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricAggregate(string metricNamespace, string metricId, string aggregationKindMoniker) -> void -Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricId.get -> string -Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricNamespace.get -> string -Microsoft.ApplicationInsights.Metrics.MetricConfiguration -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.MetricConfiguration(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration seriesConfig) -> void -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesConfig.get -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesCountLimit.get -> int -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.ValuesPerDimensionLimit.get -> int -Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement -Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement.MetricConfigurationForMeasurement(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement seriesConfig) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DimensionsCount.get -> int -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(Microsoft.ApplicationInsights.Metrics.MetricIdentifier otherMetricIdentifier) -> bool -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionName(int dimensionNumber) -> string -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionNames() -> System.Collections.Generic.IEnumerable -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricId.get -> string -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricId) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, System.Collections.Generic.IList dimensionNames) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name, string dimension10Name) -> void -Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricNamespace.get -> string -Microsoft.ApplicationInsights.Metrics.MetricManager -Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricManager.Flush() -> void -Microsoft.ApplicationInsights.Metrics.MetricManager.MetricManager(Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline telemetryPipeline) -> void -Microsoft.ApplicationInsights.Metrics.MetricManager.Metrics.get -> Microsoft.ApplicationInsights.Metrics.MetricsCollection -Microsoft.ApplicationInsights.Metrics.MetricSeries -Microsoft.ApplicationInsights.Metrics.MetricSeries.DimensionNamesAndValues.get -> System.Collections.Generic.IReadOnlyDictionary -Microsoft.ApplicationInsights.Metrics.MetricSeries.MetricIdentifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier -Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(double metricValue) -> void -Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(object metricValue) -> void -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindDataKeys.get -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindMoniker.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Count.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Max.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Min.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.StdDev.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Sum.get -> string -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration other) -> bool -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement other) -> bool -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.MetricSeriesConfigurationForMeasurement(bool restrictToUInt32Values) -> void -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RequiresPersistentAggregation.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RestrictToUInt32Values.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricsCollection -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Clear() -> void -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Contains(Microsoft.ApplicationInsights.Metric metric) -> bool -Microsoft.ApplicationInsights.Metrics.MetricsCollection.CopyTo(Microsoft.ApplicationInsights.Metric[] array, int arrayIndex) -> void -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Count.get -> int -Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetEnumerator() -> System.Collections.Generic.IEnumerator -Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetOrCreate(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.Metrics.MetricsCollection.IsReadOnly.get -> bool -Microsoft.ApplicationInsights.Metrics.MetricsCollection.Remove(Microsoft.ApplicationInsights.Metric metric) -> bool -Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric -Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleInstance = "TelemetryContext.Cloud.RoleInstance" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleName = "TelemetryContext.Cloud.RoleName" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component.Version = "TelemetryContext.Component.Version" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Id = "TelemetryContext.Device.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Language = "TelemetryContext.Device.Language" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Model = "TelemetryContext.Device.Model" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.NetworkType = "TelemetryContext.Device.NetworkType" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OemName = "TelemetryContext.Device.OemName" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OperatingSystem = "TelemetryContext.Device.OperatingSystem" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.ScreenResolution = "TelemetryContext.Device.ScreenResolution" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Type = "TelemetryContext.Device.Type" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.InstrumentationKey = "TelemetryContext.InstrumentationKey" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location.Ip = "TelemetryContext.Location.Ip" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.CorrelationVector = "TelemetryContext.Operation.CorrelationVector" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Id = "TelemetryContext.Operation.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Name = "TelemetryContext.Operation.Name" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.ParentId = "TelemetryContext.Operation.ParentId" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.SyntheticSource = "TelemetryContext.Operation.SyntheticSource" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.Id = "TelemetryContext.Session.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.IsFirst = "TelemetryContext.Session.IsFirst" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AccountId = "TelemetryContext.User.AccountId" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AuthenticatedUserId = "TelemetryContext.User.AuthenticatedUserId" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.Id = "TelemetryContext.User.Id" -> string -const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.UserAgent = "TelemetryContext.User.UserAgent" -> string -const Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MaxDimensionsCount = 10 -> int -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Count = "Count" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Max = "Max" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Min = "Min" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Sum = "Sum" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Count = "Count" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Max = "Max" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Min = "Min" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Sum = "Sum" -> string -const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string -override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(object obj) -> bool -override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.GetHashCode() -> int -override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(object otherObj) -> bool -override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetHashCode() -> int -override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.ToString() -> string -override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(object obj) -> bool -override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.GetHashCode() -> int -static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.Measurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets) -> Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement -static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.SetDefaultForMeasurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets, Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement defaultConfigurationForMeasurement) -> void -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metric metric) -> Microsoft.ApplicationInsights.Metrics.MetricConfiguration -static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metrics.MetricSeries metricSeries) -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration -static Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions.GetMetricManager(this Microsoft.ApplicationInsights.TelemetryClient telemetryClient, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metrics.MetricManager -static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.get -> string -static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.set -> void -static Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions.GetMetricManager(this Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration telemetryPipeline) -> Microsoft.ApplicationInsights.Metrics.MetricManager -static readonly Microsoft.ApplicationInsights.MetricConfigurations.Common -> Microsoft.ApplicationInsights.MetricConfigurations -virtual Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(Microsoft.ApplicationInsights.Metrics.MetricConfiguration other) -> bool Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry.SetParsedStack(System.Diagnostics.StackFrame[] frames) -> void \ No newline at end of file diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/MetricSeriesConfigurationForTestingAccumulatorBehavior.cs b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/MetricSeriesConfigurationForTestingAccumulatorBehavior.cs index 5dca71d888..ecefef78ff 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/MetricSeriesConfigurationForTestingAccumulatorBehavior.cs +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/MetricSeriesConfigurationForTestingAccumulatorBehavior.cs @@ -6,7 +6,7 @@ namespace Microsoft.ApplicationInsights.Metrics.TestUtility { - public class MetricSeriesConfigurationForTestingAccumulatorBehavior : IMetricSeriesConfiguration + internal class MetricSeriesConfigurationForTestingAccumulatorBehavior : IMetricSeriesConfiguration { private readonly int _hashCode; diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/TestUtil.cs b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/TestUtil.cs index 3783a5823e..2e4545a835 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/TestUtil.cs +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/TestUtil.cs @@ -174,7 +174,7 @@ public static void ValidateNumericAggregateValues(ITelemetry aggregate, string n } } - public static void ValidateNumericAggregateValues(MetricAggregate aggregate, string ns, string name, int count, double sum, double max, double min, double stdDev, DateTimeOffset timestamp, long periodMs, string aggKindMoniker) + internal static void ValidateNumericAggregateValues(MetricAggregate aggregate, string ns, string name, int count, double sum, double max, double min, double stdDev, DateTimeOffset timestamp, long periodMs, string aggKindMoniker) { ValidateNumericAggregateValues(aggregate, ns, name, count, sum, max, min, stdDev, aggKindMoniker); @@ -182,7 +182,7 @@ public static void ValidateNumericAggregateValues(MetricAggregate aggregate, str Assert.AreEqual(periodMs, (long) aggregate.AggregationPeriodDuration.TotalMilliseconds, "metricAggregate.Properties[AggregationIntervalMonikerPropertyKey] mismatch"); } - public static void ValidateNumericAggregateValues(MetricAggregate aggregate, string ns, string name, int count, double sum, double max, double min, double stdDev, string aggKindMoniker) + internal static void ValidateNumericAggregateValues(MetricAggregate aggregate, string ns, string name, int count, double sum, double max, double min, double stdDev, string aggKindMoniker) { Assert.IsNotNull(aggregate); @@ -262,7 +262,7 @@ public static void ValidateSdkVersionString(string versionMoniker) /// a clean test run. /// /// - public static void CompleteDefaultAggregationCycle(params MetricManager[] metricManagers) + internal static void CompleteDefaultAggregationCycle(params MetricManager[] metricManagers) { if (metricManagers == null) { diff --git a/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs b/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs index a936256af0..345c6650a8 100644 --- a/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs +++ b/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs @@ -101,7 +101,7 @@ public MetricTelemetry( /// Minimum value taken during aggregation interval. /// Maximum of values taken during aggregation interval. /// Standard deviation of values taken during aggregation interval. - public MetricTelemetry( + internal MetricTelemetry( string metricNamespace, string name, int count, @@ -148,15 +148,6 @@ private MetricTelemetry(MetricTelemetry source) /// public TelemetryContext Context { get; } - /// - /// Gets or sets the name of the metric. - /// - public string MetricNamespace - { - get { return this.Metric.ns; } - set { this.Metric.ns = value; } - } - /// /// Gets or sets the name of the metric. /// @@ -230,6 +221,15 @@ public IDictionary Properties get { return this.Data.properties; } } + /// + /// Gets or sets the name of the metric. + /// + internal string MetricNamespace + { + get { return this.Metric.ns; } + set { this.Metric.ns = value; } + } + /// /// Deeply clones a object. /// diff --git a/src/Microsoft.ApplicationInsights/Metric.cs b/src/Microsoft.ApplicationInsights/Metric.cs index 5d5bd0a804..785224d432 100644 --- a/src/Microsoft.ApplicationInsights/Metric.cs +++ b/src/Microsoft.ApplicationInsights/Metric.cs @@ -14,7 +14,7 @@ /// A Metric instance groups one or more MetricSeries that actually track and aggregate values along with /// naming and configuration attributes that identify the metric and define how it will be aggregated. /// - public sealed class Metric + internal sealed class Metric { #pragma warning disable SA1401, SA1304, SA1307 // intended to be an internal, lower-case field internal readonly MetricConfiguration configuration; diff --git a/src/Microsoft.ApplicationInsights/MetricAggregationScope.cs b/src/Microsoft.ApplicationInsights/MetricAggregationScope.cs index a6d35be430..1a00ab496e 100644 --- a/src/Microsoft.ApplicationInsights/MetricAggregationScope.cs +++ b/src/Microsoft.ApplicationInsights/MetricAggregationScope.cs @@ -9,7 +9,7 @@ /// /// /// - public enum MetricAggregationScope + internal enum MetricAggregationScope { /// /// Metric values will be aggregated ACROSS all telemetry clients that belong to the same TelemetryConfiguration.
diff --git a/src/Microsoft.ApplicationInsights/MetricConfigurations.cs b/src/Microsoft.ApplicationInsights/MetricConfigurations.cs index 41fc43d7f8..736e4bc415 100644 --- a/src/Microsoft.ApplicationInsights/MetricConfigurations.cs +++ b/src/Microsoft.ApplicationInsights/MetricConfigurations.cs @@ -5,7 +5,7 @@ /// /// Static container for the most commonly used metric configurations. /// - public sealed class MetricConfigurations + internal sealed class MetricConfigurations { /// /// Groups extension methods that return pre-defined metric configurations and related constants. diff --git a/src/Microsoft.ApplicationInsights/MetricConfigurationsExtensions.cs b/src/Microsoft.ApplicationInsights/MetricConfigurationsExtensions.cs index 3bfeea3019..ba45c7891b 100644 --- a/src/Microsoft.ApplicationInsights/MetricConfigurationsExtensions.cs +++ b/src/Microsoft.ApplicationInsights/MetricConfigurationsExtensions.cs @@ -10,7 +10,7 @@ /// Do not use directly. Instead, use: MetricConfigurations.Common.Xxxx(). /// [EditorBrowsable(EditorBrowsableState.Never)] - public static class MetricConfigurationsExtensions + internal static class MetricConfigurationsExtensions { private const int DefaultSeriesCountLimit = 1000; private const int DefaultValuesPerDimensionLimit = 100; diff --git a/src/Microsoft.ApplicationInsights/MetricDimensionNames.cs b/src/Microsoft.ApplicationInsights/MetricDimensionNames.cs index eb3f51bd90..51e98ade1d 100644 --- a/src/Microsoft.ApplicationInsights/MetricDimensionNames.cs +++ b/src/Microsoft.ApplicationInsights/MetricDimensionNames.cs @@ -6,7 +6,7 @@ /// /// Contains constants used to refer to metric dimensions with special significance. /// - public static class MetricDimensionNames + internal static class MetricDimensionNames { /// ///

Contains constants used to refer to metric dimensions that will be mapped to fields diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricSeriesAggregator.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricSeriesAggregator.cs index e226547ccb..abe7875311 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricSeriesAggregator.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricSeriesAggregator.cs @@ -3,7 +3,7 @@ using System; ///

@ToDo: Complete documentation before stable release. {558} - public interface IMetricSeriesAggregator + internal interface IMetricSeriesAggregator { /// Gets @ToDo: Complete documentation before stable release. {969} MetricSeries DataSeries { get; } diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricTelemetryPipeline.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricTelemetryPipeline.cs index f103355021..fcd768a77e 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricTelemetryPipeline.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricTelemetryPipeline.cs @@ -8,7 +8,7 @@ /// Represents an eventual destination for metric telemetry. /// For example, an Application Insights telemetry pipeline, a file or some other ingestion point. ///
- public interface IMetricTelemetryPipeline + internal interface IMetricTelemetryPipeline { /// /// Send a metric aggregate to the eventual destination. diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricValueFilter.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricValueFilter.cs index 29181ab239..0056ab7d67 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricValueFilter.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricValueFilter.cs @@ -1,7 +1,7 @@ namespace Microsoft.ApplicationInsights.Metrics.Extensibility { /// @ToDo: Complete documentation before stable release. {265} - public interface IMetricValueFilter + internal interface IMetricValueFilter { /// @ToDo: Complete documentation before stable release. {919} /// @ToDo: Complete documentation before stable release. {526} diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregationCycleKind.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregationCycleKind.cs index 1dca40ceef..42f06939b5 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregationCycleKind.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregationCycleKind.cs @@ -3,7 +3,7 @@ using System; /// @ToDo: Complete documentation before stable release. {447} - public enum MetricAggregationCycleKind : Int32 + internal enum MetricAggregationCycleKind : Int32 { /// /// The default aggregation cycle. diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricConfigurationExtensions.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricConfigurationExtensions.cs index 4f07d68439..dad6aaa7e0 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricConfigurationExtensions.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricConfigurationExtensions.cs @@ -8,7 +8,7 @@ /// Do not use directly. Instead, use: MetricConfigurations.Common.Xxxx().Constants(). /// [EditorBrowsable(EditorBrowsableState.Never)] - public static class MetricConfigurationExtensions + internal static class MetricConfigurationExtensions { /// /// Groups constants used my metric aggregates produced by aggregators that are configured by metric configurations represented diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricExtensions.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricExtensions.cs index 6e25070a37..446b6a38a8 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricExtensions.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricExtensions.cs @@ -6,7 +6,7 @@ /// There are some APIs on Metric that we hide from Intellisense by making them internal until the ..Extensibility namespace is imported. /// This class exposes them. /// - public static class MetricExtensions + internal static class MetricExtensions { /// /// Exposes the Configuration property for users who imported the Microsoft.ApplicationInsights.Metrics.Extensibility namespace. diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricSeriesExtensions.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricSeriesExtensions.cs index 13ac183d68..0c4aea68e9 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricSeriesExtensions.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricSeriesExtensions.cs @@ -7,7 +7,7 @@ /// There are some APIs on MetricSeries that we hide from Intellisense by making them internal until the ..Extensibility namespace is imported. /// This class exposes them. /// - public static class MetricSeriesExtensions + internal static class MetricSeriesExtensions { /// /// Exposes the Configuration property for users who imported the Microsoft.ApplicationInsights.Metrics.Extensibility namespace. diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/TelemetryClientExtensions.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/TelemetryClientExtensions.cs index f68cca4023..e07827ad34 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/TelemetryClientExtensions.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/TelemetryClientExtensions.cs @@ -9,7 +9,7 @@ using static System.FormattableString; /// @ToDo: Complete documentation before stable release. {526} - public static class TelemetryClientExtensions + internal static class TelemetryClientExtensions { private static ConditionalWeakTable metricManagersForTelemetryClients; diff --git a/src/Microsoft.ApplicationInsights/Metrics/IMetricSeriesConfiguration.cs b/src/Microsoft.ApplicationInsights/Metrics/IMetricSeriesConfiguration.cs index ec4e135dc1..2d14e7fda5 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/IMetricSeriesConfiguration.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/IMetricSeriesConfiguration.cs @@ -4,7 +4,7 @@ using Microsoft.ApplicationInsights.Metrics.Extensibility; /// @ToDo: Complete documentation before stable release. {510} - public interface IMetricSeriesConfiguration : IEquatable + internal interface IMetricSeriesConfiguration : IEquatable { /// Gets a value indicating whether @ToDo: Complete documentation before stable release. {016} bool RequiresPersistentAggregation { get; } diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricAggregate.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricAggregate.cs index 245f5db8b2..ea8d0e554c 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricAggregate.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricAggregate.cs @@ -6,7 +6,7 @@ using System.Globalization; /// @ToDo: Complete documentation before stable release. {406} - public class MetricAggregate + internal class MetricAggregate { // We want to make the aggregate thread safe, but we expect no signiicant contention, so a simple lock will suffice. private readonly object updateLock = new object(); diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs index 10150a596b..89db6283d3 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs @@ -5,7 +5,7 @@ using static System.FormattableString; /// @ToDo: Complete documentation before stable release. {654} - public class MetricConfiguration : IEquatable + internal class MetricConfiguration : IEquatable { private readonly int hashCode; diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricConfigurationForMeasurement.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricConfigurationForMeasurement.cs index 0033c03569..123b58abd6 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricConfigurationForMeasurement.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricConfigurationForMeasurement.cs @@ -3,7 +3,7 @@ using System; /// @ToDo: Complete documentation before stable release. {218} - public sealed class MetricConfigurationForMeasurement : MetricConfiguration + internal sealed class MetricConfigurationForMeasurement : MetricConfiguration { /// @ToDo: Complete documentation before stable release. {928} /// @ToDo: Complete documentation before stable release. {466} diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs index fe63663e40..fdc88fe35a 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs @@ -8,7 +8,7 @@ using static System.FormattableString; /// @ToDo: Complete documentation before stable release. {085} - public sealed class MetricIdentifier : IEquatable + internal sealed class MetricIdentifier : IEquatable { /// @ToDo: Complete documentation before stable release. {369} public const int MaxDimensionsCount = 10; diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricManager.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricManager.cs index cc0be15cd9..f5c8467eec 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricManager.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricManager.cs @@ -7,7 +7,7 @@ using Microsoft.ApplicationInsights.Metrics.Extensibility; /// @ToDo: Complete documentation before stable release. {529} - public sealed class MetricManager + internal sealed class MetricManager { private readonly MetricAggregationManager aggregationManager; private readonly DefaultAggregationPeriodCycle aggregationCycle; diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricSeries.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricSeries.cs index 9a04da74ba..b76dd68a54 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricSeries.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricSeries.cs @@ -17,7 +17,7 @@ /// Each Metric object contains a special zero-dimension series, plus, for multi-dimensional metrics, one /// series per unique dimension-values combination. /// - public sealed class MetricSeries + internal sealed class MetricSeries { #pragma warning disable SA1401, SA1304, SA1307 // intended to be an internal, lower-case field internal readonly IMetricSeriesConfiguration configuration; diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricSeriesConfigurationForMeasurement.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricSeriesConfigurationForMeasurement.cs index 261a8ab398..bab9b6f181 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricSeriesConfigurationForMeasurement.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricSeriesConfigurationForMeasurement.cs @@ -6,7 +6,7 @@ using Microsoft.ApplicationInsights.Metrics.Extensibility; /// @ToDo: Complete documentation before stable release. {023} - public class MetricSeriesConfigurationForMeasurement : IMetricSeriesConfiguration + internal class MetricSeriesConfigurationForMeasurement : IMetricSeriesConfiguration { private readonly bool restrictToUInt32Values; private readonly int hashCode; diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricsCollection.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricsCollection.cs index fced0e01f0..cf06de2b95 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricsCollection.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricsCollection.cs @@ -8,7 +8,7 @@ using static System.FormattableString; /// @ToDo: Complete documentation before stable release. {092} - public sealed class MetricsCollection : ICollection + internal sealed class MetricsCollection : ICollection { private readonly MetricManager metricManager; private readonly ConcurrentDictionary metrics = new ConcurrentDictionary(); diff --git a/src/Microsoft.ApplicationInsights/Metrics/TelemetryConfigurationExtensions.cs b/src/Microsoft.ApplicationInsights/Metrics/TelemetryConfigurationExtensions.cs index c5c0a55581..02ef5660c7 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/TelemetryConfigurationExtensions.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/TelemetryConfigurationExtensions.cs @@ -4,7 +4,7 @@ using Microsoft.ApplicationInsights.Extensibility; /// @ToDo: Complete documentation before stable release. {737} - public static class TelemetryConfigurationExtensions + internal static class TelemetryConfigurationExtensions { /// @ToDo: Complete documentation before stable release. {923} /// @ToDo: Complete documentation before stable release. {456} diff --git a/src/Microsoft.ApplicationInsights/TelemetryClient.cs b/src/Microsoft.ApplicationInsights/TelemetryClient.cs index e65cfe77ae..dc41127eb2 100644 --- a/src/Microsoft.ApplicationInsights/TelemetryClient.cs +++ b/src/Microsoft.ApplicationInsights/TelemetryClient.cs @@ -245,7 +245,7 @@ public void TrackMetric(string name, double value, IDictionary p /// you likely have a use case for event telemetry; see . /// /// The metric telemetry item. - [EditorBrowsable(EditorBrowsableState.Never)] + // [EditorBrowsable(EditorBrowsableState.Never)] public void TrackMetric(MetricTelemetry telemetry) { if (telemetry == null) @@ -612,7 +612,7 @@ public void Flush() /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - public Metric GetMetric( + internal Metric GetMetric( string metricId) { return this.GetOrCreateMetric( @@ -642,7 +642,7 @@ public Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - public Metric GetMetric( + internal Metric GetMetric( string metricId, MetricConfiguration metricConfiguration) { @@ -671,7 +671,7 @@ public Metric GetMetric( /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. /// A instance that you can use to automatically aggregate and then sent metric data value. - public Metric GetMetric( + internal Metric GetMetric( string metricId, MetricConfiguration metricConfiguration, MetricAggregationScope aggregationScope) @@ -700,7 +700,7 @@ public Metric GetMetric( /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. /// A instance that you can use to automatically aggregate and then sent metric data value. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name) { @@ -732,7 +732,7 @@ public Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, MetricConfiguration metricConfiguration) @@ -762,7 +762,7 @@ public Metric GetMetric( /// configuration used earlier. /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, MetricConfiguration metricConfiguration, @@ -793,7 +793,7 @@ public Metric GetMetric( /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. /// A instance that you can use to automatically aggregate and then sent metric data value. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, string dimension2Name) @@ -827,7 +827,7 @@ public Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -859,7 +859,7 @@ public Metric GetMetric( /// configuration used earlier. /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -892,7 +892,7 @@ public Metric GetMetric( /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. /// A instance that you can use to automatically aggregate and then sent metric data value. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -928,7 +928,7 @@ public Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -962,7 +962,7 @@ public Metric GetMetric( /// configuration used earlier. /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -997,7 +997,7 @@ public Metric GetMetric( /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. /// A instance that you can use to automatically aggregate and then sent metric data value. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -1035,7 +1035,7 @@ public Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -1071,7 +1071,7 @@ public Metric GetMetric( /// configuration used earlier. /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. - public Metric GetMetric( + internal Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -1101,7 +1101,7 @@ public Metric GetMetric( /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. /// A instance that you can use to automatically aggregate and then sent metric data value. - public Metric GetMetric( + internal Metric GetMetric( MetricIdentifier metricIdentifier) { return this.GetOrCreateMetric( @@ -1129,7 +1129,7 @@ public Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - public Metric GetMetric( + internal Metric GetMetric( MetricIdentifier metricIdentifier, MetricConfiguration metricConfiguration) { @@ -1155,7 +1155,7 @@ public Metric GetMetric( /// configuration used earlier. /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. - public Metric GetMetric( + internal Metric GetMetric( MetricIdentifier metricIdentifier, MetricConfiguration metricConfiguration, MetricAggregationScope aggregationScope) From 253b96d35e34b703ed53ad470be14e3468f31cef Mon Sep 17 00:00:00 2001 From: MS-TimothyMothra Date: Mon, 30 Apr 2018 16:03:22 -0700 Subject: [PATCH 23/41] nuget compliance (#790) * upgrading MicroBuild.Core to 0.3.0 * temporarily disabling IncludeSymbols * add properties for nuget compliance * update copyright --- .../ApplicationInsightsTypes.csproj | 2 +- .../Microsoft.ApplicationInsights.Net45.Tests.csproj | 2 +- .../Microsoft.ApplicationInsights.Net46.Tests.csproj | 2 +- ...Microsoft.ApplicationInsights.Isolated.Tests.csproj | 2 +- ...osoft.ApplicationInsights.netcoreapp11.Tests.csproj | 2 +- .../Net45.Tests/TelemetryChannel.Net45.Tests.csproj | 2 +- .../TelemetryChannel.netcoreapp11.Tests.csproj | 2 +- .../TelemetryChannel.Nuget.Tests.csproj | 2 +- .../Microsoft.ApplicationInsights.csproj | 10 +++++----- src/ServerTelemetryChannel/TelemetryChannel.csproj | 10 +++++----- 10 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Test/Microsoft.ApplicationInsights.Test/ApplicationInsightsTypes/ApplicationInsightsTypes.csproj b/Test/Microsoft.ApplicationInsights.Test/ApplicationInsightsTypes/ApplicationInsightsTypes.csproj index e1e5a67618..da041c5375 100644 --- a/Test/Microsoft.ApplicationInsights.Test/ApplicationInsightsTypes/ApplicationInsightsTypes.csproj +++ b/Test/Microsoft.ApplicationInsights.Test/ApplicationInsightsTypes/ApplicationInsightsTypes.csproj @@ -26,7 +26,7 @@ - + All diff --git a/Test/Microsoft.ApplicationInsights.Test/Net45/Microsoft.ApplicationInsights.Net45.Tests.csproj b/Test/Microsoft.ApplicationInsights.Test/Net45/Microsoft.ApplicationInsights.Net45.Tests.csproj index a06c50aabb..c89c93bf38 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Net45/Microsoft.ApplicationInsights.Net45.Tests.csproj +++ b/Test/Microsoft.ApplicationInsights.Test/Net45/Microsoft.ApplicationInsights.Net45.Tests.csproj @@ -30,7 +30,7 @@ - + All diff --git a/Test/Microsoft.ApplicationInsights.Test/Net46/Microsoft.ApplicationInsights.Net46.Tests.csproj b/Test/Microsoft.ApplicationInsights.Test/Net46/Microsoft.ApplicationInsights.Net46.Tests.csproj index 3bd2fa8f4c..677f818f9b 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Net46/Microsoft.ApplicationInsights.Net46.Tests.csproj +++ b/Test/Microsoft.ApplicationInsights.Test/Net46/Microsoft.ApplicationInsights.Net46.Tests.csproj @@ -30,7 +30,7 @@ - + All diff --git a/Test/Microsoft.ApplicationInsights.Test/Standalone/Microsoft.ApplicationInsights.Isolated.Tests.csproj b/Test/Microsoft.ApplicationInsights.Test/Standalone/Microsoft.ApplicationInsights.Isolated.Tests.csproj index ba21ab480c..393f7bb17a 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Standalone/Microsoft.ApplicationInsights.Isolated.Tests.csproj +++ b/Test/Microsoft.ApplicationInsights.Test/Standalone/Microsoft.ApplicationInsights.Isolated.Tests.csproj @@ -61,7 +61,7 @@ - + All diff --git a/Test/Microsoft.ApplicationInsights.Test/netcoreapp11/Microsoft.ApplicationInsights.netcoreapp11.Tests.csproj b/Test/Microsoft.ApplicationInsights.Test/netcoreapp11/Microsoft.ApplicationInsights.netcoreapp11.Tests.csproj index 82c271720c..a30f167501 100644 --- a/Test/Microsoft.ApplicationInsights.Test/netcoreapp11/Microsoft.ApplicationInsights.netcoreapp11.Tests.csproj +++ b/Test/Microsoft.ApplicationInsights.Test/netcoreapp11/Microsoft.ApplicationInsights.netcoreapp11.Tests.csproj @@ -25,7 +25,7 @@ - + All diff --git a/Test/ServerTelemetryChannel.Test/Net45.Tests/TelemetryChannel.Net45.Tests.csproj b/Test/ServerTelemetryChannel.Test/Net45.Tests/TelemetryChannel.Net45.Tests.csproj index da1a2aa786..372a17ac14 100644 --- a/Test/ServerTelemetryChannel.Test/Net45.Tests/TelemetryChannel.Net45.Tests.csproj +++ b/Test/ServerTelemetryChannel.Test/Net45.Tests/TelemetryChannel.Net45.Tests.csproj @@ -32,7 +32,7 @@ - + All All diff --git a/Test/ServerTelemetryChannel.Test/NetCore.Tests/TelemetryChannel.netcoreapp11.Tests.csproj b/Test/ServerTelemetryChannel.Test/NetCore.Tests/TelemetryChannel.netcoreapp11.Tests.csproj index fb605e508d..8848a85878 100644 --- a/Test/ServerTelemetryChannel.Test/NetCore.Tests/TelemetryChannel.netcoreapp11.Tests.csproj +++ b/Test/ServerTelemetryChannel.Test/NetCore.Tests/TelemetryChannel.netcoreapp11.Tests.csproj @@ -35,7 +35,7 @@ - + All diff --git a/Test/ServerTelemetryChannel.Test/TelemetryChannel.Nuget.Tests/TelemetryChannel.Nuget.Tests.csproj b/Test/ServerTelemetryChannel.Test/TelemetryChannel.Nuget.Tests/TelemetryChannel.Nuget.Tests.csproj index 2029d9c12c..74291ab4e3 100644 --- a/Test/ServerTelemetryChannel.Test/TelemetryChannel.Nuget.Tests/TelemetryChannel.Nuget.Tests.csproj +++ b/Test/ServerTelemetryChannel.Test/TelemetryChannel.Nuget.Tests/TelemetryChannel.Nuget.Tests.csproj @@ -33,7 +33,7 @@ - + All diff --git a/src/Microsoft.ApplicationInsights/Microsoft.ApplicationInsights.csproj b/src/Microsoft.ApplicationInsights/Microsoft.ApplicationInsights.csproj index 6f280b43d3..0616a35f97 100644 --- a/src/Microsoft.ApplicationInsights/Microsoft.ApplicationInsights.csproj +++ b/src/Microsoft.ApplicationInsights/Microsoft.ApplicationInsights.csproj @@ -3,7 +3,7 @@ Microsoft - Copyright © Microsoft. All Rights Reserved. + © Microsoft Corporation. All rights reserved. false false false @@ -16,7 +16,7 @@ True - True + False Microsoft.ApplicationInsights @@ -28,8 +28,8 @@ true - http://go.microsoft.com/fwlink/?LinkID=510709 - http://go.microsoft.com/fwlink/?LinkId=392727 + https://go.microsoft.com/fwlink/?LinkID=510709 + https://go.microsoft.com/fwlink/?LinkId=392727 http://appanacdn.blob.core.windows.net/cdn/icons/aic.png Analytics ApplicationInsights Telemetry @@ -49,7 +49,7 @@ All - + All diff --git a/src/ServerTelemetryChannel/TelemetryChannel.csproj b/src/ServerTelemetryChannel/TelemetryChannel.csproj index 71c401b796..162965e711 100644 --- a/src/ServerTelemetryChannel/TelemetryChannel.csproj +++ b/src/ServerTelemetryChannel/TelemetryChannel.csproj @@ -3,7 +3,7 @@ Microsoft - Copyright © Microsoft. All Rights Reserved. + © Microsoft Corporation. All rights reserved. false false false @@ -16,7 +16,7 @@ True - True + False Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel @@ -28,8 +28,8 @@ true - http://go.microsoft.com/fwlink/?LinkID=510709 - http://go.microsoft.com/fwlink/?LinkId=392727 + https://go.microsoft.com/fwlink/?LinkID=510709 + https://go.microsoft.com/fwlink/?LinkId=392727 http://appanacdn.blob.core.windows.net/cdn/icons/aic.png Analytics ApplicationInsights Telemetry For the release notes please follow http://go.microsoft.com/fwlink/?LinkId=535037 @@ -51,7 +51,7 @@ All - + All From 15568c76db926d6152b2508cafd6812a0a88f6ab Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Mon, 30 Apr 2018 17:08:09 -0700 Subject: [PATCH 24/41] Fix indenting change. --- .../DataContracts/DependencyTelemetry.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs b/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs index c458a51455..6da0f268b9 100644 --- a/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs +++ b/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs @@ -40,11 +40,11 @@ public DependencyTelemetry() this.GenerateId(); } - /// - /// Initializes a new instance of the class with the given , , - /// , and property values. - /// - [Obsolete("Use other constructors which allows to define dependency call with all the properties.")] + /// + /// Initializes a new instance of the class with the given , , + /// , and property values. + /// + [Obsolete("Use other constructors which allows to define dependency call with all the properties.")] public DependencyTelemetry(string dependencyName, string data, DateTimeOffset startTime, TimeSpan duration, bool success) : this() { From 87429f38fec34ca1c40c51adcc5e14cc17c4513e Mon Sep 17 00:00:00 2001 From: MS-TimothyMothra Date: Tue, 1 May 2018 10:57:44 -0700 Subject: [PATCH 25/41] update owner (#791) --- .../Microsoft.ApplicationInsights.csproj | 4 ++-- src/ServerTelemetryChannel/TelemetryChannel.csproj | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.ApplicationInsights/Microsoft.ApplicationInsights.csproj b/src/Microsoft.ApplicationInsights/Microsoft.ApplicationInsights.csproj index 0616a35f97..1f4c58854e 100644 --- a/src/Microsoft.ApplicationInsights/Microsoft.ApplicationInsights.csproj +++ b/src/Microsoft.ApplicationInsights/Microsoft.ApplicationInsights.csproj @@ -22,9 +22,9 @@ Microsoft - Microsoft + Microsoft,AppInsightsSdk Application Insights API - Application Insights Core API. This package provides core functionality for transmission of all Application Insights Telemetry Types and is a dependent package for all other Application Insights packages. Please install the platform specific package for the best experience. Privacy statement: https://go.microsoft.com/fwlink/?LinkId=512156 + Application Insights Base API. This package provides core functionality for transmission of all Application Insights Telemetry Types and is a dependent package for all other Application Insights packages. Please install the platform specific package for the best experience. Privacy statement: https://go.microsoft.com/fwlink/?LinkId=512156 true diff --git a/src/ServerTelemetryChannel/TelemetryChannel.csproj b/src/ServerTelemetryChannel/TelemetryChannel.csproj index 162965e711..e513847438 100644 --- a/src/ServerTelemetryChannel/TelemetryChannel.csproj +++ b/src/ServerTelemetryChannel/TelemetryChannel.csproj @@ -22,7 +22,7 @@ Microsoft - Microsoft + Microsoft,AppInsightsSdk Application Insights Telemetry Channel for Windows Server Applications This nuget provides a telemetry channel to Application Insights Windows Server SDK that will preserve telemetry in offline scenarios. This is a dependent package, for the best experience please install the platform specific package. Privacy statement: https://go.microsoft.com/fwlink/?LinkId=512156 From 96cb583606ca56975a8413bade527a5feae06c34 Mon Sep 17 00:00:00 2001 From: MS-TimothyMothra Date: Tue, 1 May 2018 16:24:49 -0700 Subject: [PATCH 26/41] correct property name (#792) --- .../Microsoft.ApplicationInsights.csproj | 2 +- src/ServerTelemetryChannel/TelemetryChannel.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.ApplicationInsights/Microsoft.ApplicationInsights.csproj b/src/Microsoft.ApplicationInsights/Microsoft.ApplicationInsights.csproj index 1f4c58854e..64f100f2c8 100644 --- a/src/Microsoft.ApplicationInsights/Microsoft.ApplicationInsights.csproj +++ b/src/Microsoft.ApplicationInsights/Microsoft.ApplicationInsights.csproj @@ -27,7 +27,7 @@ Application Insights Base API. This package provides core functionality for transmission of all Application Insights Telemetry Types and is a dependent package for all other Application Insights packages. Please install the platform specific package for the best experience. Privacy statement: https://go.microsoft.com/fwlink/?LinkId=512156 - true + true https://go.microsoft.com/fwlink/?LinkID=510709 https://go.microsoft.com/fwlink/?LinkId=392727 http://appanacdn.blob.core.windows.net/cdn/icons/aic.png diff --git a/src/ServerTelemetryChannel/TelemetryChannel.csproj b/src/ServerTelemetryChannel/TelemetryChannel.csproj index e513847438..5c02759a95 100644 --- a/src/ServerTelemetryChannel/TelemetryChannel.csproj +++ b/src/ServerTelemetryChannel/TelemetryChannel.csproj @@ -27,7 +27,7 @@ This nuget provides a telemetry channel to Application Insights Windows Server SDK that will preserve telemetry in offline scenarios. This is a dependent package, for the best experience please install the platform specific package. Privacy statement: https://go.microsoft.com/fwlink/?LinkId=512156 - true + true https://go.microsoft.com/fwlink/?LinkID=510709 https://go.microsoft.com/fwlink/?LinkId=392727 http://appanacdn.blob.core.windows.net/cdn/icons/aic.png From 4458457f2ad06bfccbf8ab29f913678bffc2c708 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Tue, 1 May 2018 16:37:08 -0700 Subject: [PATCH 27/41] Clear OperationDetails After Track() Call --- .../DataContracts/DependencyTelemetryTest.cs | 9 ++++++++- .../DataContracts/DependencyTelemetry.cs | 15 +++++++++++++++ .../TelemetryClient.cs | 2 ++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/DataContracts/DependencyTelemetryTest.cs b/Test/Microsoft.ApplicationInsights.Test/Shared/DataContracts/DependencyTelemetryTest.cs index 06336c9bfc..f5a2edc53c 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/DataContracts/DependencyTelemetryTest.cs +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/DataContracts/DependencyTelemetryTest.cs @@ -178,6 +178,10 @@ public void DependencyTelemetrySetGetOperationDetail() Assert.IsTrue(telemetry.TryGetOperationDetail(key, out object retrievedValue)); Assert.IsNotNull(retrievedValue); Assert.AreEqual(detail, retrievedValue.ToString()); + + // Clear and verify the detail is no longer present + telemetry.ClearOperationDetails(); + Assert.IsFalse(telemetry.TryGetOperationDetail(key, out retrievedValue)); } [TestMethod] @@ -188,6 +192,9 @@ public void DependencyTelemetryGetUnsetOperationDetail() var telemetry = this.CreateRemoteDependencyTelemetry("mycommand"); Assert.IsFalse(telemetry.TryGetOperationDetail(key, out object retrievedValue)); Assert.IsNull(retrievedValue); + + // should not throw + telemetry.ClearOperationDetails(); } #if !NETCOREAPP1_1 @@ -208,7 +215,7 @@ public void DependencyTelemetryDeepCloneCopiesAllProperties() private DependencyTelemetry CreateRemoteDependencyTelemetry() { DependencyTelemetry item = new DependencyTelemetry - { + { Timestamp = DateTimeOffset.Now, Sequence = "4:2", Name = "MyWebServer.cloudapp.net", diff --git a/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs b/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs index 6da0f268b9..55a7e0d86f 100644 --- a/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs +++ b/src/Microsoft.ApplicationInsights/DataContracts/DependencyTelemetry.cs @@ -307,6 +307,7 @@ public override ITelemetry DeepClone() /// true if the key was found; otherwise, false. public bool TryGetOperationDetail(string key, out object detail) { + // Avoid initializing the dictionary if it has not been initialized if (this.operationDetails == null) { detail = null; @@ -341,5 +342,19 @@ void ITelemetry.Sanitize() this.Data = this.Data.SanitizeData(); this.Properties.SanitizeProperties(); } + + /// + /// Clears any stored operational data for the dependency operation, if any. + /// + internal void ClearOperationDetails() + { + // Avoid initializing the dictionary if it has not been initialized + if (this.operationDetails == null) + { + return; + } + + this.OperationDetails.Clear(); + } } } diff --git a/src/Microsoft.ApplicationInsights/TelemetryClient.cs b/src/Microsoft.ApplicationInsights/TelemetryClient.cs index dc41127eb2..9ebf8f90ed 100644 --- a/src/Microsoft.ApplicationInsights/TelemetryClient.cs +++ b/src/Microsoft.ApplicationInsights/TelemetryClient.cs @@ -375,6 +375,8 @@ public void TrackDependency(DependencyTelemetry telemetry) } this.Track(telemetry); + + telemetry.ClearOperationDetails(); } /// From e54e77998a3074424dbe62d75f56b4621be02b6e Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Tue, 1 May 2018 16:41:45 -0700 Subject: [PATCH 28/41] Align Formatting in CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 271f2c2f8d..4d190b0d40 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ This changelog will be used to generate documentation on [release notes page](ht ## Version 2.6.0 - [Fix: changed namespace SamplingPercentageEstimatorSettings](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/727) - -[Extend the Beta period for Metrics Pre-Aggregation features shipped in 2.6.0-beta3.](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/785) +- [Extend the Beta period for Metrics Pre-Aggregation features shipped in 2.6.0-beta3.](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/785) ## Version 2.6.0-beta4 - [New: Enable ExceptionTelemetry.SetParsedStack for .Net Standard](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/763) From 6f49a23bff89d3f05cb58b956ad94c9757637291 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Wed, 2 May 2018 11:15:00 -0700 Subject: [PATCH 29/41] Update CHANGELOG.md with consolidated issue reference --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d190b0d40..df13e4a133 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ This changelog will be used to generate documentation on [release notes page](http://azure.microsoft.com/en-us/documentation/articles/app-insights-release-notes-dotnet/). ## Version 2.7.0-beta1 -- [New: Added TryGetOperationDetail to DependencyTelemetry to facilitate advanced ITelemetryInitializer scenarios. Allows ITelemetryInitializer implementations to specify fields that would otherwise not be sent automatically to the backend.] (https://github.com/Microsoft/ApplicationInsights-dotnet-server/issues/587) +- [New: Added TryGetOperationDetail to DependencyTelemetry to facilitate advanced ITelemetryInitializer scenarios. Allows ITelemetryInitializer implementations to specify fields that would otherwise not be sent automatically to the backend.] (https://github.com/Microsoft/ApplicationInsights-dotnet-server/issues/900) ## Version 2.6.0 - [Fix: changed namespace SamplingPercentageEstimatorSettings](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/727) From 97e1498d677e152de0eb10c76b5636cb8bfc4675 Mon Sep 17 00:00:00 2001 From: Timothy Mothra Lee Date: Mon, 7 May 2018 17:08:42 -0700 Subject: [PATCH 30/41] bump version 2.7.0-beta1 --- GlobalStaticVersion.props | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/GlobalStaticVersion.props b/GlobalStaticVersion.props index 4a3152eeb4..da5a909f23 100644 --- a/GlobalStaticVersion.props +++ b/GlobalStaticVersion.props @@ -6,10 +6,10 @@ Update for every public release. --> 2 - 6 - 1 + 7 + 0 - + beta1 - 2018-02-12 + 2018-05-01 $([MSBuild]::Divide($([System.DateTime]::Now.Subtract($([System.DateTime]::Parse($(SemanticVersionDate)))).TotalMinutes), 5).ToString('F0')) From 6a9fca737089c52d6253d5b55e23ff50d1b29af3 Mon Sep 17 00:00:00 2001 From: macrogreg Date: Tue, 8 May 2018 14:57:57 -0500 Subject: [PATCH 31/41] Revert Commit fb0eae50: "Metrics: Hide pre-aggregation APIs in 2.6 Stable release. (#786)" --- .../net45/PublicAPI.Unshipped.txt | 236 +++++++++++++++++- .../net46/PublicAPI.Unshipped.txt | 236 +++++++++++++++++- .../netstandard1.3/PublicAPI.Unshipped.txt | 234 +++++++++++++++++ ...figurationForTestingAccumulatorBehavior.cs | 2 +- .../Shared/Metrics/TestUtility/TestUtil.cs | 2 +- src/Microsoft.ApplicationInsights/Metric.cs | 2 +- .../MetricAggregationScope.cs | 2 +- .../MetricConfigurations.cs | 2 +- .../MetricConfigurationsExtensions.cs | 2 +- .../MetricDimensionNames.cs | 2 +- .../Extensibility/IMetricSeriesAggregator.cs | 2 +- .../Extensibility/IMetricTelemetryPipeline.cs | 2 +- .../Extensibility/IMetricValueFilter.cs | 2 +- .../MetricAggregationCycleKind.cs | 2 +- .../MetricConfigurationExtensions.cs | 2 +- .../Metrics/Extensibility/MetricExtensions.cs | 2 +- .../Extensibility/MetricSeriesExtensions.cs | 2 +- .../TelemetryClientExtensions.cs | 2 +- .../Metrics/IMetricSeriesConfiguration.cs | 2 +- .../Metrics/MetricAggregate.cs | 2 +- .../Metrics/MetricConfiguration.cs | 2 +- .../MetricConfigurationForMeasurement.cs | 2 +- .../Metrics/MetricIdentifier.cs | 2 +- .../Metrics/MetricManager.cs | 2 +- .../Metrics/MetricSeries.cs | 2 +- ...MetricSeriesConfigurationForMeasurement.cs | 2 +- .../Metrics/MetricsCollection.cs | 2 +- .../TelemetryConfigurationExtensions.cs | 2 +- .../TelemetryClient.cs | 38 +-- 29 files changed, 748 insertions(+), 46 deletions(-) diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt index 7c583a845f..25823b0593 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt @@ -32,4 +32,238 @@ Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPro Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.HeartbeatInterval.set -> void Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.get -> bool Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.set -> void -Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.SetHeartbeatProperty(string propertyName, string propertyValue = null, bool? isHealthy = null) -> bool \ No newline at end of file +Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.SetHeartbeatProperty(string propertyName, string propertyValue = null, bool? isHealthy = null) -> bool +Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.Metric.GetAllSeries() -> System.Collections.Generic.IReadOnlyList> +Microsoft.ApplicationInsights.Metric.GetDimensionValues(int dimensionNumber) -> System.Collections.Generic.IReadOnlyCollection +Microsoft.ApplicationInsights.Metric.Identifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier +Microsoft.ApplicationInsights.Metric.SeriesCount.get -> int +Microsoft.ApplicationInsights.Metric.TrackValue(double metricValue) -> void +Microsoft.ApplicationInsights.Metric.TrackValue(object metricValue) -> void +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, bool createIfNotExists, params string[] dimensionValues) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool +Microsoft.ApplicationInsights.MetricAggregationScope +Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryClient = 1 -> Microsoft.ApplicationInsights.MetricAggregationScope +Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryConfiguration = 0 -> Microsoft.ApplicationInsights.MetricAggregationScope +Microsoft.ApplicationInsights.MetricConfigurations +Microsoft.ApplicationInsights.MetricConfigurationsExtensions +Microsoft.ApplicationInsights.MetricDimensionNames +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CompleteAggregation(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CreateAggregateUnsafe(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.DataSeries.get -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart, Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter valueFilter) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(double metricValue) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(object metricValue) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TryRecycle() -> bool +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.FlushAsync(System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.TrackAsync(Microsoft.ApplicationInsights.Metrics.MetricAggregate metricAggregate, System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, double metricValue) -> bool +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, object metricValue) -> bool +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Custom = 2 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Default = 0 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.QuickPulse = 1 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions +Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions +Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration +Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator +Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.RequiresPersistentAggregation.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricAggregate +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationKindMoniker.get -> string +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.get -> System.TimeSpan +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.set -> void +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.get -> System.DateTimeOffset +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.set -> void +Microsoft.ApplicationInsights.Metrics.MetricAggregate.Data.get -> System.Collections.Generic.IDictionary +Microsoft.ApplicationInsights.Metrics.MetricAggregate.Dimensions.get -> System.Collections.Generic.IDictionary +Microsoft.ApplicationInsights.Metrics.MetricAggregate.GetDataValue(string dataKey, T defaultValue) -> T +Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricAggregate(string metricNamespace, string metricId, string aggregationKindMoniker) -> void +Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricId.get -> string +Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricNamespace.get -> string +Microsoft.ApplicationInsights.Metrics.MetricConfiguration +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.MetricConfiguration(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration seriesConfig) -> void +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesConfig.get -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesCountLimit.get -> int +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.ValuesPerDimensionLimit.get -> int +Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement +Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement.MetricConfigurationForMeasurement(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement seriesConfig) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DimensionsCount.get -> int +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(Microsoft.ApplicationInsights.Metrics.MetricIdentifier otherMetricIdentifier) -> bool +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionName(int dimensionNumber) -> string +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionNames() -> System.Collections.Generic.IEnumerable +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricId.get -> string +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricId) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, System.Collections.Generic.IList dimensionNames) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name, string dimension10Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricNamespace.get -> string +Microsoft.ApplicationInsights.Metrics.MetricManager +Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricManager.Flush() -> void +Microsoft.ApplicationInsights.Metrics.MetricManager.MetricManager(Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline telemetryPipeline) -> void +Microsoft.ApplicationInsights.Metrics.MetricManager.Metrics.get -> Microsoft.ApplicationInsights.Metrics.MetricsCollection +Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricSeries.DimensionNamesAndValues.get -> System.Collections.Generic.IReadOnlyDictionary +Microsoft.ApplicationInsights.Metrics.MetricSeries.MetricIdentifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier +Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(double metricValue) -> void +Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(object metricValue) -> void +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindDataKeys.get -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindMoniker.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Count.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Max.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Min.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.StdDev.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Sum.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration other) -> bool +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement other) -> bool +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.MetricSeriesConfigurationForMeasurement(bool restrictToUInt32Values) -> void +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RequiresPersistentAggregation.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RestrictToUInt32Values.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Clear() -> void +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Contains(Microsoft.ApplicationInsights.Metric metric) -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection.CopyTo(Microsoft.ApplicationInsights.Metric[] array, int arrayIndex) -> void +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Count.get -> int +Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetEnumerator() -> System.Collections.Generic.IEnumerator +Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetOrCreate(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.Metrics.MetricsCollection.IsReadOnly.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Remove(Microsoft.ApplicationInsights.Metric metric) -> bool +Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleInstance = "TelemetryContext.Cloud.RoleInstance" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleName = "TelemetryContext.Cloud.RoleName" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component.Version = "TelemetryContext.Component.Version" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Id = "TelemetryContext.Device.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Language = "TelemetryContext.Device.Language" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Model = "TelemetryContext.Device.Model" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.NetworkType = "TelemetryContext.Device.NetworkType" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OemName = "TelemetryContext.Device.OemName" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OperatingSystem = "TelemetryContext.Device.OperatingSystem" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.ScreenResolution = "TelemetryContext.Device.ScreenResolution" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Type = "TelemetryContext.Device.Type" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.InstrumentationKey = "TelemetryContext.InstrumentationKey" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location.Ip = "TelemetryContext.Location.Ip" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.CorrelationVector = "TelemetryContext.Operation.CorrelationVector" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Id = "TelemetryContext.Operation.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Name = "TelemetryContext.Operation.Name" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.ParentId = "TelemetryContext.Operation.ParentId" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.SyntheticSource = "TelemetryContext.Operation.SyntheticSource" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.Id = "TelemetryContext.Session.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.IsFirst = "TelemetryContext.Session.IsFirst" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AccountId = "TelemetryContext.User.AccountId" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AuthenticatedUserId = "TelemetryContext.User.AuthenticatedUserId" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.Id = "TelemetryContext.User.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.UserAgent = "TelemetryContext.User.UserAgent" -> string +const Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MaxDimensionsCount = 10 -> int +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Count = "Count" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Max = "Max" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Min = "Min" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Sum = "Sum" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Count = "Count" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Max = "Max" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Min = "Min" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Sum = "Sum" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string +override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(object obj) -> bool +override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.GetHashCode() -> int +override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(object otherObj) -> bool +override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetHashCode() -> int +override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.ToString() -> string +override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(object obj) -> bool +override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.GetHashCode() -> int +static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.Measurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets) -> Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement +static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.SetDefaultForMeasurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets, Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement defaultConfigurationForMeasurement) -> void +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metric metric) -> Microsoft.ApplicationInsights.Metrics.MetricConfiguration +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metrics.MetricSeries metricSeries) -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration +static Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions.GetMetricManager(this Microsoft.ApplicationInsights.TelemetryClient telemetryClient, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metrics.MetricManager +static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.get -> string +static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.set -> void +static Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions.GetMetricManager(this Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration telemetryPipeline) -> Microsoft.ApplicationInsights.Metrics.MetricManager +static readonly Microsoft.ApplicationInsights.MetricConfigurations.Common -> Microsoft.ApplicationInsights.MetricConfigurations +virtual Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(Microsoft.ApplicationInsights.Metrics.MetricConfiguration other) -> bool \ No newline at end of file diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt index 7c583a845f..25823b0593 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt @@ -32,4 +32,238 @@ Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPro Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.HeartbeatInterval.set -> void Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.get -> bool Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.set -> void -Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.SetHeartbeatProperty(string propertyName, string propertyValue = null, bool? isHealthy = null) -> bool \ No newline at end of file +Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.SetHeartbeatProperty(string propertyName, string propertyValue = null, bool? isHealthy = null) -> bool +Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.Metric.GetAllSeries() -> System.Collections.Generic.IReadOnlyList> +Microsoft.ApplicationInsights.Metric.GetDimensionValues(int dimensionNumber) -> System.Collections.Generic.IReadOnlyCollection +Microsoft.ApplicationInsights.Metric.Identifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier +Microsoft.ApplicationInsights.Metric.SeriesCount.get -> int +Microsoft.ApplicationInsights.Metric.TrackValue(double metricValue) -> void +Microsoft.ApplicationInsights.Metric.TrackValue(object metricValue) -> void +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, bool createIfNotExists, params string[] dimensionValues) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool +Microsoft.ApplicationInsights.MetricAggregationScope +Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryClient = 1 -> Microsoft.ApplicationInsights.MetricAggregationScope +Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryConfiguration = 0 -> Microsoft.ApplicationInsights.MetricAggregationScope +Microsoft.ApplicationInsights.MetricConfigurations +Microsoft.ApplicationInsights.MetricConfigurationsExtensions +Microsoft.ApplicationInsights.MetricDimensionNames +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CompleteAggregation(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CreateAggregateUnsafe(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.DataSeries.get -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart, Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter valueFilter) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(double metricValue) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(object metricValue) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TryRecycle() -> bool +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.FlushAsync(System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.TrackAsync(Microsoft.ApplicationInsights.Metrics.MetricAggregate metricAggregate, System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, double metricValue) -> bool +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, object metricValue) -> bool +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Custom = 2 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Default = 0 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.QuickPulse = 1 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions +Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions +Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration +Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator +Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.RequiresPersistentAggregation.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricAggregate +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationKindMoniker.get -> string +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.get -> System.TimeSpan +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.set -> void +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.get -> System.DateTimeOffset +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.set -> void +Microsoft.ApplicationInsights.Metrics.MetricAggregate.Data.get -> System.Collections.Generic.IDictionary +Microsoft.ApplicationInsights.Metrics.MetricAggregate.Dimensions.get -> System.Collections.Generic.IDictionary +Microsoft.ApplicationInsights.Metrics.MetricAggregate.GetDataValue(string dataKey, T defaultValue) -> T +Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricAggregate(string metricNamespace, string metricId, string aggregationKindMoniker) -> void +Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricId.get -> string +Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricNamespace.get -> string +Microsoft.ApplicationInsights.Metrics.MetricConfiguration +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.MetricConfiguration(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration seriesConfig) -> void +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesConfig.get -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesCountLimit.get -> int +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.ValuesPerDimensionLimit.get -> int +Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement +Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement.MetricConfigurationForMeasurement(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement seriesConfig) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DimensionsCount.get -> int +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(Microsoft.ApplicationInsights.Metrics.MetricIdentifier otherMetricIdentifier) -> bool +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionName(int dimensionNumber) -> string +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionNames() -> System.Collections.Generic.IEnumerable +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricId.get -> string +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricId) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, System.Collections.Generic.IList dimensionNames) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name, string dimension10Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricNamespace.get -> string +Microsoft.ApplicationInsights.Metrics.MetricManager +Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricManager.Flush() -> void +Microsoft.ApplicationInsights.Metrics.MetricManager.MetricManager(Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline telemetryPipeline) -> void +Microsoft.ApplicationInsights.Metrics.MetricManager.Metrics.get -> Microsoft.ApplicationInsights.Metrics.MetricsCollection +Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricSeries.DimensionNamesAndValues.get -> System.Collections.Generic.IReadOnlyDictionary +Microsoft.ApplicationInsights.Metrics.MetricSeries.MetricIdentifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier +Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(double metricValue) -> void +Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(object metricValue) -> void +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindDataKeys.get -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindMoniker.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Count.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Max.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Min.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.StdDev.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Sum.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration other) -> bool +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement other) -> bool +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.MetricSeriesConfigurationForMeasurement(bool restrictToUInt32Values) -> void +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RequiresPersistentAggregation.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RestrictToUInt32Values.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Clear() -> void +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Contains(Microsoft.ApplicationInsights.Metric metric) -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection.CopyTo(Microsoft.ApplicationInsights.Metric[] array, int arrayIndex) -> void +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Count.get -> int +Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetEnumerator() -> System.Collections.Generic.IEnumerator +Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetOrCreate(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.Metrics.MetricsCollection.IsReadOnly.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Remove(Microsoft.ApplicationInsights.Metric metric) -> bool +Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleInstance = "TelemetryContext.Cloud.RoleInstance" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleName = "TelemetryContext.Cloud.RoleName" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component.Version = "TelemetryContext.Component.Version" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Id = "TelemetryContext.Device.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Language = "TelemetryContext.Device.Language" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Model = "TelemetryContext.Device.Model" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.NetworkType = "TelemetryContext.Device.NetworkType" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OemName = "TelemetryContext.Device.OemName" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OperatingSystem = "TelemetryContext.Device.OperatingSystem" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.ScreenResolution = "TelemetryContext.Device.ScreenResolution" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Type = "TelemetryContext.Device.Type" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.InstrumentationKey = "TelemetryContext.InstrumentationKey" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location.Ip = "TelemetryContext.Location.Ip" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.CorrelationVector = "TelemetryContext.Operation.CorrelationVector" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Id = "TelemetryContext.Operation.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Name = "TelemetryContext.Operation.Name" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.ParentId = "TelemetryContext.Operation.ParentId" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.SyntheticSource = "TelemetryContext.Operation.SyntheticSource" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.Id = "TelemetryContext.Session.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.IsFirst = "TelemetryContext.Session.IsFirst" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AccountId = "TelemetryContext.User.AccountId" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AuthenticatedUserId = "TelemetryContext.User.AuthenticatedUserId" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.Id = "TelemetryContext.User.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.UserAgent = "TelemetryContext.User.UserAgent" -> string +const Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MaxDimensionsCount = 10 -> int +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Count = "Count" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Max = "Max" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Min = "Min" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Sum = "Sum" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Count = "Count" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Max = "Max" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Min = "Min" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Sum = "Sum" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string +override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(object obj) -> bool +override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.GetHashCode() -> int +override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(object otherObj) -> bool +override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetHashCode() -> int +override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.ToString() -> string +override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(object obj) -> bool +override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.GetHashCode() -> int +static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.Measurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets) -> Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement +static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.SetDefaultForMeasurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets, Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement defaultConfigurationForMeasurement) -> void +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metric metric) -> Microsoft.ApplicationInsights.Metrics.MetricConfiguration +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metrics.MetricSeries metricSeries) -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration +static Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions.GetMetricManager(this Microsoft.ApplicationInsights.TelemetryClient telemetryClient, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metrics.MetricManager +static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.get -> string +static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.set -> void +static Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions.GetMetricManager(this Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration telemetryPipeline) -> Microsoft.ApplicationInsights.Metrics.MetricManager +static readonly Microsoft.ApplicationInsights.MetricConfigurations.Common -> Microsoft.ApplicationInsights.MetricConfigurations +virtual Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(Microsoft.ApplicationInsights.Metrics.MetricConfiguration other) -> bool \ No newline at end of file diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt index a165e153a9..15ef95be9d 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt @@ -33,4 +33,238 @@ Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPro Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.get -> bool Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.IsHeartbeatEnabled.set -> void Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.IHeartbeatPropertyManager.SetHeartbeatProperty(string propertyName, string propertyValue = null, bool? isHealthy = null) -> bool +Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.Metric.GetAllSeries() -> System.Collections.Generic.IReadOnlyList> +Microsoft.ApplicationInsights.Metric.GetDimensionValues(int dimensionNumber) -> System.Collections.Generic.IReadOnlyCollection +Microsoft.ApplicationInsights.Metric.Identifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier +Microsoft.ApplicationInsights.Metric.SeriesCount.get -> int +Microsoft.ApplicationInsights.Metric.TrackValue(double metricValue) -> void +Microsoft.ApplicationInsights.Metric.TrackValue(object metricValue) -> void +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, bool createIfNotExists, params string[] dimensionValues) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool +Microsoft.ApplicationInsights.Metric.TryGetDataSeries(out Microsoft.ApplicationInsights.Metrics.MetricSeries series, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(double metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value) -> bool +Microsoft.ApplicationInsights.Metric.TryTrackValue(object metricValue, string dimension1Value, string dimension2Value, string dimension3Value, string dimension4Value, string dimension5Value, string dimension6Value, string dimension7Value, string dimension8Value, string dimension9Value, string dimension10Value) -> bool +Microsoft.ApplicationInsights.MetricAggregationScope +Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryClient = 1 -> Microsoft.ApplicationInsights.MetricAggregationScope +Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryConfiguration = 0 -> Microsoft.ApplicationInsights.MetricAggregationScope +Microsoft.ApplicationInsights.MetricConfigurations +Microsoft.ApplicationInsights.MetricConfigurationsExtensions +Microsoft.ApplicationInsights.MetricDimensionNames +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session +Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CompleteAggregation(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.CreateAggregateUnsafe(System.DateTimeOffset periodEnd) -> Microsoft.ApplicationInsights.Metrics.MetricAggregate +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.DataSeries.get -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.Reset(System.DateTimeOffset periodStart, Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter valueFilter) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(double metricValue) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TrackValue(object metricValue) -> void +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator.TryRecycle() -> bool +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.FlushAsync(System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline.TrackAsync(Microsoft.ApplicationInsights.Metrics.MetricAggregate metricAggregate, System.Threading.CancellationToken cancelToken) -> System.Threading.Tasks.Task +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, double metricValue) -> bool +Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricValueFilter.WillConsume(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, object metricValue) -> bool +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Custom = 2 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.Default = 0 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind.QuickPulse = 1 -> Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions +Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions +Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions +Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration +Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator +Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration.RequiresPersistentAggregation.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricAggregate +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationKindMoniker.get -> string +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.get -> System.TimeSpan +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodDuration.set -> void +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.get -> System.DateTimeOffset +Microsoft.ApplicationInsights.Metrics.MetricAggregate.AggregationPeriodStart.set -> void +Microsoft.ApplicationInsights.Metrics.MetricAggregate.Data.get -> System.Collections.Generic.IDictionary +Microsoft.ApplicationInsights.Metrics.MetricAggregate.Dimensions.get -> System.Collections.Generic.IDictionary +Microsoft.ApplicationInsights.Metrics.MetricAggregate.GetDataValue(string dataKey, T defaultValue) -> T +Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricAggregate(string metricNamespace, string metricId, string aggregationKindMoniker) -> void +Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricId.get -> string +Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricNamespace.get -> string +Microsoft.ApplicationInsights.Metrics.MetricConfiguration +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.MetricConfiguration(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration seriesConfig) -> void +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesConfig.get -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesCountLimit.get -> int +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.ValuesPerDimensionLimit.get -> int +Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement +Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement.MetricConfigurationForMeasurement(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement seriesConfig) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DimensionsCount.get -> int +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(Microsoft.ApplicationInsights.Metrics.MetricIdentifier otherMetricIdentifier) -> bool +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionName(int dimensionNumber) -> string +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetDimensionNames() -> System.Collections.Generic.IEnumerable +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricId.get -> string +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricId) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, System.Collections.Generic.IList dimensionNames) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricIdentifier(string metricNamespace, string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, string dimension5Name, string dimension6Name, string dimension7Name, string dimension8Name, string dimension9Name, string dimension10Name) -> void +Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MetricNamespace.get -> string +Microsoft.ApplicationInsights.Metrics.MetricManager +Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricManager.CreateNewSeries(string metricNamespace, string metricId, System.Collections.Generic.IEnumerable> dimensionNamesAndValues, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration config) -> Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricManager.Flush() -> void +Microsoft.ApplicationInsights.Metrics.MetricManager.MetricManager(Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricTelemetryPipeline telemetryPipeline) -> void +Microsoft.ApplicationInsights.Metrics.MetricManager.Metrics.get -> Microsoft.ApplicationInsights.Metrics.MetricsCollection +Microsoft.ApplicationInsights.Metrics.MetricSeries +Microsoft.ApplicationInsights.Metrics.MetricSeries.DimensionNamesAndValues.get -> System.Collections.Generic.IReadOnlyDictionary +Microsoft.ApplicationInsights.Metrics.MetricSeries.MetricIdentifier.get -> Microsoft.ApplicationInsights.Metrics.MetricIdentifier +Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(double metricValue) -> void +Microsoft.ApplicationInsights.Metrics.MetricSeries.TrackValue(object metricValue) -> void +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindDataKeys.get -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.AggregateKindMoniker.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Count.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Max.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Min.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.StdDev.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.DataKeysConstants.Sum.get -> string +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.CreateNewAggregator(Microsoft.ApplicationInsights.Metrics.MetricSeries dataSeries, Microsoft.ApplicationInsights.Metrics.Extensibility.MetricAggregationCycleKind aggregationCycleKind) -> Microsoft.ApplicationInsights.Metrics.Extensibility.IMetricSeriesAggregator +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration other) -> bool +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement other) -> bool +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.MetricSeriesConfigurationForMeasurement(bool restrictToUInt32Values) -> void +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RequiresPersistentAggregation.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.RestrictToUInt32Values.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Clear() -> void +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Contains(Microsoft.ApplicationInsights.Metric metric) -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection.CopyTo(Microsoft.ApplicationInsights.Metric[] array, int arrayIndex) -> void +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Count.get -> int +Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetEnumerator() -> System.Collections.Generic.IEnumerator +Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetOrCreate(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.Metrics.MetricsCollection.IsReadOnly.get -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Remove(Microsoft.ApplicationInsights.Metric metric) -> bool +Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.TelemetryClient.GetMetric(string metricId, string dimension1Name, string dimension2Name, string dimension3Name, string dimension4Name, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metric +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleInstance = "TelemetryContext.Cloud.RoleInstance" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Cloud.RoleName = "TelemetryContext.Cloud.RoleName" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Component.Version = "TelemetryContext.Component.Version" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Id = "TelemetryContext.Device.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Language = "TelemetryContext.Device.Language" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Model = "TelemetryContext.Device.Model" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.NetworkType = "TelemetryContext.Device.NetworkType" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OemName = "TelemetryContext.Device.OemName" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.OperatingSystem = "TelemetryContext.Device.OperatingSystem" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.ScreenResolution = "TelemetryContext.Device.ScreenResolution" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Device.Type = "TelemetryContext.Device.Type" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.InstrumentationKey = "TelemetryContext.InstrumentationKey" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Location.Ip = "TelemetryContext.Location.Ip" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.CorrelationVector = "TelemetryContext.Operation.CorrelationVector" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Id = "TelemetryContext.Operation.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.Name = "TelemetryContext.Operation.Name" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.ParentId = "TelemetryContext.Operation.ParentId" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Operation.SyntheticSource = "TelemetryContext.Operation.SyntheticSource" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.Id = "TelemetryContext.Session.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.Session.IsFirst = "TelemetryContext.Session.IsFirst" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AccountId = "TelemetryContext.User.AccountId" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.AuthenticatedUserId = "TelemetryContext.User.AuthenticatedUserId" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.Id = "TelemetryContext.User.Id" -> string +const Microsoft.ApplicationInsights.MetricDimensionNames.TelemetryContext.User.UserAgent = "TelemetryContext.User.UserAgent" -> string +const Microsoft.ApplicationInsights.Metrics.MetricIdentifier.MaxDimensionsCount = 10 -> int +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Count = "Count" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Max = "Max" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Min = "Min" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindDataKeys.Sum = "Sum" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Count = "Count" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Max = "Max" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Min = "Min" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.StdDev = "StdDev" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindDataKeys.Sum = "Sum" -> string +const Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Constants.AggregateKindMoniker = "Microsoft.Azure.Measurement" -> string +override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(object obj) -> bool +override Microsoft.ApplicationInsights.Metrics.MetricConfiguration.GetHashCode() -> int +override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.Equals(object otherObj) -> bool +override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.GetHashCode() -> int +override Microsoft.ApplicationInsights.Metrics.MetricIdentifier.ToString() -> string +override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Equals(object obj) -> bool +override Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.GetHashCode() -> int +static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.Measurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets) -> Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement +static Microsoft.ApplicationInsights.MetricConfigurationsExtensions.SetDefaultForMeasurement(this Microsoft.ApplicationInsights.MetricConfigurations metricConfigPresets, Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement defaultConfigurationForMeasurement) -> void +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricConfigurationExtensions.Constants(this Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement measurementConfig) -> Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.AggregateKindConstants +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metric metric) -> Microsoft.ApplicationInsights.Metrics.MetricConfiguration +static Microsoft.ApplicationInsights.Metrics.Extensibility.MetricSeriesExtensions.GetConfiguration(this Microsoft.ApplicationInsights.Metrics.MetricSeries metricSeries) -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration +static Microsoft.ApplicationInsights.Metrics.Extensibility.TelemetryClientExtensions.GetMetricManager(this Microsoft.ApplicationInsights.TelemetryClient telemetryClient, Microsoft.ApplicationInsights.MetricAggregationScope aggregationScope) -> Microsoft.ApplicationInsights.Metrics.MetricManager +static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.get -> string +static Microsoft.ApplicationInsights.Metrics.MetricIdentifier.DefaultMetricNamespace.set -> void +static Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions.GetMetricManager(this Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration telemetryPipeline) -> Microsoft.ApplicationInsights.Metrics.MetricManager +static readonly Microsoft.ApplicationInsights.MetricConfigurations.Common -> Microsoft.ApplicationInsights.MetricConfigurations +virtual Microsoft.ApplicationInsights.Metrics.MetricConfiguration.Equals(Microsoft.ApplicationInsights.Metrics.MetricConfiguration other) -> bool Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry.SetParsedStack(System.Diagnostics.StackFrame[] frames) -> void \ No newline at end of file diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/MetricSeriesConfigurationForTestingAccumulatorBehavior.cs b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/MetricSeriesConfigurationForTestingAccumulatorBehavior.cs index ecefef78ff..5dca71d888 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/MetricSeriesConfigurationForTestingAccumulatorBehavior.cs +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/MetricSeriesConfigurationForTestingAccumulatorBehavior.cs @@ -6,7 +6,7 @@ namespace Microsoft.ApplicationInsights.Metrics.TestUtility { - internal class MetricSeriesConfigurationForTestingAccumulatorBehavior : IMetricSeriesConfiguration + public class MetricSeriesConfigurationForTestingAccumulatorBehavior : IMetricSeriesConfiguration { private readonly int _hashCode; diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/TestUtil.cs b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/TestUtil.cs index 2e4545a835..957fe2b462 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/TestUtil.cs +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/TestUtility/TestUtil.cs @@ -262,7 +262,7 @@ public static void ValidateSdkVersionString(string versionMoniker) /// a clean test run. /// /// - internal static void CompleteDefaultAggregationCycle(params MetricManager[] metricManagers) + public static void CompleteDefaultAggregationCycle(params MetricManager[] metricManagers) { if (metricManagers == null) { diff --git a/src/Microsoft.ApplicationInsights/Metric.cs b/src/Microsoft.ApplicationInsights/Metric.cs index 785224d432..5d5bd0a804 100644 --- a/src/Microsoft.ApplicationInsights/Metric.cs +++ b/src/Microsoft.ApplicationInsights/Metric.cs @@ -14,7 +14,7 @@ /// A Metric instance groups one or more MetricSeries that actually track and aggregate values along with /// naming and configuration attributes that identify the metric and define how it will be aggregated. ///
- internal sealed class Metric + public sealed class Metric { #pragma warning disable SA1401, SA1304, SA1307 // intended to be an internal, lower-case field internal readonly MetricConfiguration configuration; diff --git a/src/Microsoft.ApplicationInsights/MetricAggregationScope.cs b/src/Microsoft.ApplicationInsights/MetricAggregationScope.cs index 1a00ab496e..a6d35be430 100644 --- a/src/Microsoft.ApplicationInsights/MetricAggregationScope.cs +++ b/src/Microsoft.ApplicationInsights/MetricAggregationScope.cs @@ -9,7 +9,7 @@ ///
/// /// - internal enum MetricAggregationScope + public enum MetricAggregationScope { /// /// Metric values will be aggregated ACROSS all telemetry clients that belong to the same TelemetryConfiguration.
diff --git a/src/Microsoft.ApplicationInsights/MetricConfigurations.cs b/src/Microsoft.ApplicationInsights/MetricConfigurations.cs index 736e4bc415..41fc43d7f8 100644 --- a/src/Microsoft.ApplicationInsights/MetricConfigurations.cs +++ b/src/Microsoft.ApplicationInsights/MetricConfigurations.cs @@ -5,7 +5,7 @@ /// /// Static container for the most commonly used metric configurations. /// - internal sealed class MetricConfigurations + public sealed class MetricConfigurations { /// /// Groups extension methods that return pre-defined metric configurations and related constants. diff --git a/src/Microsoft.ApplicationInsights/MetricConfigurationsExtensions.cs b/src/Microsoft.ApplicationInsights/MetricConfigurationsExtensions.cs index ba45c7891b..3bfeea3019 100644 --- a/src/Microsoft.ApplicationInsights/MetricConfigurationsExtensions.cs +++ b/src/Microsoft.ApplicationInsights/MetricConfigurationsExtensions.cs @@ -10,7 +10,7 @@ /// Do not use directly. Instead, use: MetricConfigurations.Common.Xxxx(). /// [EditorBrowsable(EditorBrowsableState.Never)] - internal static class MetricConfigurationsExtensions + public static class MetricConfigurationsExtensions { private const int DefaultSeriesCountLimit = 1000; private const int DefaultValuesPerDimensionLimit = 100; diff --git a/src/Microsoft.ApplicationInsights/MetricDimensionNames.cs b/src/Microsoft.ApplicationInsights/MetricDimensionNames.cs index 51e98ade1d..eb3f51bd90 100644 --- a/src/Microsoft.ApplicationInsights/MetricDimensionNames.cs +++ b/src/Microsoft.ApplicationInsights/MetricDimensionNames.cs @@ -6,7 +6,7 @@ /// /// Contains constants used to refer to metric dimensions with special significance. /// - internal static class MetricDimensionNames + public static class MetricDimensionNames { /// ///

Contains constants used to refer to metric dimensions that will be mapped to fields diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricSeriesAggregator.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricSeriesAggregator.cs index abe7875311..e226547ccb 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricSeriesAggregator.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricSeriesAggregator.cs @@ -3,7 +3,7 @@ using System; ///

@ToDo: Complete documentation before stable release. {558} - internal interface IMetricSeriesAggregator + public interface IMetricSeriesAggregator { /// Gets @ToDo: Complete documentation before stable release. {969} MetricSeries DataSeries { get; } diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricTelemetryPipeline.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricTelemetryPipeline.cs index fcd768a77e..f103355021 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricTelemetryPipeline.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricTelemetryPipeline.cs @@ -8,7 +8,7 @@ /// Represents an eventual destination for metric telemetry. /// For example, an Application Insights telemetry pipeline, a file or some other ingestion point. ///
- internal interface IMetricTelemetryPipeline + public interface IMetricTelemetryPipeline { /// /// Send a metric aggregate to the eventual destination. diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricValueFilter.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricValueFilter.cs index 0056ab7d67..29181ab239 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricValueFilter.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/IMetricValueFilter.cs @@ -1,7 +1,7 @@ namespace Microsoft.ApplicationInsights.Metrics.Extensibility { /// @ToDo: Complete documentation before stable release. {265} - internal interface IMetricValueFilter + public interface IMetricValueFilter { /// @ToDo: Complete documentation before stable release. {919} /// @ToDo: Complete documentation before stable release. {526} diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregationCycleKind.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregationCycleKind.cs index 42f06939b5..1dca40ceef 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregationCycleKind.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricAggregationCycleKind.cs @@ -3,7 +3,7 @@ using System; /// @ToDo: Complete documentation before stable release. {447} - internal enum MetricAggregationCycleKind : Int32 + public enum MetricAggregationCycleKind : Int32 { /// /// The default aggregation cycle. diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricConfigurationExtensions.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricConfigurationExtensions.cs index dad6aaa7e0..4f07d68439 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricConfigurationExtensions.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricConfigurationExtensions.cs @@ -8,7 +8,7 @@ /// Do not use directly. Instead, use: MetricConfigurations.Common.Xxxx().Constants(). /// [EditorBrowsable(EditorBrowsableState.Never)] - internal static class MetricConfigurationExtensions + public static class MetricConfigurationExtensions { /// /// Groups constants used my metric aggregates produced by aggregators that are configured by metric configurations represented diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricExtensions.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricExtensions.cs index 446b6a38a8..6e25070a37 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricExtensions.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricExtensions.cs @@ -6,7 +6,7 @@ /// There are some APIs on Metric that we hide from Intellisense by making them internal until the ..Extensibility namespace is imported. /// This class exposes them. /// - internal static class MetricExtensions + public static class MetricExtensions { /// /// Exposes the Configuration property for users who imported the Microsoft.ApplicationInsights.Metrics.Extensibility namespace. diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricSeriesExtensions.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricSeriesExtensions.cs index 0c4aea68e9..13ac183d68 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricSeriesExtensions.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/MetricSeriesExtensions.cs @@ -7,7 +7,7 @@ /// There are some APIs on MetricSeries that we hide from Intellisense by making them internal until the ..Extensibility namespace is imported. /// This class exposes them. /// - internal static class MetricSeriesExtensions + public static class MetricSeriesExtensions { /// /// Exposes the Configuration property for users who imported the Microsoft.ApplicationInsights.Metrics.Extensibility namespace. diff --git a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/TelemetryClientExtensions.cs b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/TelemetryClientExtensions.cs index e07827ad34..f68cca4023 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Extensibility/TelemetryClientExtensions.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Extensibility/TelemetryClientExtensions.cs @@ -9,7 +9,7 @@ using static System.FormattableString; /// @ToDo: Complete documentation before stable release. {526} - internal static class TelemetryClientExtensions + public static class TelemetryClientExtensions { private static ConditionalWeakTable metricManagersForTelemetryClients; diff --git a/src/Microsoft.ApplicationInsights/Metrics/IMetricSeriesConfiguration.cs b/src/Microsoft.ApplicationInsights/Metrics/IMetricSeriesConfiguration.cs index 2d14e7fda5..ec4e135dc1 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/IMetricSeriesConfiguration.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/IMetricSeriesConfiguration.cs @@ -4,7 +4,7 @@ using Microsoft.ApplicationInsights.Metrics.Extensibility; /// @ToDo: Complete documentation before stable release. {510} - internal interface IMetricSeriesConfiguration : IEquatable + public interface IMetricSeriesConfiguration : IEquatable { /// Gets a value indicating whether @ToDo: Complete documentation before stable release. {016} bool RequiresPersistentAggregation { get; } diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricAggregate.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricAggregate.cs index ea8d0e554c..245f5db8b2 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricAggregate.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricAggregate.cs @@ -6,7 +6,7 @@ using System.Globalization; /// @ToDo: Complete documentation before stable release. {406} - internal class MetricAggregate + public class MetricAggregate { // We want to make the aggregate thread safe, but we expect no signiicant contention, so a simple lock will suffice. private readonly object updateLock = new object(); diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs index 89db6283d3..10150a596b 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs @@ -5,7 +5,7 @@ using static System.FormattableString; /// @ToDo: Complete documentation before stable release. {654} - internal class MetricConfiguration : IEquatable + public class MetricConfiguration : IEquatable { private readonly int hashCode; diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricConfigurationForMeasurement.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricConfigurationForMeasurement.cs index 123b58abd6..0033c03569 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricConfigurationForMeasurement.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricConfigurationForMeasurement.cs @@ -3,7 +3,7 @@ using System; /// @ToDo: Complete documentation before stable release. {218} - internal sealed class MetricConfigurationForMeasurement : MetricConfiguration + public sealed class MetricConfigurationForMeasurement : MetricConfiguration { /// @ToDo: Complete documentation before stable release. {928} /// @ToDo: Complete documentation before stable release. {466} diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs index fdc88fe35a..fe63663e40 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs @@ -8,7 +8,7 @@ using static System.FormattableString; /// @ToDo: Complete documentation before stable release. {085} - internal sealed class MetricIdentifier : IEquatable + public sealed class MetricIdentifier : IEquatable { /// @ToDo: Complete documentation before stable release. {369} public const int MaxDimensionsCount = 10; diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricManager.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricManager.cs index f5c8467eec..cc0be15cd9 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricManager.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricManager.cs @@ -7,7 +7,7 @@ using Microsoft.ApplicationInsights.Metrics.Extensibility; /// @ToDo: Complete documentation before stable release. {529} - internal sealed class MetricManager + public sealed class MetricManager { private readonly MetricAggregationManager aggregationManager; private readonly DefaultAggregationPeriodCycle aggregationCycle; diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricSeries.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricSeries.cs index b76dd68a54..9a04da74ba 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricSeries.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricSeries.cs @@ -17,7 +17,7 @@ /// Each Metric object contains a special zero-dimension series, plus, for multi-dimensional metrics, one /// series per unique dimension-values combination. /// - internal sealed class MetricSeries + public sealed class MetricSeries { #pragma warning disable SA1401, SA1304, SA1307 // intended to be an internal, lower-case field internal readonly IMetricSeriesConfiguration configuration; diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricSeriesConfigurationForMeasurement.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricSeriesConfigurationForMeasurement.cs index bab9b6f181..261a8ab398 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricSeriesConfigurationForMeasurement.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricSeriesConfigurationForMeasurement.cs @@ -6,7 +6,7 @@ using Microsoft.ApplicationInsights.Metrics.Extensibility; /// @ToDo: Complete documentation before stable release. {023} - internal class MetricSeriesConfigurationForMeasurement : IMetricSeriesConfiguration + public class MetricSeriesConfigurationForMeasurement : IMetricSeriesConfiguration { private readonly bool restrictToUInt32Values; private readonly int hashCode; diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricsCollection.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricsCollection.cs index cf06de2b95..fced0e01f0 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricsCollection.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricsCollection.cs @@ -8,7 +8,7 @@ using static System.FormattableString; /// @ToDo: Complete documentation before stable release. {092} - internal sealed class MetricsCollection : ICollection + public sealed class MetricsCollection : ICollection { private readonly MetricManager metricManager; private readonly ConcurrentDictionary metrics = new ConcurrentDictionary(); diff --git a/src/Microsoft.ApplicationInsights/Metrics/TelemetryConfigurationExtensions.cs b/src/Microsoft.ApplicationInsights/Metrics/TelemetryConfigurationExtensions.cs index 02ef5660c7..c5c0a55581 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/TelemetryConfigurationExtensions.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/TelemetryConfigurationExtensions.cs @@ -4,7 +4,7 @@ using Microsoft.ApplicationInsights.Extensibility; /// @ToDo: Complete documentation before stable release. {737} - internal static class TelemetryConfigurationExtensions + public static class TelemetryConfigurationExtensions { /// @ToDo: Complete documentation before stable release. {923} /// @ToDo: Complete documentation before stable release. {456} diff --git a/src/Microsoft.ApplicationInsights/TelemetryClient.cs b/src/Microsoft.ApplicationInsights/TelemetryClient.cs index dc41127eb2..e65cfe77ae 100644 --- a/src/Microsoft.ApplicationInsights/TelemetryClient.cs +++ b/src/Microsoft.ApplicationInsights/TelemetryClient.cs @@ -245,7 +245,7 @@ public void TrackMetric(string name, double value, IDictionary p /// you likely have a use case for event telemetry; see . /// /// The metric telemetry item. - // [EditorBrowsable(EditorBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] public void TrackMetric(MetricTelemetry telemetry) { if (telemetry == null) @@ -612,7 +612,7 @@ public void Flush() /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - internal Metric GetMetric( + public Metric GetMetric( string metricId) { return this.GetOrCreateMetric( @@ -642,7 +642,7 @@ internal Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - internal Metric GetMetric( + public Metric GetMetric( string metricId, MetricConfiguration metricConfiguration) { @@ -671,7 +671,7 @@ internal Metric GetMetric( /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. /// A instance that you can use to automatically aggregate and then sent metric data value. - internal Metric GetMetric( + public Metric GetMetric( string metricId, MetricConfiguration metricConfiguration, MetricAggregationScope aggregationScope) @@ -700,7 +700,7 @@ internal Metric GetMetric( /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. /// A instance that you can use to automatically aggregate and then sent metric data value. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name) { @@ -732,7 +732,7 @@ internal Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, MetricConfiguration metricConfiguration) @@ -762,7 +762,7 @@ internal Metric GetMetric( /// configuration used earlier. /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, MetricConfiguration metricConfiguration, @@ -793,7 +793,7 @@ internal Metric GetMetric( /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. /// A instance that you can use to automatically aggregate and then sent metric data value. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, string dimension2Name) @@ -827,7 +827,7 @@ internal Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -859,7 +859,7 @@ internal Metric GetMetric( /// configuration used earlier. /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -892,7 +892,7 @@ internal Metric GetMetric( /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. /// A instance that you can use to automatically aggregate and then sent metric data value. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -928,7 +928,7 @@ internal Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -962,7 +962,7 @@ internal Metric GetMetric( /// configuration used earlier. /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -997,7 +997,7 @@ internal Metric GetMetric( /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. /// A instance that you can use to automatically aggregate and then sent metric data value. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -1035,7 +1035,7 @@ internal Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -1071,7 +1071,7 @@ internal Metric GetMetric( /// configuration used earlier. /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. - internal Metric GetMetric( + public Metric GetMetric( string metricId, string dimension1Name, string dimension2Name, @@ -1101,7 +1101,7 @@ internal Metric GetMetric( /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. /// A instance that you can use to automatically aggregate and then sent metric data value. - internal Metric GetMetric( + public Metric GetMetric( MetricIdentifier metricIdentifier) { return this.GetOrCreateMetric( @@ -1129,7 +1129,7 @@ internal Metric GetMetric( /// and aggregation scope, but with a different configuration. When calling this method to get a previously /// created metric, you can simply avoid specifying any configuration (or specify null) to imply the /// configuration used earlier. - internal Metric GetMetric( + public Metric GetMetric( MetricIdentifier metricIdentifier, MetricConfiguration metricConfiguration) { @@ -1155,7 +1155,7 @@ internal Metric GetMetric( /// configuration used earlier. /// The scope across which the values for the metric are to be aggregated in memory. /// See for more info. - internal Metric GetMetric( + public Metric GetMetric( MetricIdentifier metricIdentifier, MetricConfiguration metricConfiguration, MetricAggregationScope aggregationScope) From 59188359accb42cef9242f0045f61c20c1142221 Mon Sep 17 00:00:00 2001 From: macrogreg Date: Wed, 9 May 2018 17:04:03 -0500 Subject: [PATCH 32/41] Metrics: RichPayloadEventSource now knows about MetricNamespace. Also, fix some merge issues around re-enabling metric APIs in this Beta. --- .../net45/PublicAPI.Unshipped.txt | 3 +++ .../net46/PublicAPI.Unshipped.txt | 3 +++ .../netstandard1.3/PublicAPI.Unshipped.txt | 3 +++ .../RichPayloadEventSourceTest.cs | 4 +--- .../DataContracts/MetricTelemetry.cs | 20 +++++++++---------- .../Implementation/JsonSerializer.cs | 5 +++-- ...RichPayloadEventSource.TelemetryHandler.cs | 4 ++++ 7 files changed, 27 insertions(+), 15 deletions(-) diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt index 25823b0593..a1444654c5 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt @@ -1,3 +1,6 @@ +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.get -> string +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.set -> void +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricTelemetry(string metricNamespace, string name, int count, double sum, double min, double max, double standardDeviation) -> void Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.get -> string Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.set -> void Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.get -> Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt index 25823b0593..a1444654c5 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt @@ -1,3 +1,6 @@ +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.get -> string +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.set -> void +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricTelemetry(string metricNamespace, string name, int count, double sum, double min, double max, double standardDeviation) -> void Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.get -> string Microsoft.ApplicationInsights.DataContracts.PageViewTelemetry.Id.set -> void Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.get -> Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt index 15ef95be9d..9b9988204e 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt @@ -1,3 +1,6 @@ +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.get -> string +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricNamespace.set -> void +Microsoft.ApplicationInsights.DataContracts.MetricTelemetry.MetricTelemetry(string metricNamespace, string name, int count, double sum, double min, double max, double standardDeviation) -> void Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.get -> Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.ApplicationIdProvider.set -> void Microsoft.ApplicationInsights.Extensibility.IApplicationIdProvider diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/Extensibility/Implementation/RichPayloadEventSourceTest.cs b/Test/Microsoft.ApplicationInsights.Test/Shared/Extensibility/Implementation/RichPayloadEventSourceTest.cs index 5d30dc4211..19273ddda7 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/Extensibility/Implementation/RichPayloadEventSourceTest.cs +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/Extensibility/Implementation/RichPayloadEventSourceTest.cs @@ -80,11 +80,9 @@ public void RichPayloadEventSourceMetricSentTest() { this.DoTracking( RichPayloadEventSource.Keywords.Metrics, -#pragma warning disable CS0618 - new MetricTelemetry("TestMetric", 1), + new MetricTelemetry("Test Metric Namespace", "Test Metric Name", 1, 42, 42, 42, 0), typeof(External.MetricData), (client, item) => { client.TrackMetric((MetricTelemetry)item); }); -#pragma warning restore CS0618 } /// diff --git a/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs b/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs index 345c6650a8..a936256af0 100644 --- a/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs +++ b/src/Microsoft.ApplicationInsights/DataContracts/MetricTelemetry.cs @@ -101,7 +101,7 @@ public MetricTelemetry( /// Minimum value taken during aggregation interval. /// Maximum of values taken during aggregation interval. /// Standard deviation of values taken during aggregation interval. - internal MetricTelemetry( + public MetricTelemetry( string metricNamespace, string name, int count, @@ -148,6 +148,15 @@ private MetricTelemetry(MetricTelemetry source) /// public TelemetryContext Context { get; } + /// + /// Gets or sets the name of the metric. + /// + public string MetricNamespace + { + get { return this.Metric.ns; } + set { this.Metric.ns = value; } + } + /// /// Gets or sets the name of the metric. /// @@ -221,15 +230,6 @@ public IDictionary Properties get { return this.Data.properties; } } - /// - /// Gets or sets the name of the metric. - /// - internal string MetricNamespace - { - get { return this.Metric.ns; } - set { this.Metric.ns = value; } - } - /// /// Deeply clones a object. /// diff --git a/src/Microsoft.ApplicationInsights/Extensibility/Implementation/JsonSerializer.cs b/src/Microsoft.ApplicationInsights/Extensibility/Implementation/JsonSerializer.cs index d0a0b1fd8b..3ba49f514c 100644 --- a/src/Microsoft.ApplicationInsights/Extensibility/Implementation/JsonSerializer.cs +++ b/src/Microsoft.ApplicationInsights/Extensibility/Implementation/JsonSerializer.cs @@ -412,9 +412,10 @@ private static void SerializeMetricTelemetry(MetricTelemetry metricTelemetry, Js writer.WriteStartArray(); writer.WriteStartObject(); - if (false == String.IsNullOrEmpty(metricTelemetry.Metric.ns)) + string metricNamespace = metricTelemetry.Metric.ns; + if (false == String.IsNullOrEmpty(metricNamespace)) { - writer.WriteProperty("ns", metricTelemetry.Metric.ns); + writer.WriteProperty("ns", metricNamespace); } writer.WriteProperty("name", metricTelemetry.Metric.name); diff --git a/src/Microsoft.ApplicationInsights/Extensibility/Implementation/RichPayloadEventSource.TelemetryHandler.cs b/src/Microsoft.ApplicationInsights/Extensibility/Implementation/RichPayloadEventSource.TelemetryHandler.cs index 5cfab35b72..4e68e7293d 100644 --- a/src/Microsoft.ApplicationInsights/Extensibility/Implementation/RichPayloadEventSource.TelemetryHandler.cs +++ b/src/Microsoft.ApplicationInsights/Extensibility/Implementation/RichPayloadEventSource.TelemetryHandler.cs @@ -430,6 +430,7 @@ private Action CreateHandlerForMetricTelemetry(EventSource eventSour new { // The properties and layout should be the same as DataPoint_types.cs + dummyDataPoint.ns, dummyDataPoint.name, dummyDataPoint.kind, dummyDataPoint.value, @@ -460,6 +461,7 @@ private Action CreateHandlerForMetricTelemetry(EventSource eventSour data.ver, metrics = data.metrics.Select(i => new { + i.ns, i.name, i.kind, i.value, @@ -595,6 +597,7 @@ private Action CreateHandlerForPerformanceCounterTelemetry(EventSour new { // The properties and layout should be the same as DataPoint_types.cs + dummyDataPoint.ns, dummyDataPoint.name, dummyDataPoint.kind, dummyDataPoint.value, @@ -627,6 +630,7 @@ private Action CreateHandlerForPerformanceCounterTelemetry(EventSour data.ver, metrics = data.metrics.Select(i => new { + i.ns, i.name, i.kind, i.value, From 9e0da339839ea4f11ac25860ec46fe42f41cacbd Mon Sep 17 00:00:00 2001 From: Claudiu Guiman Date: Mon, 14 May 2018 09:42:07 -0700 Subject: [PATCH 33/41] Add netstandard2.0 target for ServerTelemetryChannel and remove Newtonsoft.Json dependency (#800) --- Common.props | 7 ++- .../netstandard2.0/PublicAPI.Shipped.txt | 59 +++++++++++++++++++ .../netstandard2.0/PublicAPI.Unshipped.txt | 39 ++++++++++++ .../ApplicationFolderProvider.cs | 4 +- .../Implementation/BackendResponse.cs | 4 +- .../Implementation/BackoffLogicManager.cs | 20 +++++-- .../Implementation/TelemetryBuffer.cs | 2 +- .../TelemetryChannelEventSource.cs | 2 +- .../Implementation/WebApplicationLifecycle.cs | 2 +- .../ServerTelemetryChannel.cs | 4 +- .../TelemetryChannel.csproj | 20 ++++++- 11 files changed, 144 insertions(+), 19 deletions(-) create mode 100644 PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Shipped.txt create mode 100644 PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Unshipped.txt diff --git a/Common.props b/Common.props index cc4a49956d..30d946a42d 100644 --- a/Common.props +++ b/Common.props @@ -21,11 +21,14 @@ $([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'ApplicationInsightsSDKRules.ruleset'))\ApplicationInsightsSDKRules.ruleset + + true + true + + pdbonly true - true - true true $(DefineConstants);TRACE diff --git a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Shipped.txt b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Shipped.txt new file mode 100644 index 0000000000..7e7bf0a310 --- /dev/null +++ b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Shipped.txt @@ -0,0 +1,59 @@ +Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.AdaptiveSamplingTelemetryProcessor(Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.AdaptiveSamplingTelemetryProcessor(Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.Dispose() -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.EvaluationInterval.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.EvaluationInterval.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.ExcludedTypes.get -> string +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.ExcludedTypes.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.IncludedTypes.get -> string +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.IncludedTypes.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.InitialSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.InitialSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.MaxSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.MaxSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.MaxTelemetryItemsPerSecond.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.MaxTelemetryItemsPerSecond.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.MinSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.MinSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.MovingAverageRatio.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.MovingAverageRatio.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.Process(Microsoft.ApplicationInsights.Channel.ITelemetry item) -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.SamplingPercentageDecreaseTimeout.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.SamplingPercentageDecreaseTimeout.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.SamplingPercentageIncreaseTimeout.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.SamplingPercentageIncreaseTimeout.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageEstimatorSettings() -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.ExcludedTypes.get -> string +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.ExcludedTypes.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.IncludedTypes.get -> string +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.IncludedTypes.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.Process(Microsoft.ApplicationInsights.Channel.ITelemetry item) -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.SamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.SamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.SamplingTelemetryProcessor(Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void +static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder +static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, double maxTelemetryItemsPerSecond, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder +static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder +static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, double samplingPercentage, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder +virtual Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.Dispose(bool disposing) -> void \ No newline at end of file diff --git a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Unshipped.txt new file mode 100644 index 0000000000..bf9bf9ea8c --- /dev/null +++ b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Unshipped.txt @@ -0,0 +1,39 @@ +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.ApplicationStoppingEventArgs +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.ApplicationStoppingEventArgs.ApplicationStoppingEventArgs(System.Func, System.Threading.Tasks.Task> asyncMethodRunner) -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.ApplicationStoppingEventArgs.Run(System.Func asyncMethod) -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.IApplicationLifecycle +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.IApplicationLifecycle.Started -> System.Action +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.IApplicationLifecycle.Stopping -> System.EventHandler +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.DefaultBackoffEnabledReportingInterval.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.DefaultBackoffEnabledReportingInterval.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.DeveloperMode.get -> bool? +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.DeveloperMode.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.Dispose() -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.EnableLocalThrottling.get -> bool +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.EnableLocalThrottling.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.EndpointAddress.get -> string +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.EndpointAddress.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.Flush() -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.Initialize(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration configuration) -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.LocalThrottleLimit.get -> int +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.LocalThrottleLimit.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.LocalThrottleWindow.get -> int +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.LocalThrottleWindow.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxBacklogSize.get -> int +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxBacklogSize.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxTelemetryBufferCapacity.get -> int +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxTelemetryBufferCapacity.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxTelemetryBufferDelay.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxTelemetryBufferDelay.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxTransmissionBufferCapacity.get -> int +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxTransmissionBufferCapacity.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxTransmissionSenderCapacity.get -> int +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxTransmissionSenderCapacity.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxTransmissionStorageCapacity.get -> long +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxTransmissionStorageCapacity.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.Send(Microsoft.ApplicationInsights.Channel.ITelemetry item) -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.ServerTelemetryChannel() -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.StorageFolder.get -> string +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.StorageFolder.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings \ No newline at end of file diff --git a/src/ServerTelemetryChannel/Implementation/ApplicationFolderProvider.cs b/src/ServerTelemetryChannel/Implementation/ApplicationFolderProvider.cs index b485b297a8..539927a0ae 100644 --- a/src/ServerTelemetryChannel/Implementation/ApplicationFolderProvider.cs +++ b/src/ServerTelemetryChannel/Implementation/ApplicationFolderProvider.cs @@ -134,7 +134,7 @@ private static string GetSHA256Hash(string input) private static SHA256 CreateSHA256() { -#if NETSTANDARD1_3 +#if NETSTANDARD return SHA256.Create(); #else return new SHA256CryptoServiceProvider(); @@ -208,7 +208,7 @@ private DirectoryInfo CreateTelemetrySubdirectory(DirectoryInfo root) { string baseDirectory = string.Empty; -#if !NETSTANDARD1_3 +#if !NETSTANDARD baseDirectory = AppDomain.CurrentDomain.BaseDirectory; #else baseDirectory = AppContext.BaseDirectory; diff --git a/src/ServerTelemetryChannel/Implementation/BackendResponse.cs b/src/ServerTelemetryChannel/Implementation/BackendResponse.cs index 74825439e7..5470dd76b1 100644 --- a/src/ServerTelemetryChannel/Implementation/BackendResponse.cs +++ b/src/ServerTelemetryChannel/Implementation/BackendResponse.cs @@ -5,10 +5,10 @@ [DataContract] internal class BackendResponse { - [DataMember(Name = "itemsReceived")] + [DataMember(Name = "itemsReceived", IsRequired=true)] public int ItemsReceived { get; set; } - [DataMember(Name = "itemsAccepted")] + [DataMember(Name = "itemsAccepted", IsRequired = true)] public int ItemsAccepted { get; set; } [DataMember(Name = "errors")] diff --git a/src/ServerTelemetryChannel/Implementation/BackoffLogicManager.cs b/src/ServerTelemetryChannel/Implementation/BackoffLogicManager.cs index b44c2500a9..117643ca66 100644 --- a/src/ServerTelemetryChannel/Implementation/BackoffLogicManager.cs +++ b/src/ServerTelemetryChannel/Implementation/BackoffLogicManager.cs @@ -1,10 +1,13 @@ namespace Microsoft.ApplicationInsights.Channel.Implementation { using System; + using System.Runtime.Serialization; #if NETSTANDARD1_3 using Newtonsoft.Json; #else - using System.Web.Script.Serialization; + using System.IO; + using System.Runtime.Serialization.Json; + using System.Text; #endif using Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation; @@ -17,8 +20,8 @@ internal class BackoffLogicManager private static readonly Random Random = new Random(); -#if !NETSTANDARD1_3 - private static readonly JavaScriptSerializer Serializer = new JavaScriptSerializer(); +#if !NETSTANDARD1_3 + private static readonly DataContractJsonSerializer Serializer = new DataContractJsonSerializer(typeof(BackendResponse)); #endif private readonly object lockConsecutiveErrors = new object(); @@ -77,7 +80,10 @@ public BackendResponse GetBackendResponse(string responseContent) #if NETSTANDARD1_3 backendResponse = JsonConvert.DeserializeObject(responseContent); #else - backendResponse = Serializer.Deserialize(responseContent); + using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(responseContent))) + { + backendResponse = Serializer.ReadObject(ms) as BackendResponse; + } #endif } } @@ -91,6 +97,11 @@ public BackendResponse GetBackendResponse(string responseContent) TelemetryChannelEventSource.Log.BreezeResponseWasNotParsedWarning(exp.Message, responseContent); backendResponse = null; } + catch (SerializationException exp) + { + TelemetryChannelEventSource.Log.BreezeResponseWasNotParsedWarning(exp.Message, responseContent); + backendResponse = null; + } #if NETSTANDARD1_3 catch (JsonReaderException exp) { @@ -103,7 +114,6 @@ public BackendResponse GetBackendResponse(string responseContent) backendResponse = null; } #endif - return backendResponse; } diff --git a/src/ServerTelemetryChannel/Implementation/TelemetryBuffer.cs b/src/ServerTelemetryChannel/Implementation/TelemetryBuffer.cs index 51d65c3d29..bc2d84977b 100644 --- a/src/ServerTelemetryChannel/Implementation/TelemetryBuffer.cs +++ b/src/ServerTelemetryChannel/Implementation/TelemetryBuffer.cs @@ -32,7 +32,7 @@ public TelemetryBuffer(TelemetrySerializer serializer, IApplicationLifecycle app throw new ArgumentNullException("serializer"); } -#if !NETSTANDARD1_3 +#if !NETSTANDARD // We don't have implementation for IApplicationLifecycle for .NET Core if (applicationLifecycle == null) { diff --git a/src/ServerTelemetryChannel/Implementation/TelemetryChannelEventSource.cs b/src/ServerTelemetryChannel/Implementation/TelemetryChannelEventSource.cs index 47c536cd91..21d6cce580 100644 --- a/src/ServerTelemetryChannel/Implementation/TelemetryChannelEventSource.cs +++ b/src/ServerTelemetryChannel/Implementation/TelemetryChannelEventSource.cs @@ -499,7 +499,7 @@ private string GetApplicationName() string name; try { -#if !NETSTANDARD1_3 +#if !NETSTANDARD name = AppDomain.CurrentDomain.FriendlyName; #else name = string.Empty; diff --git a/src/ServerTelemetryChannel/Implementation/WebApplicationLifecycle.cs b/src/ServerTelemetryChannel/Implementation/WebApplicationLifecycle.cs index 783f460f14..754dceeddc 100644 --- a/src/ServerTelemetryChannel/Implementation/WebApplicationLifecycle.cs +++ b/src/ServerTelemetryChannel/Implementation/WebApplicationLifecycle.cs @@ -1,4 +1,4 @@ -#if !NETSTANDARD1_3 +#if !NETSTANDARD namespace Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation { using System; diff --git a/src/ServerTelemetryChannel/ServerTelemetryChannel.cs b/src/ServerTelemetryChannel/ServerTelemetryChannel.cs index fdfda5b528..b413c479a7 100644 --- a/src/ServerTelemetryChannel/ServerTelemetryChannel.cs +++ b/src/ServerTelemetryChannel/ServerTelemetryChannel.cs @@ -26,7 +26,7 @@ public sealed class ServerTelemetryChannel : ITelemetryChannel, ITelemetryModule /// /// Initializes a new instance of the class. /// -#if !NETSTANDARD1_3 +#if !NETSTANDARD public ServerTelemetryChannel() : this(new Network(), new WebApplicationLifecycle()) #else // TODO: IApplicationLifecycle implemenation for netcore need to be written instead of null here. @@ -39,7 +39,7 @@ internal ServerTelemetryChannel(INetwork network, IApplicationLifecycle applicat { var policies = new TransmissionPolicy[] { -#if !NETSTANDARD1_3 +#if !NETSTANDARD // We don't have implementation for IApplicationLifecycle for .NET Core new ApplicationLifecycleTransmissionPolicy(applicationLifecycle), #endif diff --git a/src/ServerTelemetryChannel/TelemetryChannel.csproj b/src/ServerTelemetryChannel/TelemetryChannel.csproj index 5c02759a95..eb3b265d4e 100644 --- a/src/ServerTelemetryChannel/TelemetryChannel.csproj +++ b/src/ServerTelemetryChannel/TelemetryChannel.csproj @@ -11,8 +11,8 @@ false false - net45;netstandard1.3 - netstandard1.3 + net45;netstandard1.3;netstandard2.0 + netstandard1.3;netstandard2.0 True @@ -41,9 +41,20 @@ TRACE;DEBUG;NETCORE;NETSTANDARD1_3 + TRACE;DEBUG;NETCORE;NETSTANDARD2_0 TRACE;DEBUG;NET45 + + $(DefineConstants);NETSTANDARD + $(DefineConstants);NETSTANDARD + + + + True + True + + All @@ -87,7 +98,7 @@ - + @@ -97,6 +108,9 @@ + + + From 731c5d3206dc071d286d52ece2cfcbdc7fccaef1 Mon Sep 17 00:00:00 2001 From: Claudiu Guiman Date: Mon, 14 May 2018 14:28:43 -0700 Subject: [PATCH 34/41] Add TelemetryChannel tests for netcoreapp2.0 --- .vsts/linux-build.yml | 14 ++++- Microsoft.ApplicationInsights.sln | 23 ++++++++ .../ApplicationInsightsTypes.csproj | 4 +- ...ApplicationInsights.Shared.Tests.projitems | 6 ++- ...licationInsights.netcoreapp11.Tests.csproj | 1 + ...TelemetryChannel.netcoreapp11.Tests.csproj | 1 + ...TelemetryChannel.netcoreapp20.Tests.csproj | 52 +++++++++++++++++++ .../Implementation/BackoffLogicManagerTest.cs | 2 +- .../Implementation/FileSystemTest.cs | 2 +- .../Implementation/PlatformFileTest.cs | 2 +- .../Implementation/PlatformFolderTest.cs | 2 +- .../Implementation/TelemetryBufferTest.cs | 2 +- .../ServerTelemetryChannelTest.cs | 2 +- .../Shared.Tests/Shared.Tests.projitems | 8 ++- Test/TestFramework/Shared/EventSourceTest.cs | 2 +- .../Properties/AssemblyInfo.cs | 1 + src/ServerTelemetryChannel/AssemblyInfo.cs | 1 + 17 files changed, 112 insertions(+), 13 deletions(-) create mode 100644 Test/ServerTelemetryChannel.Test/NetCore20.Tests/TelemetryChannel.netcoreapp20.Tests.csproj diff --git a/.vsts/linux-build.yml b/.vsts/linux-build.yml index 3c36010d41..da01572659 100644 --- a/.vsts/linux-build.yml +++ b/.vsts/linux-build.yml @@ -3,7 +3,7 @@ queue: steps: - task: DotNetCoreInstaller@0 inputs: - version: "1.1.5" + version: "2.0.3" - task: DotNetCoreCLI@1 inputs: @@ -19,7 +19,17 @@ steps: - task: DotNetCoreCLI@1 inputs: command: "test" - projects: "Test/**/*netcore*.csproj" + projects: "Test/**/*netcoreapp20*.csproj" + arguments: "--configuration Release --filter TestCategory!=WindowsOnly" + +- task: DotNetCoreInstaller@0 + inputs: + version: "1.1.5" + +- task: DotNetCoreCLI@1 + inputs: + command: "test" + projects: "Test/**/*netcoreapp11*.csproj" arguments: "--configuration Release --filter TestCategory!=WindowsOnly" - task: PublishTestResults@2 diff --git a/Microsoft.ApplicationInsights.sln b/Microsoft.ApplicationInsights.sln index 20165180fc..7eea38ca81 100644 --- a/Microsoft.ApplicationInsights.sln +++ b/Microsoft.ApplicationInsights.sln @@ -59,6 +59,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ApplicationInsigh EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TelemetryChannel.netcoreapp11.Tests", "Test\ServerTelemetryChannel.Test\NetCore.Tests\TelemetryChannel.netcoreapp11.Tests.csproj", "{3D0DEB59-1297-44F6-9D0C-D075E98A85F8}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TelemetryChannel.netcoreapp20.Tests", "Test\ServerTelemetryChannel.Test\NetCore20.Tests\TelemetryChannel.netcoreapp20.Tests.csproj", "{14FA551E-886A-4D1B-B716-567EB4954C8E}" +EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution Test\Microsoft.ApplicationInsights.Test\Shared\Microsoft.ApplicationInsights.Shared.Tests.projitems*{0927e682-4a56-45b6-8125-94fa066b2f57}*SharedItemsImports = 4 @@ -284,6 +286,26 @@ Global {3D0DEB59-1297-44F6-9D0C-D075E98A85F8}.Release|x64.Build.0 = Release|Any CPU {3D0DEB59-1297-44F6-9D0C-D075E98A85F8}.Release|x86.ActiveCfg = Release|Any CPU {3D0DEB59-1297-44F6-9D0C-D075E98A85F8}.Release|x86.Build.0 = Release|Any CPU + {14FA551E-886A-4D1B-B716-567EB4954C8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {14FA551E-886A-4D1B-B716-567EB4954C8E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {14FA551E-886A-4D1B-B716-567EB4954C8E}.Debug|ARM.ActiveCfg = Debug|Any CPU + {14FA551E-886A-4D1B-B716-567EB4954C8E}.Debug|ARM.Build.0 = Debug|Any CPU + {14FA551E-886A-4D1B-B716-567EB4954C8E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {14FA551E-886A-4D1B-B716-567EB4954C8E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {14FA551E-886A-4D1B-B716-567EB4954C8E}.Debug|x64.ActiveCfg = Debug|Any CPU + {14FA551E-886A-4D1B-B716-567EB4954C8E}.Debug|x64.Build.0 = Debug|Any CPU + {14FA551E-886A-4D1B-B716-567EB4954C8E}.Debug|x86.ActiveCfg = Debug|Any CPU + {14FA551E-886A-4D1B-B716-567EB4954C8E}.Debug|x86.Build.0 = Debug|Any CPU + {14FA551E-886A-4D1B-B716-567EB4954C8E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {14FA551E-886A-4D1B-B716-567EB4954C8E}.Release|Any CPU.Build.0 = Release|Any CPU + {14FA551E-886A-4D1B-B716-567EB4954C8E}.Release|ARM.ActiveCfg = Release|Any CPU + {14FA551E-886A-4D1B-B716-567EB4954C8E}.Release|ARM.Build.0 = Release|Any CPU + {14FA551E-886A-4D1B-B716-567EB4954C8E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {14FA551E-886A-4D1B-B716-567EB4954C8E}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {14FA551E-886A-4D1B-B716-567EB4954C8E}.Release|x64.ActiveCfg = Release|Any CPU + {14FA551E-886A-4D1B-B716-567EB4954C8E}.Release|x64.Build.0 = Release|Any CPU + {14FA551E-886A-4D1B-B716-567EB4954C8E}.Release|x86.ActiveCfg = Release|Any CPU + {14FA551E-886A-4D1B-B716-567EB4954C8E}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -302,6 +324,7 @@ Global {3273D899-D9B3-44FE-B3AB-578E18B2EF90} = {E7B0521E-DA4D-40EA-B55D-ADCBDA69027C} {178F87BF-CCCA-48DE-B171-4482E8CBD060} = {C2FEEDE5-8CAE-41A4-8932-42D284A86EA7} {3D0DEB59-1297-44F6-9D0C-D075E98A85F8} = {A61B048F-ECEA-4BED-A2ED-22834E7D4DFB} + {14FA551E-886A-4D1B-B716-567EB4954C8E} = {A61B048F-ECEA-4BED-A2ED-22834E7D4DFB} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {F70D4C7C-02FB-4EE9-875A-A2F95EC90EAC} diff --git a/Test/Microsoft.ApplicationInsights.Test/ApplicationInsightsTypes/ApplicationInsightsTypes.csproj b/Test/Microsoft.ApplicationInsights.Test/ApplicationInsightsTypes/ApplicationInsightsTypes.csproj index da041c5375..5f1778287c 100644 --- a/Test/Microsoft.ApplicationInsights.Test/ApplicationInsightsTypes/ApplicationInsightsTypes.csproj +++ b/Test/Microsoft.ApplicationInsights.Test/ApplicationInsightsTypes/ApplicationInsightsTypes.csproj @@ -10,8 +10,8 @@ false false - net45;netstandard1.3 - netstandard1.3 + net45;netstandard1.3;netstandard2.0 + netstandard1.3;netstandard2.0 {4B0BC3B7-C7FC-4333-9E28-5790D9153F07} ApplicationInsightsTypes diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/Microsoft.ApplicationInsights.Shared.Tests.projitems b/Test/Microsoft.ApplicationInsights.Test/Shared/Microsoft.ApplicationInsights.Shared.Tests.projitems index 9b2ad308f2..3f7179a47d 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/Microsoft.ApplicationInsights.Shared.Tests.projitems +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/Microsoft.ApplicationInsights.Shared.Tests.projitems @@ -119,7 +119,11 @@ - + + True + True + + diff --git a/Test/Microsoft.ApplicationInsights.Test/netcoreapp11/Microsoft.ApplicationInsights.netcoreapp11.Tests.csproj b/Test/Microsoft.ApplicationInsights.Test/netcoreapp11/Microsoft.ApplicationInsights.netcoreapp11.Tests.csproj index a30f167501..50765a7f62 100644 --- a/Test/Microsoft.ApplicationInsights.Test/netcoreapp11/Microsoft.ApplicationInsights.netcoreapp11.Tests.csproj +++ b/Test/Microsoft.ApplicationInsights.Test/netcoreapp11/Microsoft.ApplicationInsights.netcoreapp11.Tests.csproj @@ -12,6 +12,7 @@ netcoreapp1.1 pdbonly true + $(DefineConstants);NETCOREAPP diff --git a/Test/ServerTelemetryChannel.Test/NetCore.Tests/TelemetryChannel.netcoreapp11.Tests.csproj b/Test/ServerTelemetryChannel.Test/NetCore.Tests/TelemetryChannel.netcoreapp11.Tests.csproj index 8848a85878..41ce7352c2 100644 --- a/Test/ServerTelemetryChannel.Test/NetCore.Tests/TelemetryChannel.netcoreapp11.Tests.csproj +++ b/Test/ServerTelemetryChannel.Test/NetCore.Tests/TelemetryChannel.netcoreapp11.Tests.csproj @@ -14,6 +14,7 @@ Microsoft.ApplicationInsights.TelemetryChannel.NetCore.Tests pdbonly true + $(DefineConstants);NETCOREAPP diff --git a/Test/ServerTelemetryChannel.Test/NetCore20.Tests/TelemetryChannel.netcoreapp20.Tests.csproj b/Test/ServerTelemetryChannel.Test/NetCore20.Tests/TelemetryChannel.netcoreapp20.Tests.csproj new file mode 100644 index 0000000000..204d457bd0 --- /dev/null +++ b/Test/ServerTelemetryChannel.Test/NetCore20.Tests/TelemetryChannel.netcoreapp20.Tests.csproj @@ -0,0 +1,52 @@ + + + + + {14FA551E-886A-4D1B-B716-567EB4954C8E} + false + false + false + false + false + false + false + false + netcoreapp2.0 + Microsoft.ApplicationInsights.TelemetryChannel.NetCore20.Tests + pdbonly + true + $(DefineConstants);NETCOREAPP + + + + + + + + + + + + + + + + + + + + + + All + + + + + + + + + + + + diff --git a/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/BackoffLogicManagerTest.cs b/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/BackoffLogicManagerTest.cs index afb70761c1..6224161e90 100644 --- a/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/BackoffLogicManagerTest.cs +++ b/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/BackoffLogicManagerTest.cs @@ -103,7 +103,7 @@ public void FirstErrorDelayIsSameAsSlotDelay() [TestMethod] public void UpperBoundOfDelayIsMaxDelay() { -#if !NETCOREAPP1_1 +#if !NETCOREAPP var manager = new BackoffLogicManager(TimeSpan.Zero, TimeSpan.Zero); PrivateObject wrapper = new PrivateObject(manager); diff --git a/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/FileSystemTest.cs b/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/FileSystemTest.cs index e6df125f1f..834daa327f 100644 --- a/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/FileSystemTest.cs +++ b/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/FileSystemTest.cs @@ -1,6 +1,6 @@ namespace Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation { -#if !NETCOREAPP1_1 +#if !NETCOREAPP using System; using System.IO; using System.Linq; diff --git a/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/PlatformFileTest.cs b/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/PlatformFileTest.cs index a9b4a755af..79db965c1c 100644 --- a/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/PlatformFileTest.cs +++ b/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/PlatformFileTest.cs @@ -1,6 +1,6 @@ namespace Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation { -#if !NETCOREAPP1_1 +#if !NETCOREAPP using System; using System.IO; using System.Security.AccessControl; diff --git a/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/PlatformFolderTest.cs b/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/PlatformFolderTest.cs index f5a4324809..4d852c36c2 100644 --- a/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/PlatformFolderTest.cs +++ b/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/PlatformFolderTest.cs @@ -1,6 +1,6 @@ namespace Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation { -#if !NETCOREAPP1_1 +#if !NETCOREAPP using System; using System.Collections.Generic; using System.IO; diff --git a/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/TelemetryBufferTest.cs b/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/TelemetryBufferTest.cs index fe78fb1347..0d85fd654f 100644 --- a/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/TelemetryBufferTest.cs +++ b/Test/ServerTelemetryChannel.Test/Shared.Tests/Implementation/TelemetryBufferTest.cs @@ -32,7 +32,7 @@ public void ConstructorThrowsArgumentNullExceptionWhenSerializerIsNull() AssertEx.Throws(() => new TelemetryBuffer(null, new StubApplicationLifecycle())); } -#if !NETCOREAPP1_1 +#if !NETCOREAPP [TestMethod] public void ConstructorThrowsArgumentNullExceptionWhenApplicationLifecycleIsNull() { diff --git a/Test/ServerTelemetryChannel.Test/Shared.Tests/ServerTelemetryChannelTest.cs b/Test/ServerTelemetryChannel.Test/Shared.Tests/ServerTelemetryChannelTest.cs index c085b2c8b4..18d7d21b40 100644 --- a/Test/ServerTelemetryChannel.Test/Shared.Tests/ServerTelemetryChannelTest.cs +++ b/Test/ServerTelemetryChannel.Test/Shared.Tests/ServerTelemetryChannelTest.cs @@ -412,7 +412,7 @@ public void SendWillBeMarkedAsInternalOperation() bool wasCalled = false; var channel = new ServerTelemetryChannel(); channel.TelemetrySerializer = new TelemetrySerializerStub(channel.Transmitter) { WasCalled = (called) => { wasCalled = called; } }; - #if NETCOREAPP1_1 +#if NETCOREAPP channel.TelemetryBuffer = new TelemetryChannel.Implementation.TelemetryBuffer(channel.TelemetrySerializer, null); #else channel.TelemetryBuffer = new TelemetryChannel.Implementation.TelemetryBuffer(channel.TelemetrySerializer, new WebApplicationLifecycle()); diff --git a/Test/ServerTelemetryChannel.Test/Shared.Tests/Shared.Tests.projitems b/Test/ServerTelemetryChannel.Test/Shared.Tests/Shared.Tests.projitems index 589f5d7fd5..bd4a771e36 100644 --- a/Test/ServerTelemetryChannel.Test/Shared.Tests/Shared.Tests.projitems +++ b/Test/ServerTelemetryChannel.Test/Shared.Tests/Shared.Tests.projitems @@ -56,7 +56,13 @@ + - + + True + True + + + \ No newline at end of file diff --git a/Test/TestFramework/Shared/EventSourceTest.cs b/Test/TestFramework/Shared/EventSourceTest.cs index 8922516e36..cdc17be513 100644 --- a/Test/TestFramework/Shared/EventSourceTest.cs +++ b/Test/TestFramework/Shared/EventSourceTest.cs @@ -93,7 +93,7 @@ private static void VerifyEventMessage(MethodInfo eventMethod, EventWrittenEvent private static void VerifyEventApplicationName(MethodInfo eventMethod, EventWrittenEventArgs actualEvent) { -#if !NETSTANDARD1_3 && !NETCOREAPP1_1 +#if !NETCOREAPP string expectedApplicationName = AppDomain.CurrentDomain.FriendlyName; #else string expectedApplicationName = ""; diff --git a/src/Microsoft.ApplicationInsights/Properties/AssemblyInfo.cs b/src/Microsoft.ApplicationInsights/Properties/AssemblyInfo.cs index 9516c711aa..dc9ad46d76 100644 --- a/src/Microsoft.ApplicationInsights/Properties/AssemblyInfo.cs +++ b/src/Microsoft.ApplicationInsights/Properties/AssemblyInfo.cs @@ -11,6 +11,7 @@ [assembly: InternalsVisibleTo("Microsoft.ApplicationInsights.TelemetryChannel.Net45.Tests" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("Microsoft.ApplicationInsights.TelemetryChannel.NetCore.Tests" + AssemblyInfo.PublicKey)] +[assembly: InternalsVisibleTo("Microsoft.ApplicationInsights.TelemetryChannel.NetCore20.Tests" + AssemblyInfo.PublicKey)] // Assembly dynamically generated by Moq in unit tests [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2" + AssemblyInfo.MoqPublicKey)] diff --git a/src/ServerTelemetryChannel/AssemblyInfo.cs b/src/ServerTelemetryChannel/AssemblyInfo.cs index 1fb76f3ac7..27f7ecffaf 100644 --- a/src/ServerTelemetryChannel/AssemblyInfo.cs +++ b/src/ServerTelemetryChannel/AssemblyInfo.cs @@ -10,6 +10,7 @@ [assembly: InternalsVisibleTo("Microsoft.ApplicationInsights.TelemetryChannel.Net45.Tests" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("Microsoft.ApplicationInsights.TelemetryChannel.NetCore.Tests" + AssemblyInfo.PublicKey)] +[assembly: InternalsVisibleTo("Microsoft.ApplicationInsights.TelemetryChannel.NetCore20.Tests" + AssemblyInfo.PublicKey)] // Assembly dynamically generated by Moq in unit tests [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2" + AssemblyInfo.MoqPublicKey)] From 606845fd7e0a579c753df02f706efd2e1ffb29f5 Mon Sep 17 00:00:00 2001 From: Claudiu Guiman Date: Tue, 15 May 2018 11:36:20 -0700 Subject: [PATCH 35/41] Update changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a7764aefc..056f45b609 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ This changelog will be used to generate documentation on [release notes page](ht - [Extend the Beta period for Metrics Pre-Aggregation features shipped in 2.6.0-beta3.](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/785) - [New: Added TryGetOperationDetail to DependencyTelemetry to facilitate advanced ITelemetryInitializer scenarios. Allows ITelemetryInitializer implementations to specify fields that would otherwise not be sent automatically to the backend.] (https://github.com/Microsoft/ApplicationInsights-dotnet-server/issues/900) +## Version 2.6.2 +- [Add netstandard2.0 target for TelemetryChannel which doesn't have a dependency on Newtonsoft.Json ](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/800) + ## Version 2.6.0 - [Fix: changed namespace SamplingPercentageEstimatorSettings](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/727) - [Extend the Beta period for Metrics Pre-Aggregation features shipped in 2.6.0-beta3.](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/785) From c8a5d0b3cd6381b82bd1f94a784b87c0e107eb4a Mon Sep 17 00:00:00 2001 From: MS-TimothyMothra Date: Thu, 17 May 2018 16:01:02 -0700 Subject: [PATCH 36/41] revert namespace change (#805) * revert namespace change * update changelog * re-add duplicate class for backwards compat --- CHANGELOG.md | 6 +- .../net45/PublicAPI.Shipped.txt | 40 ++-- .../net45/PublicAPI.Unshipped.txt | 19 +- .../netstandard1.3/PublicAPI.Shipped.txt | 40 ++-- .../netstandard1.3/PublicAPI.Unshipped.txt | 19 +- .../netstandard2.0/PublicAPI.Shipped.txt | 40 ++-- .../netstandard2.0/PublicAPI.Unshipped.txt | 19 +- .../AdaptiveSamplingTelemetryProcessorTest.cs | 9 +- .../AdaptiveSamplingTelemetryProcessor.cs | 9 +- .../SamplingPercentageEstimatorSettings.cs | 193 +++++++++++++++++- .../SamplingPercentageEstimatorSettings.cs | 4 +- ...ngPercentageEstimatorTelemetryProcessor.cs | 9 +- ...elemetryProcessorChainBuilderExtensions.cs | 3 +- 13 files changed, 323 insertions(+), 87 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 056f45b609..745e9a4d9b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,13 +4,15 @@ This changelog will be used to generate documentation on [release notes page](ht ## Version 2.7.0-beta1 - [Extend the Beta period for Metrics Pre-Aggregation features shipped in 2.6.0-beta3.](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/785) -- [New: Added TryGetOperationDetail to DependencyTelemetry to facilitate advanced ITelemetryInitializer scenarios. Allows ITelemetryInitializer implementations to specify fields that would otherwise not be sent automatically to the backend.] (https://github.com/Microsoft/ApplicationInsights-dotnet-server/issues/900) +- [New: Added TryGetOperationDetail to DependencyTelemetry to facilitate advanced ITelemetryInitializer scenarios. Allows ITelemetryInitializer implementations to specify fields that would otherwise not be sent automatically to the backend.](https://github.com/Microsoft/ApplicationInsights-dotnet-server/issues/900) + +## version 2.6.3 +- [Revert: changed namespace SamplingPercentageEstimatorSettings](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/727) ## Version 2.6.2 - [Add netstandard2.0 target for TelemetryChannel which doesn't have a dependency on Newtonsoft.Json ](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/800) ## Version 2.6.0 -- [Fix: changed namespace SamplingPercentageEstimatorSettings](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/727) - [Extend the Beta period for Metrics Pre-Aggregation features shipped in 2.6.0-beta3.](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/785) ## Version 2.6.0-beta4 diff --git a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/net45/PublicAPI.Shipped.txt b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/net45/PublicAPI.Shipped.txt index 22bb024448..3454803344 100644 --- a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/net45/PublicAPI.Shipped.txt +++ b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/net45/PublicAPI.Shipped.txt @@ -1,7 +1,7 @@ Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.AdaptiveSamplingTelemetryProcessor(Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.AdaptiveSamplingTelemetryProcessor(Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.AdaptiveSamplingTelemetryProcessor(Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.Dispose() -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.EvaluationInterval.get -> System.TimeSpan Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.EvaluationInterval.set -> void @@ -31,24 +31,24 @@ Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.Appl Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.IApplicationLifecycle Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.IApplicationLifecycle.Started -> System.Action Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.IApplicationLifecycle.Stopping -> System.EventHandler -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval.get -> System.TimeSpan -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval.set -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage.get -> double -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage.set -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage.get -> double -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage.set -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond.get -> double -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond.set -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage.get -> double -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage.set -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio.get -> double -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio.set -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.get -> System.TimeSpan -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.set -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageEstimatorSettings() -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.get -> System.TimeSpan -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond.get -> double +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio.get -> double +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageEstimatorSettings() -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.set -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.ExcludedTypes.get -> string Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.ExcludedTypes.set -> void @@ -90,7 +90,7 @@ Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChan Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.ServerTelemetryChannel() -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.StorageFolder.get -> string Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.StorageFolder.set -> void -static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder +static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, double maxTelemetryItemsPerSecond, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, double samplingPercentage, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder diff --git a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/net45/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/net45/PublicAPI.Unshipped.txt index f50547ffd2..86e2aeed1f 100644 --- a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/net45/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/net45/PublicAPI.Unshipped.txt @@ -1 +1,18 @@ -Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings \ No newline at end of file +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageEstimatorSettings() -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.set -> void \ No newline at end of file diff --git a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard1.3/PublicAPI.Shipped.txt b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard1.3/PublicAPI.Shipped.txt index 7e7bf0a310..93cea97900 100644 --- a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard1.3/PublicAPI.Shipped.txt +++ b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard1.3/PublicAPI.Shipped.txt @@ -1,7 +1,7 @@ Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.AdaptiveSamplingTelemetryProcessor(Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.AdaptiveSamplingTelemetryProcessor(Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.AdaptiveSamplingTelemetryProcessor(Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.Dispose() -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.EvaluationInterval.get -> System.TimeSpan Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.EvaluationInterval.set -> void @@ -25,24 +25,24 @@ Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTel Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.SamplingPercentageIncreaseTimeout.get -> System.TimeSpan Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.SamplingPercentageIncreaseTimeout.set -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval.get -> System.TimeSpan -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval.set -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage.get -> double -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage.set -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage.get -> double -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage.set -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond.get -> double -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond.set -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage.get -> double -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage.set -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio.get -> double -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio.set -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.get -> System.TimeSpan -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.set -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageEstimatorSettings() -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.get -> System.TimeSpan -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond.get -> double +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio.get -> double +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageEstimatorSettings() -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.set -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.ExcludedTypes.get -> string Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.ExcludedTypes.set -> void @@ -52,7 +52,7 @@ Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryPr Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.SamplingPercentage.get -> double Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.SamplingPercentage.set -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.SamplingTelemetryProcessor(Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void -static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder +static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, double maxTelemetryItemsPerSecond, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, double samplingPercentage, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder diff --git a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard1.3/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard1.3/PublicAPI.Unshipped.txt index bf9bf9ea8c..a5a8b869d7 100644 --- a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard1.3/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard1.3/PublicAPI.Unshipped.txt @@ -36,4 +36,21 @@ Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChan Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.ServerTelemetryChannel() -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.StorageFolder.get -> string Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.StorageFolder.set -> void -Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings \ No newline at end of file +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageEstimatorSettings() -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.set -> void \ No newline at end of file diff --git a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Shipped.txt b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Shipped.txt index 7e7bf0a310..93cea97900 100644 --- a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Shipped.txt +++ b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Shipped.txt @@ -1,7 +1,7 @@ Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.AdaptiveSamplingTelemetryProcessor(Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.AdaptiveSamplingTelemetryProcessor(Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.AdaptiveSamplingTelemetryProcessor(Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.Dispose() -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.EvaluationInterval.get -> System.TimeSpan Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.EvaluationInterval.set -> void @@ -25,24 +25,24 @@ Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTel Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.SamplingPercentageIncreaseTimeout.get -> System.TimeSpan Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.SamplingPercentageIncreaseTimeout.set -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval.get -> System.TimeSpan -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval.set -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage.get -> double -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage.set -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage.get -> double -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage.set -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond.get -> double -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond.set -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage.get -> double -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage.set -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio.get -> double -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio.set -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.get -> System.TimeSpan -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.set -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageEstimatorSettings() -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.get -> System.TimeSpan -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond.get -> double +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio.get -> double +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageEstimatorSettings() -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.set -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.ExcludedTypes.get -> string Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.ExcludedTypes.set -> void @@ -52,7 +52,7 @@ Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryPr Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.SamplingPercentage.get -> double Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.SamplingPercentage.set -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.SamplingTelemetryProcessor(Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void -static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder +static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, double maxTelemetryItemsPerSecond, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, double samplingPercentage, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder diff --git a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Unshipped.txt index bf9bf9ea8c..a5a8b869d7 100644 --- a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Unshipped.txt @@ -36,4 +36,21 @@ Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChan Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.ServerTelemetryChannel() -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.StorageFolder.get -> string Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.StorageFolder.set -> void -Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings \ No newline at end of file +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio.get -> double +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.set -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageEstimatorSettings() -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.get -> System.TimeSpan +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.set -> void \ No newline at end of file diff --git a/Test/ServerTelemetryChannel.Test/Shared.Tests/AdaptiveSamplingTelemetryProcessorTest.cs b/Test/ServerTelemetryChannel.Test/Shared.Tests/AdaptiveSamplingTelemetryProcessorTest.cs index 3508ff2446..5b14487818 100644 --- a/Test/ServerTelemetryChannel.Test/Shared.Tests/AdaptiveSamplingTelemetryProcessorTest.cs +++ b/Test/ServerTelemetryChannel.Test/Shared.Tests/AdaptiveSamplingTelemetryProcessorTest.cs @@ -15,6 +15,7 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation; + using Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation; [TestClass] public class AdaptiveSamplingTelemetryProcessorTest @@ -32,7 +33,7 @@ public void AllTelemetryCapturedWhenProductionRateIsLow() // set up adaptive sampling that evaluates and changes sampling % frequently chainBuilder .UseAdaptiveSampling( - new SamplingPercentageEstimatorSettings() + new Channel.Implementation.SamplingPercentageEstimatorSettings() { EvaluationInterval = TimeSpan.FromSeconds(1), SamplingPercentageDecreaseTimeout = TimeSpan.FromSeconds(2), @@ -71,7 +72,7 @@ public void SamplingPercentageAdjustsAccordingToConstantHighProductionRate() // set up adaptive sampling that evaluates and changes sampling % frequently chainBuilder .UseAdaptiveSampling( - new SamplingPercentageEstimatorSettings() + new Channel.Implementation.SamplingPercentageEstimatorSettings() { EvaluationInterval = TimeSpan.FromSeconds(1), SamplingPercentageDecreaseTimeout = TimeSpan.FromSeconds(2), @@ -134,7 +135,7 @@ public void SamplingPercentageAdjustsForSpikyProductionRate() // set up adaptive sampling that evaluates and changes sampling % frequently chainBuilder .UseAdaptiveSampling( - new SamplingPercentageEstimatorSettings() + new Channel.Implementation.SamplingPercentageEstimatorSettings() { InitialSamplingPercentage = 5.0, EvaluationInterval = TimeSpan.FromSeconds(1), @@ -290,7 +291,7 @@ private void TraceSamplingPercentageEvaluation( double currentSamplingPercentage, double newSamplingPercentage, bool isSamplingPercentageChanged, - SamplingPercentageEstimatorSettings settings) + Channel.Implementation.SamplingPercentageEstimatorSettings settings) { Trace.WriteLine(string.Format( "[Sampling% evaluation] {0}, Eps: {1}, Current %: {2}, New %: {3}, Changed: {4}", diff --git a/src/ServerTelemetryChannel/AdaptiveSamplingTelemetryProcessor.cs b/src/ServerTelemetryChannel/AdaptiveSamplingTelemetryProcessor.cs index 298fe5606b..f6a83d55ad 100644 --- a/src/ServerTelemetryChannel/AdaptiveSamplingTelemetryProcessor.cs +++ b/src/ServerTelemetryChannel/AdaptiveSamplingTelemetryProcessor.cs @@ -4,6 +4,7 @@ using Microsoft.ApplicationInsights.Channel; using Microsoft.ApplicationInsights.Extensibility; + using Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation; using Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation; /// @@ -19,7 +20,7 @@ public class AdaptiveSamplingTelemetryProcessor : ITelemetryProcessor, IDisposab /// /// Sampling percentage estimator settings. /// - private readonly SamplingPercentageEstimatorSettings estimatorSettings; + private readonly Channel.Implementation.SamplingPercentageEstimatorSettings estimatorSettings; /// /// Callback invoked every time sampling percentage is evaluated. @@ -36,7 +37,7 @@ public class AdaptiveSamplingTelemetryProcessor : ITelemetryProcessor, IDisposab /// Next TelemetryProcessor in call chain. /// public AdaptiveSamplingTelemetryProcessor(ITelemetryProcessor next) - : this(new SamplingPercentageEstimatorSettings(), null, next) + : this(new Channel.Implementation.SamplingPercentageEstimatorSettings(), null, next) { } @@ -47,7 +48,7 @@ public AdaptiveSamplingTelemetryProcessor(ITelemetryProcessor next) /// Next TelemetryProcessor in call chain. /// public AdaptiveSamplingTelemetryProcessor( - SamplingPercentageEstimatorSettings settings, + Channel.Implementation.SamplingPercentageEstimatorSettings settings, AdaptiveSamplingPercentageEvaluatedCallback callback, ITelemetryProcessor next) { @@ -260,7 +261,7 @@ private void SamplingPercentageChanged( double currentSamplingPercentage, double newSamplingPercentage, bool isSamplingPercentageChanged, - SamplingPercentageEstimatorSettings settings) + Channel.Implementation.SamplingPercentageEstimatorSettings settings) { if (isSamplingPercentageChanged) { diff --git a/src/ServerTelemetryChannel/BackwardsCompatability/SamplingPercentageEstimatorSettings.cs b/src/ServerTelemetryChannel/BackwardsCompatability/SamplingPercentageEstimatorSettings.cs index 611a7cd7c1..6e02496be9 100644 --- a/src/ServerTelemetryChannel/BackwardsCompatability/SamplingPercentageEstimatorSettings.cs +++ b/src/ServerTelemetryChannel/BackwardsCompatability/SamplingPercentageEstimatorSettings.cs @@ -1,4 +1,4 @@ -namespace Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation +namespace Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation { using System; @@ -6,12 +6,191 @@ /// Container for all the settings applicable to the process of dynamically estimating /// application telemetry sampling percentage. ///
- /// - /// This class exists to resolve a backwards compatibility issue introduced in 2.5.0. - /// TODO: REMOVE THIS CLASS WHEN WE RELEASE NEW MAJOR VERSION: 3.0.0 - /// For more information see: https://github.com/Microsoft/ApplicationInsights-dotnet/issues/727 - /// - public class SamplingPercentageEstimatorSettings : Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings + [Obsolete("This was a failed experiment. Please use 'Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings' instead.")] + public class SamplingPercentageEstimatorSettings { + /// + /// Set of default settings. + /// + private static SamplingPercentageEstimatorSettings @default = new SamplingPercentageEstimatorSettings(); + + /// + /// Initializes a new instance of the class. + /// + public SamplingPercentageEstimatorSettings() + { + // set default values + this.MaxTelemetryItemsPerSecond = 5.0; + this.InitialSamplingPercentage = 100.0; + this.MinSamplingPercentage = 0.1; + this.MaxSamplingPercentage = 100.0; + this.EvaluationInterval = TimeSpan.FromSeconds(15); + this.SamplingPercentageDecreaseTimeout = TimeSpan.FromMinutes(2); + this.SamplingPercentageIncreaseTimeout = TimeSpan.FromMinutes(15); + this.MovingAverageRatio = 0.25; + } + + /// + /// Gets or sets maximum rate of telemetry items per second + /// dynamic sampling will try to adhere to. + /// + public double MaxTelemetryItemsPerSecond { get; set; } + + /// + /// Gets or sets initial sampling percentage applied at the start + /// of the process to dynamically vary the percentage. + /// + public double InitialSamplingPercentage { get; set; } + + /// + /// Gets or sets minimum sampling percentage that can be set + /// by the dynamic sampling percentage algorithm. + /// + public double MinSamplingPercentage { get; set; } + + /// + /// Gets or sets maximum sampling percentage that can be set + /// by the dynamic sampling percentage algorithm. + /// + public double MaxSamplingPercentage { get; set; } + + /// + /// Gets or sets duration of the sampling percentage evaluation + /// interval in seconds. + /// + public TimeSpan EvaluationInterval { get; set; } + + /// + /// Gets or sets a value indicating how long to not to decrease + /// sampling percentage after last change to prevent excessive fluctuation. + /// + public TimeSpan SamplingPercentageDecreaseTimeout { get; set; } + + /// + /// Gets or sets a value indicating how long to not to increase + /// sampling percentage after last change to prevent excessive fluctuation. + /// + public TimeSpan SamplingPercentageIncreaseTimeout { get; set; } + + /// + /// Gets or sets exponential moving average ratio (factor) applied + /// during calculation of rate of telemetry items produced by the application. + /// + public double MovingAverageRatio { get; set; } + + /// + /// Gets effective maximum telemetry items rate per second + /// adjusted in case user makes an error while setting a value. + /// + internal double EffectiveMaxTelemetryItemsPerSecond + { + get + { + return this.MaxTelemetryItemsPerSecond <= 0 ? 1E-12 : this.MaxTelemetryItemsPerSecond; + } + } + + /// + /// Gets effective initial sampling rate + /// adjusted in case user makes an error while setting a value. + /// + internal int EffectiveInitialSamplingRate + { + get + { + return (int)Math.Floor(100 / AdjustSamplingPercentage(this.InitialSamplingPercentage)); + } + } + + /// + /// Gets effective minimum sampling rate + /// adjusted in case user makes an error while setting a value. + /// + internal int EffectiveMinSamplingRate + { + get + { + return (int)Math.Floor(100 / AdjustSamplingPercentage(this.MaxSamplingPercentage)); + } + } + + /// + /// Gets effective maximum sampling rate + /// adjusted in case user makes an error while setting a value. + /// + internal int EffectiveMaxSamplingRate + { + get + { + return (int)Math.Ceiling(100 / AdjustSamplingPercentage(this.MinSamplingPercentage)); + } + } + + /// + /// Gets effective sampling percentage evaluation interval + /// adjusted in case user makes an error while setting a value. + /// + internal TimeSpan EffectiveEvaluationInterval + { + get + { + return this.EvaluationInterval == TimeSpan.Zero + ? @default.EvaluationInterval + : this.EvaluationInterval; + } + } + + /// + /// Gets effective sampling percentage decrease timeout + /// adjusted in case user makes an error while setting a value. + /// + internal TimeSpan EffectiveSamplingPercentageDecreaseTimeout + { + get + { + return this.SamplingPercentageDecreaseTimeout == TimeSpan.Zero + ? @default.SamplingPercentageDecreaseTimeout + : this.SamplingPercentageDecreaseTimeout; + } + } + + /// + /// Gets effective sampling percentage increase timeout + /// adjusted in case user makes an error while setting a value. + /// + internal TimeSpan EffectiveSamplingPercentageIncreaseTimeout + { + get + { + return this.SamplingPercentageIncreaseTimeout == TimeSpan.Zero + ? @default.EffectiveSamplingPercentageIncreaseTimeout + : this.SamplingPercentageIncreaseTimeout; + } + } + + /// + /// Gets effective exponential moving average ratio + /// adjusted in case user makes an error while setting a value. + /// + internal double EffectiveMovingAverageRatio + { + get + { + return this.MovingAverageRatio < 0 + ? @default.MovingAverageRatio + : this.MovingAverageRatio; + } + } + + /// + /// Adjusts sampling percentage set by user to account for errors + /// such as setting it below zero or above 100%. + /// + /// Input sampling percentage. + /// Adjusted sampling percentage in range > 0 and <= 100. + private static double AdjustSamplingPercentage(double samplingPercentage) + { + return samplingPercentage > 100 ? 100 : samplingPercentage <= 0 ? 1E-6 : samplingPercentage; + } } } diff --git a/src/ServerTelemetryChannel/Implementation/SamplingPercentageEstimatorSettings.cs b/src/ServerTelemetryChannel/Implementation/SamplingPercentageEstimatorSettings.cs index 85626db4db..e26467e227 100644 --- a/src/ServerTelemetryChannel/Implementation/SamplingPercentageEstimatorSettings.cs +++ b/src/ServerTelemetryChannel/Implementation/SamplingPercentageEstimatorSettings.cs @@ -1,4 +1,4 @@ -namespace Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation +namespace Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation { using System; @@ -18,7 +18,7 @@ public class SamplingPercentageEstimatorSettings /// public SamplingPercentageEstimatorSettings() { - // set defalt values + // set default values this.MaxTelemetryItemsPerSecond = 5.0; this.InitialSamplingPercentage = 100.0; this.MinSamplingPercentage = 0.1; diff --git a/src/ServerTelemetryChannel/Implementation/SamplingPercentageEstimatorTelemetryProcessor.cs b/src/ServerTelemetryChannel/Implementation/SamplingPercentageEstimatorTelemetryProcessor.cs index d220f98be2..59dc1ce880 100644 --- a/src/ServerTelemetryChannel/Implementation/SamplingPercentageEstimatorTelemetryProcessor.cs +++ b/src/ServerTelemetryChannel/Implementation/SamplingPercentageEstimatorTelemetryProcessor.cs @@ -5,6 +5,7 @@ using Microsoft.ApplicationInsights.Channel; using Microsoft.ApplicationInsights.Extensibility; + using Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation; /// /// Represents a method that is invoked every time sampling percentage is evaluated @@ -20,7 +21,7 @@ public delegate void AdaptiveSamplingPercentageEvaluatedCallback( double currentSamplingPercentage, double newSamplingPercentage, bool isSamplingPercentageChanged, - SamplingPercentageEstimatorSettings settings); + Channel.Implementation.SamplingPercentageEstimatorSettings settings); /// /// Telemetry processor to estimate ideal sampling percentage. @@ -35,7 +36,7 @@ internal class SamplingPercentageEstimatorTelemetryProcessor : ITelemetryProcess /// /// Dynamic sampling estimator settings. /// - private SamplingPercentageEstimatorSettings settings; + private Channel.Implementation.SamplingPercentageEstimatorSettings settings; /// /// Average telemetry item counter. @@ -72,7 +73,7 @@ internal class SamplingPercentageEstimatorTelemetryProcessor : ITelemetryProcess /// Next TelemetryProcessor in call chain. /// public SamplingPercentageEstimatorTelemetryProcessor(ITelemetryProcessor next) - : this(new SamplingPercentageEstimatorSettings(), null, next) + : this(new Channel.Implementation.SamplingPercentageEstimatorSettings(), null, next) { } @@ -83,7 +84,7 @@ public SamplingPercentageEstimatorTelemetryProcessor(ITelemetryProcessor next) /// Next TelemetryProcessor in call chain. /// public SamplingPercentageEstimatorTelemetryProcessor( - SamplingPercentageEstimatorSettings settings, + Channel.Implementation.SamplingPercentageEstimatorSettings settings, AdaptiveSamplingPercentageEvaluatedCallback callback, ITelemetryProcessor next) { diff --git a/src/ServerTelemetryChannel/TelemetryProcessorChainBuilderExtensions.cs b/src/ServerTelemetryChannel/TelemetryProcessorChainBuilderExtensions.cs index dd2b4da05d..1eb5e7adc1 100644 --- a/src/ServerTelemetryChannel/TelemetryProcessorChainBuilderExtensions.cs +++ b/src/ServerTelemetryChannel/TelemetryProcessorChainBuilderExtensions.cs @@ -4,6 +4,7 @@ using System.ComponentModel; using Microsoft.ApplicationInsights.Extensibility.Implementation; + using Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation; using Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel; using Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation; @@ -92,7 +93,7 @@ public static TelemetryProcessorChainBuilder UseAdaptiveSampling(this TelemetryP /// Instance of . public static TelemetryProcessorChainBuilder UseAdaptiveSampling( this TelemetryProcessorChainBuilder builder, - SamplingPercentageEstimatorSettings settings, + WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings settings, AdaptiveSamplingPercentageEvaluatedCallback callback, string excludedTypes = null, string includedTypes = null) From eb7a1f364784f848fc53a5e2d7e840bf5268dc49 Mon Sep 17 00:00:00 2001 From: Timothy Mothra Lee Date: Thu, 17 May 2018 16:41:05 -0700 Subject: [PATCH 37/41] removing signing from test projects. this slows down our builds --- .../ApplicationInsightsTypes/ApplicationInsightsTypes.csproj | 3 --- .../Net46/Microsoft.ApplicationInsights.Net46.Tests.csproj | 3 --- .../Microsoft.ApplicationInsights.Isolated.Tests.csproj | 4 ---- .../Microsoft.ApplicationInsights.netcoreapp11.Tests.csproj | 3 --- .../Net45.Tests/TelemetryChannel.Net45.Tests.csproj | 4 ---- .../NetCore.Tests/TelemetryChannel.netcoreapp11.Tests.csproj | 3 --- .../TelemetryChannel.netcoreapp20.Tests.csproj | 3 --- .../TelemetryChannel.Nuget.Tests.csproj | 3 --- 8 files changed, 26 deletions(-) diff --git a/Test/Microsoft.ApplicationInsights.Test/ApplicationInsightsTypes/ApplicationInsightsTypes.csproj b/Test/Microsoft.ApplicationInsights.Test/ApplicationInsightsTypes/ApplicationInsightsTypes.csproj index 5f1778287c..33e624a6a5 100644 --- a/Test/Microsoft.ApplicationInsights.Test/ApplicationInsightsTypes/ApplicationInsightsTypes.csproj +++ b/Test/Microsoft.ApplicationInsights.Test/ApplicationInsightsTypes/ApplicationInsightsTypes.csproj @@ -26,9 +26,6 @@ - - All - build diff --git a/Test/Microsoft.ApplicationInsights.Test/Net46/Microsoft.ApplicationInsights.Net46.Tests.csproj b/Test/Microsoft.ApplicationInsights.Test/Net46/Microsoft.ApplicationInsights.Net46.Tests.csproj index 677f818f9b..23cd115d86 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Net46/Microsoft.ApplicationInsights.Net46.Tests.csproj +++ b/Test/Microsoft.ApplicationInsights.Test/Net46/Microsoft.ApplicationInsights.Net46.Tests.csproj @@ -30,9 +30,6 @@ - - All - diff --git a/Test/Microsoft.ApplicationInsights.Test/Standalone/Microsoft.ApplicationInsights.Isolated.Tests.csproj b/Test/Microsoft.ApplicationInsights.Test/Standalone/Microsoft.ApplicationInsights.Isolated.Tests.csproj index 393f7bb17a..8f10f7aea1 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Standalone/Microsoft.ApplicationInsights.Isolated.Tests.csproj +++ b/Test/Microsoft.ApplicationInsights.Test/Standalone/Microsoft.ApplicationInsights.Isolated.Tests.csproj @@ -60,10 +60,6 @@ - - - All - diff --git a/Test/Microsoft.ApplicationInsights.Test/netcoreapp11/Microsoft.ApplicationInsights.netcoreapp11.Tests.csproj b/Test/Microsoft.ApplicationInsights.Test/netcoreapp11/Microsoft.ApplicationInsights.netcoreapp11.Tests.csproj index 50765a7f62..493ae7c4ef 100644 --- a/Test/Microsoft.ApplicationInsights.Test/netcoreapp11/Microsoft.ApplicationInsights.netcoreapp11.Tests.csproj +++ b/Test/Microsoft.ApplicationInsights.Test/netcoreapp11/Microsoft.ApplicationInsights.netcoreapp11.Tests.csproj @@ -26,9 +26,6 @@ - - All - diff --git a/Test/ServerTelemetryChannel.Test/Net45.Tests/TelemetryChannel.Net45.Tests.csproj b/Test/ServerTelemetryChannel.Test/Net45.Tests/TelemetryChannel.Net45.Tests.csproj index 372a17ac14..8d654ccd05 100644 --- a/Test/ServerTelemetryChannel.Test/Net45.Tests/TelemetryChannel.Net45.Tests.csproj +++ b/Test/ServerTelemetryChannel.Test/Net45.Tests/TelemetryChannel.Net45.Tests.csproj @@ -32,10 +32,6 @@ - - All - All - {3273d899-d9b3-44fe-b3ab-578e18b2ef90} TelemetryChannel diff --git a/Test/ServerTelemetryChannel.Test/NetCore.Tests/TelemetryChannel.netcoreapp11.Tests.csproj b/Test/ServerTelemetryChannel.Test/NetCore.Tests/TelemetryChannel.netcoreapp11.Tests.csproj index 41ce7352c2..f0a15d60f8 100644 --- a/Test/ServerTelemetryChannel.Test/NetCore.Tests/TelemetryChannel.netcoreapp11.Tests.csproj +++ b/Test/ServerTelemetryChannel.Test/NetCore.Tests/TelemetryChannel.netcoreapp11.Tests.csproj @@ -36,9 +36,6 @@ - - All - diff --git a/Test/ServerTelemetryChannel.Test/NetCore20.Tests/TelemetryChannel.netcoreapp20.Tests.csproj b/Test/ServerTelemetryChannel.Test/NetCore20.Tests/TelemetryChannel.netcoreapp20.Tests.csproj index 204d457bd0..0ec3621ec7 100644 --- a/Test/ServerTelemetryChannel.Test/NetCore20.Tests/TelemetryChannel.netcoreapp20.Tests.csproj +++ b/Test/ServerTelemetryChannel.Test/NetCore20.Tests/TelemetryChannel.netcoreapp20.Tests.csproj @@ -36,9 +36,6 @@ - - All - diff --git a/Test/ServerTelemetryChannel.Test/TelemetryChannel.Nuget.Tests/TelemetryChannel.Nuget.Tests.csproj b/Test/ServerTelemetryChannel.Test/TelemetryChannel.Nuget.Tests/TelemetryChannel.Nuget.Tests.csproj index 74291ab4e3..1be8be2921 100644 --- a/Test/ServerTelemetryChannel.Test/TelemetryChannel.Nuget.Tests/TelemetryChannel.Nuget.Tests.csproj +++ b/Test/ServerTelemetryChannel.Test/TelemetryChannel.Nuget.Tests/TelemetryChannel.Nuget.Tests.csproj @@ -33,9 +33,6 @@ - - All - Resources\ApplicationInsights.config.install.xdt From c5020b7ffb1c21013f34481790be30c648229e84 Mon Sep 17 00:00:00 2001 From: macrogreg Date: Fri, 18 May 2018 12:35:50 -0700 Subject: [PATCH 38/41] Metrics: Allow setting different valuesPerDimensionLimits for different dimensions in metric configuration (no unit tests yet). --- .../net45/PublicAPI.Unshipped.txt | 3 +- .../net46/PublicAPI.Unshipped.txt | 3 +- .../netstandard1.3/PublicAPI.Unshipped.txt | 3 +- src/Microsoft.ApplicationInsights/Metric.cs | 2 +- .../Metrics/Implementation/Util.cs | 19 ++ .../Metrics/MetricConfiguration.cs | 165 ++++++++++++++---- .../Metrics/MetricIdentifier.cs | 15 +- 7 files changed, 171 insertions(+), 39 deletions(-) diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt index 2a0bebee30..92d78fc130 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt @@ -131,9 +131,10 @@ Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricId.get -> string Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricNamespace.get -> string Microsoft.ApplicationInsights.Metrics.MetricConfiguration Microsoft.ApplicationInsights.Metrics.MetricConfiguration.MetricConfiguration(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration seriesConfig) -> void +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.MetricConfiguration(int seriesCountLimit, System.Collections.Generic.IEnumerable valuesPerDimensionLimits, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration seriesConfig) -> void Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesConfig.get -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesCountLimit.get -> int -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.ValuesPerDimensionLimit.get -> int +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.GetValuesPerDimensionLimit(int dimensionNumber) -> int Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement.MetricConfigurationForMeasurement(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement seriesConfig) -> void Microsoft.ApplicationInsights.Metrics.MetricIdentifier diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt index 2a0bebee30..92d78fc130 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt @@ -131,9 +131,10 @@ Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricId.get -> string Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricNamespace.get -> string Microsoft.ApplicationInsights.Metrics.MetricConfiguration Microsoft.ApplicationInsights.Metrics.MetricConfiguration.MetricConfiguration(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration seriesConfig) -> void +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.MetricConfiguration(int seriesCountLimit, System.Collections.Generic.IEnumerable valuesPerDimensionLimits, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration seriesConfig) -> void Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesConfig.get -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesCountLimit.get -> int -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.ValuesPerDimensionLimit.get -> int +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.GetValuesPerDimensionLimit(int dimensionNumber) -> int Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement.MetricConfigurationForMeasurement(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement seriesConfig) -> void Microsoft.ApplicationInsights.Metrics.MetricIdentifier diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt index 251d9e4d66..ca94172fb2 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt @@ -131,9 +131,10 @@ Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricId.get -> string Microsoft.ApplicationInsights.Metrics.MetricAggregate.MetricNamespace.get -> string Microsoft.ApplicationInsights.Metrics.MetricConfiguration Microsoft.ApplicationInsights.Metrics.MetricConfiguration.MetricConfiguration(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration seriesConfig) -> void +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.MetricConfiguration(int seriesCountLimit, System.Collections.Generic.IEnumerable valuesPerDimensionLimits, Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration seriesConfig) -> void Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesConfig.get -> Microsoft.ApplicationInsights.Metrics.IMetricSeriesConfiguration Microsoft.ApplicationInsights.Metrics.MetricConfiguration.SeriesCountLimit.get -> int -Microsoft.ApplicationInsights.Metrics.MetricConfiguration.ValuesPerDimensionLimit.get -> int +Microsoft.ApplicationInsights.Metrics.MetricConfiguration.GetValuesPerDimensionLimit(int dimensionNumber) -> int Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement Microsoft.ApplicationInsights.Metrics.MetricConfigurationForMeasurement.MetricConfigurationForMeasurement(int seriesCountLimit, int valuesPerDimensionLimit, Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement seriesConfig) -> void Microsoft.ApplicationInsights.Metrics.MetricIdentifier diff --git a/src/Microsoft.ApplicationInsights/Metric.cs b/src/Microsoft.ApplicationInsights/Metric.cs index 5d5bd0a804..0733de0917 100644 --- a/src/Microsoft.ApplicationInsights/Metric.cs +++ b/src/Microsoft.ApplicationInsights/Metric.cs @@ -83,7 +83,7 @@ public int SeriesCount /// /// Gets the values known for dimension identified by the specified 1-based dimension index. /// - /// 1-based dimension number. Currently it can be 1 or 2. + /// 1-based dimension number. Currently it can be 1 ... 10. /// The values known for the specified dimension. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2233", Justification = "dimensionNumber is validated.")] public IReadOnlyCollection GetDimensionValues(int dimensionNumber) diff --git a/src/Microsoft.ApplicationInsights/Metrics/Implementation/Util.cs b/src/Microsoft.ApplicationInsights/Metrics/Implementation/Util.cs index 1f562b5d19..70f76314de 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/Implementation/Util.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/Implementation/Util.cs @@ -283,6 +283,25 @@ public static int CombineHashCodes(int hash1, int hash2, int hash3, int hash4) return hash; } + public static int CombineHashCodes(int[] arr) + { + if (arr == null) + { + return 0; + } + + int hash = 17; + unchecked + { + for (int i = 0; i < arr.Length; i++) + { + hash = (hash * 23) + arr[i]; + } + } + + return hash; + } + /// @ToDo: Complete documentation before stable release. {659} /// @ToDo: Complete documentation before stable release. {688} /// @ToDo: Complete documentation before stable release. {859} diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs index 10150a596b..15958d49d5 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs @@ -1,18 +1,25 @@ namespace Microsoft.ApplicationInsights.Metrics { using System; - + using System.Collections.Generic; using static System.FormattableString; - /// @ToDo: Complete documentation before stable release. {654} + /// Encapsulates the configuration for a metric and its respecitve data time series. public class MetricConfiguration : IEquatable { private readonly int hashCode; - /// @ToDo: Complete documentation before stable release. {477} - /// @ToDo: Complete documentation before stable release. {815} - /// @ToDo: Complete documentation before stable release. {426} - /// @ToDo: Complete documentation before stable release. {618} + private readonly int[] valuesPerDimensionLimits = new int[MetricIdentifier.MaxDimensionsCount]; + + /// Creates a new instance of MetricConfiguration. + /// How many data time series a metric can contain as a maximum. + /// Once this limit is reached, calls to TryTrackValue(..), TryGetDataSeries(..) and similar + /// that would normally result in new series will return false. + /// How many different values each of the dimensions of a metric can + /// have as a maximum. + /// Once this limit is reached, calls to TryTrackValue(..), TryGetDataSeries(..) and similar + /// that would normally result in new series will return false. + /// The configuration for how each series of this metric should be aggregated. public MetricConfiguration( int seriesCountLimit, int valuesPerDimensionLimit, @@ -25,37 +32,103 @@ public MetricConfiguration( Invariant($"Metrics must allow at least one data series (but {seriesCountLimit} was specified).")); } + this.SeriesCountLimit = seriesCountLimit; + if (valuesPerDimensionLimit < 0) { throw new ArgumentOutOfRangeException(nameof(valuesPerDimensionLimit)); } - + + for (int d = 0; d < this.valuesPerDimensionLimits.Length; d++) + { + this.valuesPerDimensionLimits[d] = valuesPerDimensionLimit; + } + Util.ValidateNotNull(seriesConfig, nameof(seriesConfig)); + this.SeriesConfig = seriesConfig; + + this.hashCode = this.ComputeHashCode(); + } + + /// Creates a new instance of MetricConfiguration. + /// How many data time series a metric can contain as a maximum. + /// Once this limit is reached, calls to TryTrackValue(..), TryGetDataSeries(..) and similar + /// that would normally result in new series will return false. + /// How many different values each of the dimensions of a metric can + /// have as a maximum. If this enumeration contains less elements than the number of supported dimensions, + /// then the last specified element is replicated for subsequent dimensions. If this enumeration contains + /// too many elements, superflous elements are ignored. + /// Once this limit is reached, calls to TryTrackValue(..), TryGetDataSeries(..) and similar + /// that would normally result in new series will return false. + /// The configuration for how each series of this metric should be aggregated. + public MetricConfiguration( + int seriesCountLimit, + IEnumerable valuesPerDimensionLimits, + IMetricSeriesConfiguration seriesConfig) + { + if (seriesCountLimit < 1) + { + throw new ArgumentOutOfRangeException( + nameof(seriesCountLimit), + Invariant($"Metrics must allow at least one data series (but {seriesCountLimit} was specified).")); + } this.SeriesCountLimit = seriesCountLimit; - this.ValuesPerDimensionLimit = valuesPerDimensionLimit; + if (valuesPerDimensionLimits == null) + { + throw new ArgumentNullException(nameof(valuesPerDimensionLimits)); + } + + int lastLim = 0, d = 0; + foreach (int lim in valuesPerDimensionLimits) + { + lastLim = lim; + + if (lastLim < 0) + { + throw new ArgumentOutOfRangeException(nameof(valuesPerDimensionLimits) + "[" + d + "]"); + } + + this.valuesPerDimensionLimits[d] = lastLim; + d++; + } + + for (; d < this.valuesPerDimensionLimits.Length; d++) + { + this.valuesPerDimensionLimits[d] = lastLim; + } + + Util.ValidateNotNull(seriesConfig, nameof(seriesConfig)); this.SeriesConfig = seriesConfig; - this.hashCode = Util.CombineHashCodes( - this.SeriesCountLimit.GetHashCode(), - this.ValuesPerDimensionLimit.GetHashCode(), - this.SeriesConfig.GetType().FullName.GetHashCode(), - this.SeriesConfig.GetHashCode()); + this.hashCode = this.ComputeHashCode(); } - /// Gets @ToDo: Complete documentation before stable release. {215} + /// Gets how many data time series a metric can contain as a maximum. + /// Once this limit is reached, calls to TryTrackValue(..), TryGetDataSeries(..) and similar + /// that would normally result in new series will return false. public int SeriesCountLimit { get; } - /// Gets @ToDo: Complete documentation before stable release. {311} - public int ValuesPerDimensionLimit { get; } - - /// Gets @ToDo: Complete documentation before stable release. {528} + /// Gets the configuration for how each series of this metric should be aggregated. public IMetricSeriesConfiguration SeriesConfig { get; } - /// @ToDo: Complete documentation before stable release. {611} - /// @ToDo: Complete documentation before stable release. {066} - /// @ToDo: Complete documentation before stable release. {342} + /// + /// Gets the maximum number of distinct values for a dimension identified by the specified 1-based dimension index. + /// + /// 1-based dimension number. Currently it can be 1...10. + /// The maximum number of distinct values for the specified dimension. + public int GetValuesPerDimensionLimit(int dimensionNumber) + { + MetricIdentifier.ValidateDimensionNumberForGetter(dimensionNumber, MetricIdentifier.MaxDimensionsCount); + + int dimensionIndex = dimensionNumber - 1; + return this.valuesPerDimensionLimits[dimensionIndex]; + } + + /// Gets whether tho objects describe idendical configuration. + /// A configuration object. + /// Whether tho objects describe idendical configuration. public override bool Equals(object obj) { if (obj != null) @@ -70,9 +143,9 @@ public override bool Equals(object obj) return false; } - /// @ToDo: Complete documentation before stable release. {321} - /// @ToDo: Complete documentation before stable release. {605} - /// @ToDo: Complete documentation before stable release. {731} + /// Gets whether tho objects describe idendical configuration. + /// A configuration object. + /// Whether tho objects describe idendical configuration. public virtual bool Equals(MetricConfiguration other) { if (other == null) @@ -85,17 +158,49 @@ public virtual bool Equals(MetricConfiguration other) return true; } - return (this.SeriesCountLimit == other.SeriesCountLimit) - && (this.ValuesPerDimensionLimit == other.ValuesPerDimensionLimit) - && this.GetType().Equals(other.GetType()) - && this.SeriesConfig.Equals(other.SeriesConfig); + if ((this.SeriesCountLimit != other.SeriesCountLimit) + || (this.valuesPerDimensionLimits?.Length != other.valuesPerDimensionLimits?.Length) + || (false == this.GetType().Equals(other.GetType())) + || (false == this.SeriesConfig.Equals(other.SeriesConfig))) + { + return false; + } + + if (this.valuesPerDimensionLimits == other.valuesPerDimensionLimits) + { + return true; + } + + if (this.valuesPerDimensionLimits == null || other.valuesPerDimensionLimits == null) + { + return false; + } + + for (int d = 0; d < this.valuesPerDimensionLimits.Length; d++) + { + if (this.valuesPerDimensionLimits[d] != other.valuesPerDimensionLimits[d]) + { + return false; + } + } + + return true; } - /// @ToDo: Complete documentation before stable release. {852} - /// @ToDo: Complete documentation before stable release. {895} + /// Gets the Hash Code for this object. + /// The Hash Code for this object. public override int GetHashCode() { return this.hashCode; } + + private int ComputeHashCode() + { + return Util.CombineHashCodes( + this.SeriesCountLimit.GetHashCode(), + Util.CombineHashCodes(this.valuesPerDimensionLimits), + this.SeriesConfig.GetType().FullName.GetHashCode(), + this.SeriesConfig.GetHashCode()); + } } } diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs index fe63663e40..8d6fa8da7d 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs @@ -533,7 +533,7 @@ public bool Equals(MetricIdentifier otherMetricIdentifier) return (this.hashCode == otherMetricIdentifier.hashCode) && this.identifierString.Equals(otherMetricIdentifier.identifierString); } - internal void ValidateDimensionNumberForGetter(int dimensionNumber) + internal static void ValidateDimensionNumberForGetter(int dimensionNumber, int thisDimensionsCount) { if (dimensionNumber < 1) { @@ -549,19 +549,24 @@ internal void ValidateDimensionNumberForGetter(int dimensionNumber) Invariant($"{dimensionNumber} is an invalid {nameof(dimensionNumber)}. Only {nameof(dimensionNumber)} = 1, 2, ..., 10 are supported.")); } - if (this.DimensionsCount < 1) + if (thisDimensionsCount < 1) { throw new ArgumentOutOfRangeException(nameof(dimensionNumber), "Cannot access dimension becasue this metric has no dimensions."); } - if (dimensionNumber > this.DimensionsCount) + if (dimensionNumber > thisDimensionsCount) { throw new ArgumentOutOfRangeException(Invariant($"Cannot access dimension for {nameof(dimensionNumber)}={dimensionNumber}") - + Invariant($" becasue this metric only has {this.DimensionsCount} dimensions.") - + " Note that {nameof(dimensionNumber)} is a 1-based index."); + + Invariant($" becasue this metric only has {thisDimensionsCount} dimensions.") + + Invariant($" Note that {nameof(dimensionNumber)} is a 1-based index.")); } } + internal void ValidateDimensionNumberForGetter(int dimensionNumber) + { + ValidateDimensionNumberForGetter(dimensionNumber, this.DimensionsCount); + } + private static void EnsureDimensionNamesValid( out int dimensionCount, ref string dimension1Name, From 29551bdcd7841a11766dfcd0d32f1adf125f65e1 Mon Sep 17 00:00:00 2001 From: MS-TimothyMothra Date: Mon, 21 May 2018 11:54:31 -0700 Subject: [PATCH 39/41] fix more broken namespaces (#810) * AdaptiveSamplingPercentageEvaluatedCallback is another public object that changed namespaces --- CHANGELOG.md | 6 +++--- .../net45/PublicAPI.Shipped.txt | 4 ++-- .../net45/PublicAPI.Unshipped.txt | 3 ++- .../netstandard1.3/PublicAPI.Shipped.txt | 4 ++-- .../netstandard1.3/PublicAPI.Unshipped.txt | 3 ++- .../netstandard2.0/PublicAPI.Shipped.txt | 4 ++-- .../netstandard2.0/PublicAPI.Unshipped.txt | 3 ++- .../AdaptiveSamplingTelemetryProcessor.cs | 4 ++-- ...ptiveSamplingPercentageEvaluatedCallback.cs | 18 ++++++++++++++++++ ...ingPercentageEstimatorTelemetryProcessor.cs | 15 ++++++++------- ...TelemetryProcessorChainBuilderExtensions.cs | 2 +- 11 files changed, 44 insertions(+), 22 deletions(-) create mode 100644 src/ServerTelemetryChannel/BackwardsCompatability/AdaptiveSamplingPercentageEvaluatedCallback.cs diff --git a/CHANGELOG.md b/CHANGELOG.md index 745e9a4d9b..8c7b955c2b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,8 +6,8 @@ This changelog will be used to generate documentation on [release notes page](ht - [Extend the Beta period for Metrics Pre-Aggregation features shipped in 2.6.0-beta3.](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/785) - [New: Added TryGetOperationDetail to DependencyTelemetry to facilitate advanced ITelemetryInitializer scenarios. Allows ITelemetryInitializer implementations to specify fields that would otherwise not be sent automatically to the backend.](https://github.com/Microsoft/ApplicationInsights-dotnet-server/issues/900) -## version 2.6.3 -- [Revert: changed namespace SamplingPercentageEstimatorSettings](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/727) +## version 2.6.4 +- [Revert changed namespace: `SamplingPercentageEstimatorSettings`, `AdaptiveSamplingPercentageEvaluatedCallback`](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/727) ## Version 2.6.2 - [Add netstandard2.0 target for TelemetryChannel which doesn't have a dependency on Newtonsoft.Json ](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/800) @@ -29,7 +29,7 @@ This changelog will be used to generate documentation on [release notes page](ht ## Version 2.6.0-beta2 - [Changed signature of TelemetryClient.TrackDependency](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/684) -- [Added overload of TelemetryClientExtensions.StartOperation(Activity activity).] (https://github.com/Microsoft/ApplicationInsights-dotnet/issues/644) +- [Added overload of TelemetryClientExtensions.StartOperation(Activity activity).](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/644) - [Finalize the architecture for adding default heartbeat properties (supporting proposal from Issue #636).](https://github.com/Microsoft/ApplicationInsights-dotnet/issues/666). ## Version 2.5.1 diff --git a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/net45/PublicAPI.Shipped.txt b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/net45/PublicAPI.Shipped.txt index 3454803344..5066c51c7a 100644 --- a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/net45/PublicAPI.Shipped.txt +++ b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/net45/PublicAPI.Shipped.txt @@ -1,7 +1,7 @@ Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.AdaptiveSamplingTelemetryProcessor(Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.AdaptiveSamplingTelemetryProcessor(Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.AdaptiveSamplingTelemetryProcessor(Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.Dispose() -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.EvaluationInterval.get -> System.TimeSpan Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.EvaluationInterval.set -> void @@ -90,7 +90,7 @@ Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChan Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.ServerTelemetryChannel() -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.StorageFolder.get -> string Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.StorageFolder.set -> void -static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder +static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, double maxTelemetryItemsPerSecond, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, double samplingPercentage, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder diff --git a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/net45/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/net45/PublicAPI.Unshipped.txt index 86e2aeed1f..a1d701cdfd 100644 --- a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/net45/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/net45/PublicAPI.Unshipped.txt @@ -15,4 +15,5 @@ Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.Samp Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.set -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageEstimatorSettings() -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.get -> System.TimeSpan -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.set -> void \ No newline at end of file +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback diff --git a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard1.3/PublicAPI.Shipped.txt b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard1.3/PublicAPI.Shipped.txt index 93cea97900..61f0fe6930 100644 --- a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard1.3/PublicAPI.Shipped.txt +++ b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard1.3/PublicAPI.Shipped.txt @@ -1,7 +1,7 @@ Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.AdaptiveSamplingTelemetryProcessor(Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.AdaptiveSamplingTelemetryProcessor(Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.AdaptiveSamplingTelemetryProcessor(Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.Dispose() -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.EvaluationInterval.get -> System.TimeSpan Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.EvaluationInterval.set -> void @@ -52,7 +52,7 @@ Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryPr Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.SamplingPercentage.get -> double Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.SamplingPercentage.set -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.SamplingTelemetryProcessor(Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void -static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder +static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, double maxTelemetryItemsPerSecond, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, double samplingPercentage, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder diff --git a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard1.3/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard1.3/PublicAPI.Unshipped.txt index a5a8b869d7..84710ae245 100644 --- a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard1.3/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard1.3/PublicAPI.Unshipped.txt @@ -53,4 +53,5 @@ Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.Samp Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.set -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageEstimatorSettings() -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.get -> System.TimeSpan -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.set -> void \ No newline at end of file +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback \ No newline at end of file diff --git a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Shipped.txt b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Shipped.txt index 93cea97900..61f0fe6930 100644 --- a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Shipped.txt +++ b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Shipped.txt @@ -1,7 +1,7 @@ Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.AdaptiveSamplingTelemetryProcessor(Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.AdaptiveSamplingTelemetryProcessor(Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.AdaptiveSamplingTelemetryProcessor(Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.Dispose() -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.EvaluationInterval.get -> System.TimeSpan Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.EvaluationInterval.set -> void @@ -52,7 +52,7 @@ Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryPr Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.SamplingPercentage.get -> double Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.SamplingPercentage.set -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.SamplingTelemetryProcessor(Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor next) -> void -static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder +static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings settings, Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, double maxTelemetryItemsPerSecond, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder static Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseSampling(this Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder builder, double samplingPercentage, string excludedTypes = null, string includedTypes = null) -> Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder diff --git a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Unshipped.txt index a5a8b869d7..84710ae245 100644 --- a/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.AI.ServerTelemetryChannel.dll/netstandard2.0/PublicAPI.Unshipped.txt @@ -53,4 +53,5 @@ Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.Samp Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout.set -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageEstimatorSettings() -> void Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.get -> System.TimeSpan -Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.set -> void \ No newline at end of file +Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout.set -> void +Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback \ No newline at end of file diff --git a/src/ServerTelemetryChannel/AdaptiveSamplingTelemetryProcessor.cs b/src/ServerTelemetryChannel/AdaptiveSamplingTelemetryProcessor.cs index f6a83d55ad..bf16e5610e 100644 --- a/src/ServerTelemetryChannel/AdaptiveSamplingTelemetryProcessor.cs +++ b/src/ServerTelemetryChannel/AdaptiveSamplingTelemetryProcessor.cs @@ -25,7 +25,7 @@ public class AdaptiveSamplingTelemetryProcessor : ITelemetryProcessor, IDisposab /// /// Callback invoked every time sampling percentage is evaluated. /// - private readonly AdaptiveSamplingPercentageEvaluatedCallback evaluationCallback; + private readonly Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback evaluationCallback; /// /// Sampling percentage estimator telemetry processor. @@ -49,7 +49,7 @@ public AdaptiveSamplingTelemetryProcessor(ITelemetryProcessor next) /// public AdaptiveSamplingTelemetryProcessor( Channel.Implementation.SamplingPercentageEstimatorSettings settings, - AdaptiveSamplingPercentageEvaluatedCallback callback, + Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, ITelemetryProcessor next) { this.estimatorSettings = settings; diff --git a/src/ServerTelemetryChannel/BackwardsCompatability/AdaptiveSamplingPercentageEvaluatedCallback.cs b/src/ServerTelemetryChannel/BackwardsCompatability/AdaptiveSamplingPercentageEvaluatedCallback.cs new file mode 100644 index 0000000000..c5d5705c9e --- /dev/null +++ b/src/ServerTelemetryChannel/BackwardsCompatability/AdaptiveSamplingPercentageEvaluatedCallback.cs @@ -0,0 +1,18 @@ +namespace Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation +{ + /// + /// Represents a method that is invoked every time sampling percentage is evaluated + /// by the dynamic sampling algorithm. + /// + /// Rate of telemetry items generated by this instance of the application after current sampling percentage was applied. + /// Current sampling percentage that was used by the algorithm. + /// Suggested new sampling percentage that will allow to keep desired telemetry item generation rate given the volume of items states the same. + /// A value indicating whether new sampling percentage will be applied by dynamic sampling algorithm. New sampling percentage may not be immediately applied in case it was recently changed. + /// Dynamic sampling algorithm settings. + public delegate void AdaptiveSamplingPercentageEvaluatedCallback( + double afterSamplingTelemetryItemRatePerSecond, + double currentSamplingPercentage, + double newSamplingPercentage, + bool isSamplingPercentageChanged, + Channel.Implementation.SamplingPercentageEstimatorSettings settings); +} diff --git a/src/ServerTelemetryChannel/Implementation/SamplingPercentageEstimatorTelemetryProcessor.cs b/src/ServerTelemetryChannel/Implementation/SamplingPercentageEstimatorTelemetryProcessor.cs index 59dc1ce880..d67e8f819b 100644 --- a/src/ServerTelemetryChannel/Implementation/SamplingPercentageEstimatorTelemetryProcessor.cs +++ b/src/ServerTelemetryChannel/Implementation/SamplingPercentageEstimatorTelemetryProcessor.cs @@ -16,12 +16,13 @@ /// Suggested new sampling percentage that will allow to keep desired telemetry item generation rate given the volume of items states the same. /// A value indicating whether new sampling percentage will be applied by dynamic sampling algorithm. New sampling percentage may not be immediately applied in case it was recently changed. /// Dynamic sampling algorithm settings. + [Obsolete("This was a failed experiment. Please use 'Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback' instead.")] public delegate void AdaptiveSamplingPercentageEvaluatedCallback( - double afterSamplingTelemetryItemRatePerSecond, - double currentSamplingPercentage, - double newSamplingPercentage, - bool isSamplingPercentageChanged, - Channel.Implementation.SamplingPercentageEstimatorSettings settings); + double afterSamplingTelemetryItemRatePerSecond, + double currentSamplingPercentage, + double newSamplingPercentage, + bool isSamplingPercentageChanged, + Channel.Implementation.SamplingPercentageEstimatorSettings settings); /// /// Telemetry processor to estimate ideal sampling percentage. @@ -66,7 +67,7 @@ internal class SamplingPercentageEstimatorTelemetryProcessor : ITelemetryProcess /// /// Callback to invoke every time sampling percentage is evaluated. /// - private AdaptiveSamplingPercentageEvaluatedCallback evaluationCallback; + private Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback evaluationCallback; /// /// Initializes a new instance of the class. @@ -85,7 +86,7 @@ public SamplingPercentageEstimatorTelemetryProcessor(ITelemetryProcessor next) /// public SamplingPercentageEstimatorTelemetryProcessor( Channel.Implementation.SamplingPercentageEstimatorSettings settings, - AdaptiveSamplingPercentageEvaluatedCallback callback, + Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, ITelemetryProcessor next) { if (settings == null) diff --git a/src/ServerTelemetryChannel/TelemetryProcessorChainBuilderExtensions.cs b/src/ServerTelemetryChannel/TelemetryProcessorChainBuilderExtensions.cs index 1eb5e7adc1..9867fa1678 100644 --- a/src/ServerTelemetryChannel/TelemetryProcessorChainBuilderExtensions.cs +++ b/src/ServerTelemetryChannel/TelemetryProcessorChainBuilderExtensions.cs @@ -94,7 +94,7 @@ public static TelemetryProcessorChainBuilder UseAdaptiveSampling(this TelemetryP public static TelemetryProcessorChainBuilder UseAdaptiveSampling( this TelemetryProcessorChainBuilder builder, WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings settings, - AdaptiveSamplingPercentageEvaluatedCallback callback, + WindowsServer.Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback callback, string excludedTypes = null, string includedTypes = null) { From 2dcf09d1a105118e615b7aba0effb4a70e831ea1 Mon Sep 17 00:00:00 2001 From: Timothy Mothra Lee Date: Mon, 21 May 2018 16:05:41 -0700 Subject: [PATCH 40/41] bump version --- GlobalStaticVersion.props | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/GlobalStaticVersion.props b/GlobalStaticVersion.props index e6391cd556..6744330c98 100644 --- a/GlobalStaticVersion.props +++ b/GlobalStaticVersion.props @@ -6,10 +6,10 @@ Update for every public release. --> 2 - 6 - 4 + 7 + 0 - + beta1 - 2018-02-12 + 2018-05-21 $([MSBuild]::Divide($([System.DateTime]::Now.Subtract($([System.DateTime]::Parse($(SemanticVersionDate)))).TotalMinutes), 5).ToString('F0')) From 7c4e18a09b81b20ac5db4ed60142cb03e12f4c82 Mon Sep 17 00:00:00 2001 From: macrogreg Date: Mon, 21 May 2018 17:05:52 -0700 Subject: [PATCH 41/41] Metrics: Tests for different dim limits and missing MetricCollection APIs. --- .../net45/PublicAPI.Unshipped.txt | 4 + .../net46/PublicAPI.Unshipped.txt | 4 + .../netstandard1.3/PublicAPI.Unshipped.txt | 4 + .../Shared/MetricTests.cs | 173 ++++++++++++++ .../Metrics/MetricConfigurationTests.cs | 213 +++++++++++++++++- src/Microsoft.ApplicationInsights/Metric.cs | 19 +- .../Metrics/MetricConfiguration.cs | 6 + .../Metrics/MetricIdentifier.cs | 5 +- .../Metrics/MetricsCollection.cs | 48 ++++ 9 files changed, 461 insertions(+), 15 deletions(-) diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt index 92d78fc130..8447c4fe20 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net45/PublicAPI.Unshipped.txt @@ -192,12 +192,16 @@ Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Re Microsoft.ApplicationInsights.Metrics.MetricsCollection Microsoft.ApplicationInsights.Metrics.MetricsCollection.Clear() -> void Microsoft.ApplicationInsights.Metrics.MetricsCollection.Contains(Microsoft.ApplicationInsights.Metric metric) -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Contains(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier) -> bool Microsoft.ApplicationInsights.Metrics.MetricsCollection.CopyTo(Microsoft.ApplicationInsights.Metric[] array, int arrayIndex) -> void Microsoft.ApplicationInsights.Metrics.MetricsCollection.Count.get -> int Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetEnumerator() -> System.Collections.Generic.IEnumerator Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetOrCreate(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.Metrics.MetricsCollection.TryGet(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, out Microsoft.ApplicationInsights.Metric metric) -> bool Microsoft.ApplicationInsights.Metrics.MetricsCollection.IsReadOnly.get -> bool Microsoft.ApplicationInsights.Metrics.MetricsCollection.Remove(Microsoft.ApplicationInsights.Metric metric) -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Remove(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier) -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Remove(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, out Microsoft.ApplicationInsights.Metric removedMetric) -> bool Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier) -> Microsoft.ApplicationInsights.Metric Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt index 92d78fc130..8447c4fe20 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/net46/PublicAPI.Unshipped.txt @@ -192,12 +192,16 @@ Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Re Microsoft.ApplicationInsights.Metrics.MetricsCollection Microsoft.ApplicationInsights.Metrics.MetricsCollection.Clear() -> void Microsoft.ApplicationInsights.Metrics.MetricsCollection.Contains(Microsoft.ApplicationInsights.Metric metric) -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Contains(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier) -> bool Microsoft.ApplicationInsights.Metrics.MetricsCollection.CopyTo(Microsoft.ApplicationInsights.Metric[] array, int arrayIndex) -> void Microsoft.ApplicationInsights.Metrics.MetricsCollection.Count.get -> int Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetEnumerator() -> System.Collections.Generic.IEnumerator Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetOrCreate(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.Metrics.MetricsCollection.TryGet(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, out Microsoft.ApplicationInsights.Metric metric) -> bool Microsoft.ApplicationInsights.Metrics.MetricsCollection.IsReadOnly.get -> bool Microsoft.ApplicationInsights.Metrics.MetricsCollection.Remove(Microsoft.ApplicationInsights.Metric metric) -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Remove(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier) -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Remove(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, out Microsoft.ApplicationInsights.Metric removedMetric) -> bool Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier) -> Microsoft.ApplicationInsights.Metric Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric diff --git a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt index ca94172fb2..45eeaf5187 100644 --- a/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt +++ b/PublicAPI/Microsoft.ApplicationInsights.dll/netstandard1.3/PublicAPI.Unshipped.txt @@ -192,12 +192,16 @@ Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement.Re Microsoft.ApplicationInsights.Metrics.MetricsCollection Microsoft.ApplicationInsights.Metrics.MetricsCollection.Clear() -> void Microsoft.ApplicationInsights.Metrics.MetricsCollection.Contains(Microsoft.ApplicationInsights.Metric metric) -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Contains(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier) -> bool Microsoft.ApplicationInsights.Metrics.MetricsCollection.CopyTo(Microsoft.ApplicationInsights.Metric[] array, int arrayIndex) -> void Microsoft.ApplicationInsights.Metrics.MetricsCollection.Count.get -> int Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetEnumerator() -> System.Collections.Generic.IEnumerator Microsoft.ApplicationInsights.Metrics.MetricsCollection.GetOrCreate(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric +Microsoft.ApplicationInsights.Metrics.MetricsCollection.TryGet(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, out Microsoft.ApplicationInsights.Metric metric) -> bool Microsoft.ApplicationInsights.Metrics.MetricsCollection.IsReadOnly.get -> bool Microsoft.ApplicationInsights.Metrics.MetricsCollection.Remove(Microsoft.ApplicationInsights.Metric metric) -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Remove(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier) -> bool +Microsoft.ApplicationInsights.Metrics.MetricsCollection.Remove(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, out Microsoft.ApplicationInsights.Metric removedMetric) -> bool Microsoft.ApplicationInsights.Metrics.TelemetryConfigurationExtensions Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier) -> Microsoft.ApplicationInsights.Metric Microsoft.ApplicationInsights.TelemetryClient.GetMetric(Microsoft.ApplicationInsights.Metrics.MetricIdentifier metricIdentifier, Microsoft.ApplicationInsights.Metrics.MetricConfiguration metricConfiguration) -> Microsoft.ApplicationInsights.Metric diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/MetricTests.cs b/Test/Microsoft.ApplicationInsights.Test/Shared/MetricTests.cs index 282cb3108c..fc819795f8 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/MetricTests.cs +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/MetricTests.cs @@ -1438,6 +1438,160 @@ public void TryTrackValue() Assert.ThrowsException( () => metric.TryTrackValue(42, "A", "X") ); Assert.AreEqual(1, metric.SeriesCount); + + metricManager.Flush(); + } + telemetryCollector.Clear(); + { + MetricConfiguration config = new MetricConfiguration( + seriesCountLimit: 10, + valuesPerDimensionLimits: new[] { 3, 1, 2 }, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + Metric metric = InvokeMetricCtor( + metricManager, + metricNamespace: "nsx", + metricId: "Foo18", + dimension1Name: "D1", + dimension2Name: "D2", + dimension3Name: "D3", + dimension4Name: "D4", + configuration: config); + + Assert.AreEqual(1, metric.SeriesCount); + + metric.TrackValue(42); + Assert.AreEqual(1, metric.SeriesCount); + + Assert.ThrowsException( () => metric.TryTrackValue(42, "D1.A", "D2.A", "D3.A", "D4.A", "D5.A") ); + Assert.ThrowsException( () => metric.TryTrackValue(42, "D1.A", "D2.A", "D3.A") ); + + Assert.IsTrue(metric.TryTrackValue(1111, "D1.A", "D2.A", "D3.A", "D4.A")); + Assert.AreEqual(2, metric.SeriesCount); + + Assert.IsTrue(metric.TryTrackValue(1111, "D1.A", "D2.A", "D3.A", "D4.A")); + Assert.AreEqual(2, metric.SeriesCount); + + Assert.IsTrue(metric.TryTrackValue(1112, "D1.A", "D2.A", "D3.A", "D4.B")); + Assert.AreEqual(3, metric.SeriesCount); + + Assert.IsTrue(metric.TryTrackValue(1112, "D1.A", "D2.A", "D3.A", "D4.B")); + Assert.AreEqual(3, metric.SeriesCount); + + Assert.IsFalse(metric.TryTrackValue(1113, "D1.A", "D2.A", "D3.A", "D4.C")); + Assert.AreEqual(3, metric.SeriesCount); + + Assert.IsTrue(metric.TryTrackValue(1121, "D1.A", "D2.A", "D3.B", "D4.A")); + Assert.AreEqual(4, metric.SeriesCount); + + Assert.IsTrue(metric.TryTrackValue(1121, "D1.A", "D2.A", "D3.B", "D4.A")); + Assert.AreEqual(4, metric.SeriesCount); + + Assert.IsTrue(metric.TryTrackValue(1122, "D1.A", "D2.A", "D3.B", "D4.B")); + Assert.AreEqual(5, metric.SeriesCount); + + Assert.IsTrue(metric.TryTrackValue(1122, "D1.A", "D2.A", "D3.B", "D4.B")); + Assert.AreEqual(5, metric.SeriesCount); + + Assert.IsFalse(metric.TryTrackValue(1123, "D1.A", "D2.A", "D3.B", "D4.C")); + Assert.AreEqual(5, metric.SeriesCount); + + Assert.IsFalse(metric.TryTrackValue(1132, "D1.A", "D2.A", "D3.C", "D4.B")); + Assert.AreEqual(5, metric.SeriesCount); + + Assert.IsFalse(metric.TryTrackValue(1133, "D1.A", "D2.A", "D3.C", "D4.C")); + Assert.AreEqual(5, metric.SeriesCount); + + Assert.IsFalse(metric.TryTrackValue(1211, "D1.A", "D2.B", "D3.A", "D4.A")); + Assert.AreEqual(5, metric.SeriesCount); + + Assert.IsTrue(metric.TryTrackValue(2111, "D1.B", "D2.A", "D3.A", "D4.A")); + Assert.AreEqual(6, metric.SeriesCount); + + Assert.IsTrue(metric.TryTrackValue(2111, "D1.B", "D2.A", "D3.A", "D4.A")); + Assert.AreEqual(6, metric.SeriesCount); + + Assert.IsFalse(metric.TryTrackValue(2111, "D1.B", "D2.B", "D3.A", "D4.A")); + Assert.AreEqual(6, metric.SeriesCount); + + Assert.IsTrue(metric.TryTrackValue(2112, "D1.B", "D2.A", "D3.A", "D4.B")); + Assert.AreEqual(7, metric.SeriesCount); + + Assert.IsTrue(metric.TryTrackValue(2112, "D1.B", "D2.A", "D3.A", "D4.B")); + Assert.AreEqual(7, metric.SeriesCount); + + Assert.IsFalse(metric.TryTrackValue(2113, "D1.B", "D2.A", "D3.A", "D4.C")); + Assert.AreEqual(7, metric.SeriesCount); + + Assert.IsTrue(metric.TryTrackValue(2121, "D1.B", "D2.A", "D3.B", "D4.A")); + Assert.AreEqual(8, metric.SeriesCount); + + Assert.IsTrue(metric.TryTrackValue(2121, "D1.B", "D2.A", "D3.B", "D4.A")); + Assert.AreEqual(8, metric.SeriesCount); + + Assert.IsTrue(metric.TryTrackValue(2122, "D1.B", "D2.A", "D3.B", "D4.B")); + Assert.AreEqual(9, metric.SeriesCount); + + Assert.IsTrue(metric.TryTrackValue(2122, "D1.B", "D2.A", "D3.B", "D4.B")); + Assert.AreEqual(9, metric.SeriesCount); + + Assert.IsFalse(metric.TryTrackValue(2123, "D1.B", "D2.A", "D3.B", "D4.C")); + Assert.AreEqual(9, metric.SeriesCount); + + Assert.IsFalse(metric.TryTrackValue(2132, "D1.B", "D2.A", "D3.C", "D4.B")); + Assert.AreEqual(9, metric.SeriesCount); + + Assert.IsFalse(metric.TryTrackValue(2133, "D1.B", "D2.A", "D3.C", "D4.C")); + Assert.AreEqual(9, metric.SeriesCount); + + Assert.IsFalse(metric.TryTrackValue(2222, "D1.B", "D2.B", "D3.B", "D4.B")); + Assert.AreEqual(9, metric.SeriesCount); + + Assert.IsTrue(metric.TryTrackValue(3111, "D1.C", "D2.A", "D3.A", "D4.A")); + Assert.AreEqual(10, metric.SeriesCount); + + Assert.IsTrue(metric.TryTrackValue(3111, "D1.C", "D2.A", "D3.A", "D4.A")); + Assert.AreEqual(10, metric.SeriesCount); + + Assert.IsFalse(metric.TryTrackValue(4111, "D1.D", "D2.A", "D3.A", "D4.A")); + Assert.AreEqual(10, metric.SeriesCount); + + metricManager.Flush(); + + Assert.AreEqual(10, telemetryCollector.Count); + Assert.AreEqual(1, telemetryCollector.Where( (a) => a.Dimensions.Count == 0 ).Count()); + Assert.AreEqual(9, telemetryCollector.Where( (a) => a.Dimensions.Count == 4 ).Count()); + + for (int i = 0; i < telemetryCollector.Count; i++) + { + Assert.IsNotNull(telemetryCollector[i]); + MetricAggregate aggregate = telemetryCollector[i]; + + Assert.AreEqual("Foo18", aggregate.MetricId); + Assert.AreEqual("nsx", aggregate.MetricNamespace); + + if (aggregate.Dimensions.Count == 0) + { + Assert.AreEqual(1, aggregate.Data["Count"]); + Assert.AreEqual(42.0, aggregate.Data["Sum"]); + } + else if (aggregate.Dimensions.Count == 4) + { + Assert.AreEqual(2, aggregate.Data["Count"]); + Assert.AreEqual(4, aggregate.Dimensions.Count); + + int expVal = 1000 * (1 + (int) (aggregate.Dimensions["D1"][3] - 'A')); + expVal += 100 * (1 + (int) (aggregate.Dimensions["D2"][3] - 'A')); + expVal += 10 * (1 + (int) (aggregate.Dimensions["D3"][3] - 'A')); + expVal += 1 * (1 + (int) (aggregate.Dimensions["D4"][3] - 'A')); + expVal *= 2; + + Assert.AreEqual((double) expVal, aggregate.Data["Sum"]); + } + else + { + Assert.Fail($"Unexpected number of dimensions: {aggregate.Dimensions.Count}."); + } + } } TestUtil.CompleteDefaultAggregationCycle(metricManager); @@ -1695,5 +1849,24 @@ private static Metric InvokeMetricCtor( configuration); return metric; } + + private static Metric InvokeMetricCtor( + MetricManager metricManager, + string metricNamespace, + string metricId, + string dimension1Name, + string dimension2Name, + string dimension3Name, + string dimension4Name, + MetricConfiguration configuration) + { + // Metric ctor is private.. + + Metric metric = new Metric( + metricManager, + new MetricIdentifier(metricNamespace, metricId, dimension1Name, dimension2Name, dimension3Name, dimension4Name), + configuration); + return metric; + } } } diff --git a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/MetricConfigurationTests.cs b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/MetricConfigurationTests.cs index 4d1a3a15c9..36d73eb184 100644 --- a/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/MetricConfigurationTests.cs +++ b/Test/Microsoft.ApplicationInsights.Test/Shared/Metrics/MetricConfigurationTests.cs @@ -23,7 +23,9 @@ public void Ctor() seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); Assert.IsNotNull(config); Assert.AreEqual(1000, config.SeriesCountLimit); - Assert.AreEqual(100, config.ValuesPerDimensionLimit); + Assert.AreEqual(100, config.GetValuesPerDimensionLimit(1)); + Assert.AreEqual(100, config.GetValuesPerDimensionLimit(2)); + Assert.AreEqual(100, config.GetValuesPerDimensionLimit(10)); Assert.IsNotNull(config.SeriesConfig); Assert.IsInstanceOfType(config.SeriesConfig, typeof(MetricSeriesConfigurationForMeasurement)); Assert.AreEqual(false, config.SeriesConfig.RequiresPersistentAggregation); @@ -36,7 +38,9 @@ public void Ctor() seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: true)); Assert.IsNotNull(config); Assert.AreEqual(1, config.SeriesCountLimit); - Assert.AreEqual(0, config.ValuesPerDimensionLimit); + Assert.AreEqual(0, config.GetValuesPerDimensionLimit(1)); + Assert.AreEqual(0, config.GetValuesPerDimensionLimit(2)); + Assert.AreEqual(0, config.GetValuesPerDimensionLimit(10)); Assert.IsNotNull(config.SeriesConfig); Assert.IsInstanceOfType(config.SeriesConfig, typeof(MetricSeriesConfigurationForMeasurement)); Assert.AreEqual(false, config.SeriesConfig.RequiresPersistentAggregation); @@ -49,7 +53,9 @@ public void Ctor() seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); Assert.IsNotNull(config); Assert.AreEqual(Int32.MaxValue, config.SeriesCountLimit); - Assert.AreEqual(Int32.MaxValue, config.ValuesPerDimensionLimit); + Assert.AreEqual(Int32.MaxValue, config.GetValuesPerDimensionLimit(1)); + Assert.AreEqual(Int32.MaxValue, config.GetValuesPerDimensionLimit(2)); + Assert.AreEqual(Int32.MaxValue, config.GetValuesPerDimensionLimit(10)); Assert.IsNotNull(config.SeriesConfig); Assert.IsInstanceOfType(config.SeriesConfig, typeof(MetricSeriesConfigurationForMeasurement)); Assert.AreEqual(false, config.SeriesConfig.RequiresPersistentAggregation); @@ -85,8 +91,76 @@ public void Ctor() [TestMethod] public void SeriesCountLimit() { - // Covered in this test: - Ctor(); + { + var config = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimit: 100, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + Assert.ThrowsException( () => config.GetValuesPerDimensionLimit(-1) ); + Assert.ThrowsException( () => config.GetValuesPerDimensionLimit(0) ); + + Assert.AreEqual(100, config.GetValuesPerDimensionLimit(1)); + Assert.AreEqual(100, config.GetValuesPerDimensionLimit(2)); + Assert.AreEqual(100, config.GetValuesPerDimensionLimit(10)); + + Assert.ThrowsException( () => config.GetValuesPerDimensionLimit(11) ); + } + { + var config = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimits: new[] { 42 }, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + Assert.ThrowsException( () => config.GetValuesPerDimensionLimit(-1) ); + Assert.ThrowsException( () => config.GetValuesPerDimensionLimit(0) ); + + Assert.AreEqual(42, config.GetValuesPerDimensionLimit(1)); + Assert.AreEqual(42, config.GetValuesPerDimensionLimit(2)); + Assert.AreEqual(42, config.GetValuesPerDimensionLimit(10)); + + Assert.ThrowsException( () => config.GetValuesPerDimensionLimit(11) ); + } + { + var config = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimits: new[] { 11, 12, 13, 14 }, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + Assert.ThrowsException( () => config.GetValuesPerDimensionLimit(-1) ); + Assert.ThrowsException( () => config.GetValuesPerDimensionLimit(0) ); + + Assert.AreEqual(11, config.GetValuesPerDimensionLimit(1)); + Assert.AreEqual(12, config.GetValuesPerDimensionLimit(2)); + Assert.AreEqual(13, config.GetValuesPerDimensionLimit(3)); + Assert.AreEqual(14, config.GetValuesPerDimensionLimit(4)); + Assert.AreEqual(14, config.GetValuesPerDimensionLimit(6)); + Assert.AreEqual(14, config.GetValuesPerDimensionLimit(10)); + + Assert.ThrowsException( () => config.GetValuesPerDimensionLimit(11) ); + } + { + var config = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimits: new[] { 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 }, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + Assert.ThrowsException( () => config.GetValuesPerDimensionLimit(-1) ); + Assert.ThrowsException( () => config.GetValuesPerDimensionLimit(0) ); + + Assert.AreEqual(11, config.GetValuesPerDimensionLimit(1)); + Assert.AreEqual(12, config.GetValuesPerDimensionLimit(2)); + Assert.AreEqual(13, config.GetValuesPerDimensionLimit(3)); + Assert.AreEqual(14, config.GetValuesPerDimensionLimit(4)); + Assert.AreEqual(15, config.GetValuesPerDimensionLimit(5)); + Assert.AreEqual(16, config.GetValuesPerDimensionLimit(6)); + Assert.AreEqual(17, config.GetValuesPerDimensionLimit(7)); + Assert.AreEqual(18, config.GetValuesPerDimensionLimit(8)); + Assert.AreEqual(19, config.GetValuesPerDimensionLimit(9)); + Assert.AreEqual(20, config.GetValuesPerDimensionLimit(10)); + + Assert.ThrowsException( () => config.GetValuesPerDimensionLimit(11) ); + } } /// @@ -147,6 +221,71 @@ public void TestEquals() Assert.IsFalse(config1.Equals(config2)); Assert.IsFalse(config2.Equals(config1)); + + config1 = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimits: new[] { 42 }, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + Assert.IsTrue(config1.Equals(config1)); + + config2 = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimit: 42, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + Assert.IsTrue(config1.Equals(config2)); + Assert.IsTrue(config2.Equals(config1)); + + config2 = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimits: new[] { 42, 42, 42 }, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + Assert.IsTrue(config1.Equals(config2)); + Assert.IsTrue(config2.Equals(config1)); + + config2 = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimits: new[] { 42, 18, 42 }, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + Assert.IsFalse(config1.Equals(config2)); + Assert.IsFalse(config2.Equals(config1)); + + config2 = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimits: new[] { 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42 }, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + Assert.IsTrue(config1.Equals(config2)); + Assert.IsTrue(config2.Equals(config1)); + + config1 = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimits: new[] { 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 30 }, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + config2 = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimits: new[] { 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 40 }, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + Assert.IsTrue(config1.Equals(config2)); + Assert.IsTrue(config2.Equals(config1)); + + config1 = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimits: new[] { 10, 11, 12, 13, 14, 15, 16, 17, 18, 25, 30 }, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + config2 = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimits: new[] { 10, 11, 12, 13, 14, 15, 16, 17, 18, 26, 40 }, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + Assert.IsFalse(config1.Equals(config2)); + Assert.IsFalse(config2.Equals(config1)); } /// @@ -182,6 +321,70 @@ public void TestGetHashCode() Assert.AreNotEqual(config1.GetHashCode(), config2.GetHashCode()); Assert.AreNotEqual(0, config2.GetHashCode()); + + config1 = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimits: new[] { 42 }, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + Assert.AreNotEqual(0, config1.GetHashCode()); + + config2 = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimit: 42, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + Assert.AreEqual(config1.GetHashCode(), config2.GetHashCode()); + + config2 = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimits: new[] { 42, 42, 42 }, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + Assert.AreEqual(config1.GetHashCode(), config2.GetHashCode()); + + config2 = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimits: new[] { 42, 18, 42 }, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + Assert.AreNotEqual(0, config2.GetHashCode()); + Assert.AreNotEqual(config1.GetHashCode(), config2.GetHashCode()); + + config2 = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimits: new[] { 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42 }, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + Assert.AreEqual(config1.GetHashCode(), config2.GetHashCode()); + + config1 = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimits: new[] { 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 30 }, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + config2 = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimits: new[] { 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 40 }, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + Assert.AreNotEqual(0, config1.GetHashCode()); + Assert.AreNotEqual(0, config2.GetHashCode()); + Assert.AreEqual(config1.GetHashCode(), config2.GetHashCode()); + + config1 = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimits: new[] { 10, 11, 12, 13, 14, 15, 16, 17, 18, 25, 30 }, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + config2 = new MetricConfiguration( + seriesCountLimit: 1000, + valuesPerDimensionLimits: new[] { 10, 11, 12, 13, 14, 15, 16, 17, 18, 26, 40 }, + seriesConfig: new MetricSeriesConfigurationForMeasurement(restrictToUInt32Values: false)); + + Assert.AreNotEqual(0, config1.GetHashCode()); + Assert.AreNotEqual(0, config2.GetHashCode()); + Assert.AreNotEqual(config1.GetHashCode(), config2.GetHashCode()); } } } diff --git a/src/Microsoft.ApplicationInsights/Metric.cs b/src/Microsoft.ApplicationInsights/Metric.cs index 0733de0917..d6b31dfaea 100644 --- a/src/Microsoft.ApplicationInsights/Metric.cs +++ b/src/Microsoft.ApplicationInsights/Metric.cs @@ -33,7 +33,7 @@ internal Metric(MetricManager metricManager, MetricIdentifier metricIdentifier, { Util.ValidateNotNull(metricManager, nameof(metricManager)); Util.ValidateNotNull(metricIdentifier, nameof(metricIdentifier)); - EnsureConfigurationValid(metricIdentifier.DimensionsCount > 0, configuration); + EnsureConfigurationValid(metricIdentifier.DimensionsCount, configuration); this.metricManager = metricManager; this.Identifier = metricIdentifier; @@ -54,7 +54,7 @@ internal Metric(MetricManager metricManager, MetricIdentifier metricIdentifier, int[] dimensionValuesCountLimits = new int[metricIdentifier.DimensionsCount]; for (int d = 0; d < metricIdentifier.DimensionsCount; d++) { - dimensionValuesCountLimits[d] = configuration.ValuesPerDimensionLimit; + dimensionValuesCountLimits[d] = configuration.GetValuesPerDimensionLimit(d + 1); } this.metricSeries = new MultidimensionalCube2( @@ -1200,17 +1200,20 @@ public bool TryTrackValue( } private static void EnsureConfigurationValid( - bool isMultidimensional, + int dimensionsCount, MetricConfiguration configuration) { Util.ValidateNotNull(configuration, nameof(configuration)); Util.ValidateNotNull(configuration.SeriesConfig, nameof(configuration.SeriesConfig)); - if (isMultidimensional && configuration.ValuesPerDimensionLimit < 1) + for (int d = 0; d < dimensionsCount; d++) { - throw new ArgumentException("Multidimensional metrics must allow at least one dimension-value per dimesion" - + Invariant($" (but {configuration.ValuesPerDimensionLimit} was specified") - + Invariant($" in {nameof(configuration)}.{nameof(configuration.ValuesPerDimensionLimit)}).")); + if (configuration.GetValuesPerDimensionLimit(d + 1) < 1) + { + throw new ArgumentException("Multidimensional metrics must allow at least one dimension-value per dimesion" + + Invariant($" (but {nameof(configuration.GetValuesPerDimensionLimit)}({d + 1})") + + Invariant($" = {configuration.GetValuesPerDimensionLimit(d + 1)} was specified.")); + } } if (configuration.SeriesCountLimit < 1) @@ -1220,7 +1223,7 @@ private static void EnsureConfigurationValid( + Invariant($" in {nameof(configuration)}.{nameof(configuration.SeriesCountLimit)}).")); } - if (isMultidimensional && configuration.SeriesCountLimit < 2) + if (dimensionsCount > 0 && configuration.SeriesCountLimit < 2) { throw new ArgumentException("Multidimensional metrics must allow at least two data series:" + " 1 for the basic (zero-dimensional) series and 1 additional series" diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs index 15958d49d5..1cf224f195 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricConfiguration.cs @@ -91,7 +91,12 @@ public MetricConfiguration( } this.valuesPerDimensionLimits[d] = lastLim; + d++; + if (d >= MetricIdentifier.MaxDimensionsCount) + { + break; + } } for (; d < this.valuesPerDimensionLimits.Length; d++) @@ -118,6 +123,7 @@ public MetricConfiguration( /// /// 1-based dimension number. Currently it can be 1...10. /// The maximum number of distinct values for the specified dimension. + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2233: Operations should not overflow", Justification = "No overflow")] public int GetValuesPerDimensionLimit(int dimensionNumber) { MetricIdentifier.ValidateDimensionNumberForGetter(dimensionNumber, MetricIdentifier.MaxDimensionsCount); diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs index 8d6fa8da7d..3b42fc13b1 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricIdentifier.cs @@ -542,11 +542,12 @@ internal static void ValidateDimensionNumberForGetter(int dimensionNumber, int t Invariant($"{dimensionNumber} is an invalid {nameof(dimensionNumber)}. Note that {nameof(dimensionNumber)} is a 1-based index.")); } - if (dimensionNumber > 10) + if (dimensionNumber > MetricIdentifier.MaxDimensionsCount) { throw new ArgumentOutOfRangeException( nameof(dimensionNumber), - Invariant($"{dimensionNumber} is an invalid {nameof(dimensionNumber)}. Only {nameof(dimensionNumber)} = 1, 2, ..., 10 are supported.")); + Invariant($"{dimensionNumber} is an invalid {nameof(dimensionNumber)}.") + + Invariant($" Only {nameof(dimensionNumber)} = 1, 2, ..., {MetricIdentifier.MaxDimensionsCount} are supported.")); } if (thisDimensionsCount < 1) diff --git a/src/Microsoft.ApplicationInsights/Metrics/MetricsCollection.cs b/src/Microsoft.ApplicationInsights/Metrics/MetricsCollection.cs index fced0e01f0..e1f3457bf2 100644 --- a/src/Microsoft.ApplicationInsights/Metrics/MetricsCollection.cs +++ b/src/Microsoft.ApplicationInsights/Metrics/MetricsCollection.cs @@ -63,6 +63,17 @@ public Metric GetOrCreate( return metric; } + /// @ToDo: Complete documentation before stable release. {799} + /// @ToDo: Complete documentation before stable release. {564} + /// @ToDo: Complete documentation before stable release. {324} + /// @ToDo: Complete documentation before stable release. {708} + public bool TryGet(MetricIdentifier metricIdentifier, out Metric metric) + { + Util.ValidateNotNull(metricIdentifier, nameof(metricIdentifier)); + + return this.metrics.TryGetValue(metricIdentifier, out metric); + } + /// @ToDo: Complete documentation before stable release. {200} public void Clear() { @@ -82,6 +93,19 @@ public bool Contains(Metric metric) return this.metrics.ContainsKey(metric.Identifier); } + /// @ToDo: Complete documentation before stable release. {629} + /// @ToDo: Complete documentation before stable release. {398} + /// @ToDo: Complete documentation before stable release. {479} + public bool Contains(MetricIdentifier metricIdentifier) + { + if (metricIdentifier == null) + { + return false; + } + + return this.metrics.ContainsKey(metricIdentifier); + } + /// @ToDo: Complete documentation before stable release. {200} /// @ToDo: Complete documentation before stable release. {377} /// @ToDo: Complete documentation before stable release. {290} @@ -111,6 +135,30 @@ public bool Remove(Metric metric) return this.metrics.TryRemove(metric.Identifier, out removedMetric); } + /// @ToDo: Complete documentation before stable release. {041} + /// @ToDo: Complete documentation before stable release. {667} + /// @ToDo: Complete documentation before stable release. {197} + public bool Remove(MetricIdentifier metricIdentifier) + { + Metric removedMetric; + return this.Remove(metricIdentifier, out removedMetric); + } + + /// @ToDo: Complete documentation before stable release. {041} + /// @ToDo: Complete documentation before stable release. {667} + /// @ToDo: Complete documentation before stable release. {668} + /// @ToDo: Complete documentation before stable release. {197} + public bool Remove(MetricIdentifier metricIdentifier, out Metric removedMetric) + { + if (metricIdentifier == null) + { + removedMetric = null; + return false; + } + + return this.metrics.TryRemove(metricIdentifier, out removedMetric); + } + /// @ToDo: Complete documentation before stable release. {533} /// @ToDo: Complete documentation before stable release. {064} public IEnumerator GetEnumerator()