diff --git a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/CHANGELOG.md b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/CHANGELOG.md index 41b022e36b85..592061d455aa 100644 --- a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/CHANGELOG.md +++ b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/CHANGELOG.md @@ -9,13 +9,20 @@ - The constructor of the `DataFeed` class is now parameterless. Required properties should be set via setters. - The constructor of the `DataFeedSchema` class is now parameterless. Metrics can be added directly to `MetricColumns`. - The constructor of the `DataFeedIngestionSettings` class is now parameterless. Required properties should be set via setters. +- The constructor of the `AnomalyDetectionConfiguration` class is now parameterless. Required properties should be set via setters. +- The constructor of the `MetricSingleSeriesDetectionCondition` class is now parameterless. Dimension columns can be added directly to `SeriesKey`. +- The constructor of the `MetricSeriesGroupDetectionCondition` class is now parameterless. Dimension columns can be added directly to `SeriesGroupKey`. - In `DataFeed`, added property setters to `Name`, `DataSource`, `Granularity`, `IngestionSettings`, and `Schema`. - In `DataFeedIngestionSettings`, added a property setter to `IngestionStartTime`. +- In `AnomalyDetectionConfiguration`, added property setters to `MetricId`, `Name`, and `WholeSeriesDetectionConditions`. - In `DataFeed`, removed the setters of the properties `Administrators` and `Viewers`. - In `DataFeedSchema`, removed the setter of the property `DimensionColumns`. - In `DataFeedRollupSettings`, removed the setter of the property `AutoRollupGroupByColumnNames`. +- In `AnomalyDetectionConfiguration`, removed the setters of the properties `SeriesDetectionConditions` and `SeriesGroupDetectionConditions`. - `DataFeed.SourceType` is now nullable. It will be null whenever `DataFeed.DataSource` is null. - `DataFeed.IngestionStartTime` is now nullable. +- `MetricsAdvisorAdministrationClient.CreateDataFeed` sync and async methods now throw an `ArgumentException` if required properties are not set properly. +- `MetricsAdvisorAdministrationClient.CreateDetectionConfiguration` sync and async methods now throw an `ArgumentException` if required properties are not set properly. - In `MetricsAdvisorKeyCredential`, renamed the parameter `key` to `subscriptionKey` in the method `UpdateSubscriptionKey`. - In `MetricsAdvisorKeyCredential`, renamed the parameter `key` to `apiKey` in the method `UpdateApiKey`. diff --git a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/README.md b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/README.md index 52ef6f9b95fa..18734816a407 100644 --- a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/README.md +++ b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/README.md @@ -277,23 +277,25 @@ Create an [`AnomalyDetectionConfiguration`](#data-point-anomaly) to tell the ser string metricId = ""; string configurationName = "Sample anomaly detection configuration"; -var hardThresholdSuppressCondition = new SuppressCondition(1, 100); -var hardThresholdCondition = new HardThresholdCondition(AnomalyDetectorDirection.Down, hardThresholdSuppressCondition) +var detectionConfiguration = new AnomalyDetectionConfiguration() { - LowerBound = 5.0 + MetricId = metricId, + Name = configurationName, + WholeSeriesDetectionConditions = new MetricWholeSeriesDetectionCondition() }; -var smartDetectionSuppressCondition = new SuppressCondition(4, 50); -var smartDetectionCondition = new SmartDetectionCondition(10.0, AnomalyDetectorDirection.Up, smartDetectionSuppressCondition); +var detectCondition = detectionConfiguration.WholeSeriesDetectionConditions; -var detectionCondition = new MetricWholeSeriesDetectionCondition() +var hardSuppress = new SuppressCondition(1, 100); +detectCondition.HardThresholdCondition = new HardThresholdCondition(AnomalyDetectorDirection.Down, hardSuppress) { - HardThresholdCondition = hardThresholdCondition, - SmartDetectionCondition = smartDetectionCondition, - CrossConditionsOperator = DetectionConditionsOperator.Or + LowerBound = 5.0 }; -var detectionConfiguration = new AnomalyDetectionConfiguration(metricId, configurationName, detectionCondition); +var smartSuppress = new SuppressCondition(4, 50); +detectCondition.SmartDetectionCondition = new SmartDetectionCondition(10.0, AnomalyDetectorDirection.Up, smartSuppress); + +detectCondition.CrossConditionsOperator = DetectionConditionsOperator.Or; Response response = await adminClient.CreateDetectionConfigurationAsync(detectionConfiguration); diff --git a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/api/Azure.AI.MetricsAdvisor.netstandard2.0.cs b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/api/Azure.AI.MetricsAdvisor.netstandard2.0.cs index d42552417f40..8b46c65f8c86 100644 --- a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/api/Azure.AI.MetricsAdvisor.netstandard2.0.cs +++ b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/api/Azure.AI.MetricsAdvisor.netstandard2.0.cs @@ -299,14 +299,14 @@ public AnomalyAlertConfiguration(string name, System.Collections.Generic.IList SeriesDetectionConditions { get { throw null; } set { } } - public System.Collections.Generic.IList SeriesGroupDetectionConditions { get { throw null; } set { } } - public Azure.AI.MetricsAdvisor.Models.MetricWholeSeriesDetectionCondition WholeSeriesDetectionConditions { get { throw null; } } + public string MetricId { get { throw null; } set { } } + public string Name { get { throw null; } set { } } + public System.Collections.Generic.IList SeriesDetectionConditions { get { throw null; } } + public System.Collections.Generic.IList SeriesGroupDetectionConditions { get { throw null; } } + public Azure.AI.MetricsAdvisor.Models.MetricWholeSeriesDetectionCondition WholeSeriesDetectionConditions { get { throw null; } set { } } } [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] public readonly partial struct AnomalyDetectorDirection : System.IEquatable @@ -1036,12 +1036,12 @@ internal MetricSeriesDefinition() { } } public partial class MetricSeriesGroupDetectionCondition : Azure.AI.MetricsAdvisor.Models.MetricWholeSeriesDetectionCondition { - public MetricSeriesGroupDetectionCondition(Azure.AI.MetricsAdvisor.Models.DimensionKey seriesGroupKey) { } + public MetricSeriesGroupDetectionCondition() { } public Azure.AI.MetricsAdvisor.Models.DimensionKey SeriesGroupKey { get { throw null; } } } public partial class MetricSingleSeriesDetectionCondition : Azure.AI.MetricsAdvisor.Models.MetricWholeSeriesDetectionCondition { - public MetricSingleSeriesDetectionCondition(Azure.AI.MetricsAdvisor.Models.DimensionKey seriesKey) { } + public MetricSingleSeriesDetectionCondition() { } public Azure.AI.MetricsAdvisor.Models.DimensionKey SeriesKey { get { throw null; } } } public partial class MetricWholeSeriesDetectionCondition diff --git a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/MetricsAdvisorAdministrationClient.cs b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/MetricsAdvisorAdministrationClient.cs index e45af6f0ca16..e3a233bfe624 100644 --- a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/MetricsAdvisorAdministrationClient.cs +++ b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/MetricsAdvisorAdministrationClient.cs @@ -704,10 +704,11 @@ private static void ValidateDataFeedToCreate(DataFeed dataFeed) /// A containing the result of the operation. The result is a string /// containing the ID of the newly created configuration. /// - /// is null. + /// , .MetricId, .Name, or .WholeSeriesDetectionConditions is null. + /// .MetricId or .Name is empty. public virtual async Task> CreateDetectionConfigurationAsync(AnomalyDetectionConfiguration detectionConfiguration, CancellationToken cancellationToken = default) { - Argument.AssertNotNull(detectionConfiguration, nameof(detectionConfiguration)); + ValidateDetectionConfigurationToCreate(detectionConfiguration); using DiagnosticScope scope = _clientDiagnostics.CreateScope($"{nameof(MetricsAdvisorAdministrationClient)}.{nameof(CreateDetectionConfiguration)}"); scope.Start(); @@ -735,10 +736,11 @@ public virtual async Task> CreateDetectionConfigurationAsync(An /// A containing the result of the operation. The result is a string /// containing the ID of the newly created configuration. /// - /// is null. + /// , .MetricId, .Name, or .WholeSeriesDetectionConditions is null. + /// .MetricId or .Name is empty. public virtual Response CreateDetectionConfiguration(AnomalyDetectionConfiguration detectionConfiguration, CancellationToken cancellationToken = default) { - Argument.AssertNotNull(detectionConfiguration, nameof(detectionConfiguration)); + ValidateDetectionConfigurationToCreate(detectionConfiguration); using DiagnosticScope scope = _clientDiagnostics.CreateScope($"{nameof(MetricsAdvisorAdministrationClient)}.{nameof(CreateDetectionConfiguration)}"); scope.Start(); @@ -1007,6 +1009,14 @@ public virtual Response DeleteDetectionConfiguration(string detectionConfigurati } } + private static void ValidateDetectionConfigurationToCreate(AnomalyDetectionConfiguration configuration) + { + Argument.AssertNotNull(configuration, nameof(configuration)); + Argument.AssertNotNullOrEmpty(configuration.MetricId, $"{nameof(configuration)}.{nameof(AnomalyDetectionConfiguration.MetricId)}"); + Argument.AssertNotNullOrEmpty(configuration.Name, $"{nameof(configuration)}.{nameof(AnomalyDetectionConfiguration.Name)}"); + Argument.AssertNotNull(configuration.WholeSeriesDetectionConditions, $"{nameof(configuration)}.{nameof(AnomalyDetectionConfiguration.WholeSeriesDetectionConditions)}"); + } + #endregion AnomalyDetectionConfiguration #region AnomalyAlertConfiguration diff --git a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/Models/AnomalyDetection/AnomalyDetectionConfiguration.cs b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/Models/AnomalyDetection/AnomalyDetectionConfiguration.cs index 5d5a0909d88c..a2d40b80d5a9 100644 --- a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/Models/AnomalyDetection/AnomalyDetectionConfiguration.cs +++ b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/Models/AnomalyDetection/AnomalyDetectionConfiguration.cs @@ -1,7 +1,6 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -using System; using System.Collections.Generic; using Azure.Core; @@ -13,33 +12,14 @@ namespace Azure.AI.MetricsAdvisor.Models /// series within the same metric. /// [CodeGenModel("AnomalyDetectionConfiguration")] + [CodeGenSuppress(nameof(AnomalyDetectionConfiguration), typeof(string), typeof(string), typeof(MetricWholeSeriesDetectionCondition))] public partial class AnomalyDetectionConfiguration { - private string _name; - - private MetricWholeSeriesDetectionCondition _wholeSeriesDetectionConditions; - - private IList _seriesDetectionConditions; - - private IList _seriesGroupDetectionConditions; - /// /// Creates a new instance of the class. /// - /// The identifier of the metric to which this configuration applies. - /// A custom name for this to be displayed on the web portal. - /// The default anomaly detection conditions to be applied to all series associated with this configuration's . - /// , , or is null. - /// or is empty. - public AnomalyDetectionConfiguration(string metricId, string name, MetricWholeSeriesDetectionCondition wholeSeriesDetectionConditions) + public AnomalyDetectionConfiguration() { - Argument.AssertNotNullOrEmpty(metricId, nameof(metricId)); - Argument.AssertNotNullOrEmpty(name, nameof(name)); - Argument.AssertNotNull(wholeSeriesDetectionConditions, nameof(wholeSeriesDetectionConditions)); - - MetricId = metricId; - Name = name; - WholeSeriesDetectionConditions = wholeSeriesDetectionConditions; SeriesDetectionConditions = new ChangeTrackingList(); SeriesGroupDetectionConditions = new ChangeTrackingList(); } @@ -53,72 +33,34 @@ public AnomalyDetectionConfiguration(string metricId, string name, MetricWholeSe /// /// The identifier of the metric to which this configuration applies. /// - public string MetricId { get; } + public string MetricId { get; set; } /// /// A custom name for this to be displayed on the web portal. /// - public string Name - { - get => _name; - private set - { - Argument.AssertNotNullOrEmpty(value, nameof(Name)); - _name = value; - } - } + public string Name { get; set; } /// /// The default anomaly detection conditions to be applied to all series associated with this configuration's /// . /// [CodeGenMember("WholeMetricConfiguration")] - public MetricWholeSeriesDetectionCondition WholeSeriesDetectionConditions - { - get => _wholeSeriesDetectionConditions; - private set - { - Argument.AssertNotNull(value, nameof(WholeSeriesDetectionConditions)); - _wholeSeriesDetectionConditions = value; - } - } + public MetricWholeSeriesDetectionCondition WholeSeriesDetectionConditions { get; set; } /// /// The anomaly detection conditions to be applied to the time series associated with this configuration's /// . These conditions overwrite the ones specified by . /// - /// is null. [CodeGenMember("DimensionGroupOverrideConfigurations")] -#pragma warning disable CA2227 // Collection properties should be readonly - public IList SeriesGroupDetectionConditions - { - get => _seriesGroupDetectionConditions; - set - { - Argument.AssertNotNull(value, nameof(SeriesGroupDetectionConditions)); - _seriesGroupDetectionConditions = value; - } - } -#pragma warning restore CA2227 // Collection properties should be readonly + public IList SeriesGroupDetectionConditions { get; } /// /// The anomaly detection conditions to be applied to the time series associated with this configuration's /// . These conditions overwrite the ones specified by /// and . /// - /// is null. [CodeGenMember("SeriesOverrideConfigurations")] -#pragma warning disable CA2227 // Collection properties should be readonly - public IList SeriesDetectionConditions - { - get => _seriesDetectionConditions; - set - { - Argument.AssertNotNull(value, nameof(SeriesDetectionConditions)); - _seriesDetectionConditions = value; - } - } -#pragma warning restore CA2227 // Collection properties should be readonly + public IList SeriesDetectionConditions { get; } /// /// A description about the . diff --git a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/Models/AnomalyDetection/MetricSeriesGroupDetectionCondition.cs b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/Models/AnomalyDetection/MetricSeriesGroupDetectionCondition.cs index d55c38a4f871..2fc7ff886066 100644 --- a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/Models/AnomalyDetection/MetricSeriesGroupDetectionCondition.cs +++ b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/Models/AnomalyDetection/MetricSeriesGroupDetectionCondition.cs @@ -1,7 +1,6 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -using System; using Azure.Core; namespace Azure.AI.MetricsAdvisor.Models @@ -11,18 +10,15 @@ namespace Azure.AI.MetricsAdvisor.Models /// of time series. /// [CodeGenModel("DimensionGroupConfiguration")] + [CodeGenSuppress(nameof(MetricSeriesGroupDetectionCondition), typeof(DimensionKey))] public partial class MetricSeriesGroupDetectionCondition : MetricWholeSeriesDetectionCondition { /// /// Initializes a new instance of the class. /// - /// The key that identifies the group of time series to which these conditions apply within a metric. A subset of the possible dimensions of the associated data feed must be set. - /// is null. - public MetricSeriesGroupDetectionCondition(DimensionKey seriesGroupKey) + public MetricSeriesGroupDetectionCondition() { - Argument.AssertNotNull(seriesGroupKey, nameof(seriesGroupKey)); - - SeriesGroupKey = seriesGroupKey; + SeriesGroupKey = new DimensionKey(); } /// diff --git a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/Models/AnomalyDetection/MetricSingleSeriesDetectionCondition.cs b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/Models/AnomalyDetection/MetricSingleSeriesDetectionCondition.cs index 8eb8652a0768..81b0eb525fc2 100644 --- a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/Models/AnomalyDetection/MetricSingleSeriesDetectionCondition.cs +++ b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/Models/AnomalyDetection/MetricSingleSeriesDetectionCondition.cs @@ -1,7 +1,6 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -using System; using Azure.Core; namespace Azure.AI.MetricsAdvisor.Models @@ -17,13 +16,9 @@ public partial class MetricSingleSeriesDetectionCondition : MetricWholeSeriesDet /// /// Initializes a new instance of the class. /// - /// The key that uniquely identifies the time series to which these conditions apply within a metric. Every dimension contained in the associated must be assigned a value. - /// is null. - public MetricSingleSeriesDetectionCondition(DimensionKey seriesKey) + public MetricSingleSeriesDetectionCondition() { - Argument.AssertNotNull(seriesKey, nameof(seriesKey)); - - SeriesKey = seriesKey; + SeriesKey = new DimensionKey(); } internal MetricSingleSeriesDetectionCondition(DetectionConditionsOperator? crossConditionsOperator, SmartDetectionCondition smartDetectionCondition, HardThresholdCondition hardThresholdCondition, ChangeThresholdCondition changeThresholdCondition, SeriesIdentity series) diff --git a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/Models/TimeSeries/DimensionKey.cs b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/Models/TimeSeries/DimensionKey.cs index 733a64d40980..c35ee547d821 100644 --- a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/Models/TimeSeries/DimensionKey.cs +++ b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/src/Models/TimeSeries/DimensionKey.cs @@ -24,20 +24,12 @@ public partial class DimensionKey : IEquatable /// public DimensionKey() { - Dimension = new Dictionary(); + Dimension = new ChangeTrackingDictionary(); } internal DimensionKey(IEnumerable> dimension) { - Dimension = new Dictionary(); - - if (dimension != default) - { - foreach (KeyValuePair kvp in dimension) - { - Dimension.Add(kvp); - } - } + Dimension = dimension.ToDictionary(kvp => kvp.Key, kvp => kvp.Value); } internal IDictionary Dimension { get; } diff --git a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/MetricsAdvisorAdministrationClient/AnomalyDetectionConfigurationLiveTests.cs b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/MetricsAdvisorAdministrationClient/AnomalyDetectionConfigurationLiveTests.cs index 91fba07ab736..3aec697fd4de 100644 --- a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/MetricsAdvisorAdministrationClient/AnomalyDetectionConfigurationLiveTests.cs +++ b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/MetricsAdvisorAdministrationClient/AnomalyDetectionConfigurationLiveTests.cs @@ -36,8 +36,11 @@ public async Task CreateAndGetDetectionConfigurationWithHardCondition(bool useTo } }; - var configToCreate = new AnomalyDetectionConfiguration(MetricId, configName, wholeConditions) + var configToCreate = new AnomalyDetectionConfiguration() { + MetricId = MetricId, + Name = configName, + WholeSeriesDetectionConditions = wholeConditions, // This is the only test that validates description during creation. Please don't remove it! Description = description }; @@ -77,7 +80,12 @@ public async Task CreateAndGetDetectionConfigurationWithChangeAndSmartConditions SmartDetectionCondition = new (23.0, AnomalyDetectorDirection.Down, new (3, 4.0)) }; - var configToCreate = new AnomalyDetectionConfiguration(MetricId, configName, wholeConditions); + var configToCreate = new AnomalyDetectionConfiguration() + { + MetricId = MetricId, + Name = configName, + WholeSeriesDetectionConditions = wholeConditions + }; await using var disposableConfig = await DisposableDetectionConfiguration.CreateDetectionConfigurationAsync(adminClient, configToCreate); @@ -117,26 +125,29 @@ public async Task CreateAndGetDetectionConfigurationWithSeriesGroupConditions() } }; - var configToCreate = new AnomalyDetectionConfiguration(MetricId, configName, wholeConditions); + var configToCreate = new AnomalyDetectionConfiguration() + { + MetricId = MetricId, + Name = configName, + WholeSeriesDetectionConditions = wholeConditions + }; // Set the series group conditions and create the configuration. - var groupKey1 = new DimensionKey(); - var groupKey2 = new DimensionKey(); - - groupKey1.AddDimensionColumn("city", "Delhi"); - groupKey2.AddDimensionColumn("city", "Koltaka"); - - var groupConditions0 = new MetricSeriesGroupDetectionCondition(groupKey1) + var groupConditions0 = new MetricSeriesGroupDetectionCondition() { SmartDetectionCondition = new (30.0, AnomalyDetectorDirection.Both, new (3, 4.0)) }; - var groupConditions1 = new MetricSeriesGroupDetectionCondition(groupKey2) + groupConditions0.SeriesGroupKey.AddDimensionColumn("city", "Delhi"); + + var groupConditions1 = new MetricSeriesGroupDetectionCondition() { ChangeThresholdCondition = new (40.0, 12, false, AnomalyDetectorDirection.Up, new (5, 6.0)) }; + groupConditions1.SeriesGroupKey.AddDimensionColumn("city", "Koltaka"); + configToCreate.SeriesGroupDetectionConditions.Add(groupConditions0); configToCreate.SeriesGroupDetectionConditions.Add(groupConditions1); @@ -225,29 +236,31 @@ public async Task CreateAndGetDetectionConfigurationWithSeriesConditions() } }; - var configToCreate = new AnomalyDetectionConfiguration(MetricId, configName, wholeConditions); + var configToCreate = new AnomalyDetectionConfiguration() + { + MetricId = MetricId, + Name = configName, + WholeSeriesDetectionConditions = wholeConditions + }; // Set the series conditions and create the configuration. - var seriesKey1 = new DimensionKey(); - var seriesKey2 = new DimensionKey(); - - seriesKey1.AddDimensionColumn("city", "Delhi"); - seriesKey1.AddDimensionColumn("category", "Handmade"); - - seriesKey2.AddDimensionColumn("city", "Koltaka"); - seriesKey2.AddDimensionColumn("category", "Grocery & Gourmet Food"); - - var seriesConditions0 = new MetricSingleSeriesDetectionCondition(seriesKey1) + var seriesConditions0 = new MetricSingleSeriesDetectionCondition() { SmartDetectionCondition = new (30.0, AnomalyDetectorDirection.Both, new (3, 4.0)) }; - var seriesConditions1 = new MetricSingleSeriesDetectionCondition(seriesKey2) + seriesConditions0.SeriesKey.AddDimensionColumn("city", "Delhi"); + seriesConditions0.SeriesKey.AddDimensionColumn("category", "Handmade"); + + var seriesConditions1 = new MetricSingleSeriesDetectionCondition() { ChangeThresholdCondition = new (40.0, 12, false, AnomalyDetectorDirection.Up, new (5, 6.0)) }; + seriesConditions1.SeriesKey.AddDimensionColumn("city", "Koltaka"); + seriesConditions1.SeriesKey.AddDimensionColumn("category", "Grocery & Gourmet Food"); + configToCreate.SeriesDetectionConditions.Add(seriesConditions0); configToCreate.SeriesDetectionConditions.Add(seriesConditions1); @@ -339,33 +352,34 @@ public async Task UpdateDetectionConfigurationWithMinimumSetupAndGetInstance(boo SmartDetectionCondition = new (60.0, AnomalyDetectorDirection.Up, new (5, 6.0)) }; - var configToCreate = new AnomalyDetectionConfiguration(MetricId, configName, wholeConditions); + var configToCreate = new AnomalyDetectionConfiguration() + { + MetricId = MetricId, + Name = configName, + WholeSeriesDetectionConditions = wholeConditions + }; // Set the series group conditions. - var groupKey = new DimensionKey(); - - groupKey.AddDimensionColumn("city", "Koltaka"); - - var groupConditions = new MetricSeriesGroupDetectionCondition(groupKey) + var groupConditions = new MetricSeriesGroupDetectionCondition() { ChangeThresholdCondition = new (40.0, 12, false, AnomalyDetectorDirection.Up, new (5, 6.0)) }; + groupConditions.SeriesGroupKey.AddDimensionColumn("city", "Koltaka"); + configToCreate.SeriesGroupDetectionConditions.Add(groupConditions); // Set the series conditions and create the configuration. - var seriesKey = new DimensionKey(); - - seriesKey.AddDimensionColumn("city", "Delhi"); - seriesKey.AddDimensionColumn("category", "Handmade"); - - var seriesConditions = new MetricSingleSeriesDetectionCondition(seriesKey) + var seriesConditions = new MetricSingleSeriesDetectionCondition() { SmartDetectionCondition = new (30.0, AnomalyDetectorDirection.Both, new (3, 4.0)) }; + seriesConditions.SeriesKey.AddDimensionColumn("city", "Delhi"); + seriesConditions.SeriesKey.AddDimensionColumn("category", "Handmade"); + configToCreate.SeriesDetectionConditions.Add(seriesConditions); await using var disposableConfig = await DisposableDetectionConfiguration.CreateDetectionConfigurationAsync(adminClient, configToCreate); @@ -459,40 +473,41 @@ public async Task UpdateDetectionConfigurationWithMinimumSetupAndNewInstance() SmartDetectionCondition = new (60.0, AnomalyDetectorDirection.Up, new (5, 6.0)) }; - var configToCreate = new AnomalyDetectionConfiguration(MetricId, configName, wholeConditions); + var configToCreate = new AnomalyDetectionConfiguration() + { + MetricId = MetricId, + Name = configName, + WholeSeriesDetectionConditions = wholeConditions + }; // Set the series group conditions. - var groupKey = new DimensionKey(); - - groupKey.AddDimensionColumn("city", "Koltaka"); - - var groupConditions = new MetricSeriesGroupDetectionCondition(groupKey) + var groupConditions = new MetricSeriesGroupDetectionCondition() { ChangeThresholdCondition = new (40.0, 12, false, AnomalyDetectorDirection.Up, new (5, 6.0)) }; + groupConditions.SeriesGroupKey.AddDimensionColumn("city", "Koltaka"); + configToCreate.SeriesGroupDetectionConditions.Add(groupConditions); // Set the series conditions and create the configuration. - var seriesKey = new DimensionKey(); - - seriesKey.AddDimensionColumn("city", "Delhi"); - seriesKey.AddDimensionColumn("category", "Handmade"); - - var seriesConditions = new MetricSingleSeriesDetectionCondition(seriesKey) + var seriesConditions = new MetricSingleSeriesDetectionCondition() { SmartDetectionCondition = new (30.0, AnomalyDetectorDirection.Both, new (3, 4.0)) }; + seriesConditions.SeriesKey.AddDimensionColumn("city", "Delhi"); + seriesConditions.SeriesKey.AddDimensionColumn("category", "Handmade"); + configToCreate.SeriesDetectionConditions.Add(seriesConditions); await using var disposableConfig = await DisposableDetectionConfiguration.CreateDetectionConfigurationAsync(adminClient, configToCreate); // Update the created configuration. - var configToUpdate = new AnomalyDetectionConfiguration(MetricId, configName, wholeConditions); + var configToUpdate = new AnomalyDetectionConfiguration() { WholeSeriesDetectionConditions = wholeConditions }; configToUpdate.WholeSeriesDetectionConditions.HardThresholdCondition.LowerBound = 12.0; @@ -581,33 +596,34 @@ public async Task UpdateDetectionConfigurationWithEveryMemberAndGetInstance() SmartDetectionCondition = new (60.0, AnomalyDetectorDirection.Up, new (5, 6.0)) }; - var configToCreate = new AnomalyDetectionConfiguration(MetricId, configName, wholeConditions); + var configToCreate = new AnomalyDetectionConfiguration() + { + MetricId = MetricId, + Name = configName, + WholeSeriesDetectionConditions = wholeConditions + }; // Set the series group conditions. - var groupKey = new DimensionKey(); - - groupKey.AddDimensionColumn("city", "Koltaka"); - - var groupConditions = new MetricSeriesGroupDetectionCondition(groupKey) + var groupConditions = new MetricSeriesGroupDetectionCondition() { ChangeThresholdCondition = new (40.0, 12, false, AnomalyDetectorDirection.Up, new (5, 6.0)) }; + groupConditions.SeriesGroupKey.AddDimensionColumn("city", "Koltaka"); + configToCreate.SeriesGroupDetectionConditions.Add(groupConditions); // Set the series conditions and create the configuration. - var seriesKey = new DimensionKey(); - - seriesKey.AddDimensionColumn("city", "Delhi"); - seriesKey.AddDimensionColumn("category", "Handmade"); - - var seriesConditions = new MetricSingleSeriesDetectionCondition(seriesKey) + var seriesConditions = new MetricSingleSeriesDetectionCondition() { SmartDetectionCondition = new (30.0, AnomalyDetectorDirection.Both, new (3, 4.0)) }; + seriesConditions.SeriesKey.AddDimensionColumn("city", "Delhi"); + seriesConditions.SeriesKey.AddDimensionColumn("category", "Handmade"); + configToCreate.SeriesDetectionConditions.Add(seriesConditions); await using var disposableConfig = await DisposableDetectionConfiguration.CreateDetectionConfigurationAsync(adminClient, configToCreate); @@ -623,15 +639,13 @@ public async Task UpdateDetectionConfigurationWithEveryMemberAndGetInstance() configToUpdate.WholeSeriesDetectionConditions.ChangeThresholdCondition = null; configToUpdate.WholeSeriesDetectionConditions.SmartDetectionCondition = new (75.0, AnomalyDetectorDirection.Both, new (15, 16.0)); - var newGroupKey = new DimensionKey(); - - newGroupKey.AddDimensionColumn("city", "Delhi"); - - var newGroupConditions = new MetricSeriesGroupDetectionCondition(newGroupKey) + var newGroupConditions = new MetricSeriesGroupDetectionCondition() { SmartDetectionCondition = new (95.0, AnomalyDetectorDirection.Both, new (25, 26.0)) }; + newGroupConditions.SeriesGroupKey.AddDimensionColumn("city", "Delhi"); + configToUpdate.SeriesGroupDetectionConditions.Add(newGroupConditions); configToUpdate.SeriesDetectionConditions.Clear(); @@ -724,57 +738,58 @@ public async Task UpdateDetectionConfigurationWithEveryMemberAndNewInstance() SmartDetectionCondition = new (60.0, AnomalyDetectorDirection.Up, new (5, 6.0)) }; - var configToCreate = new AnomalyDetectionConfiguration(MetricId, configName, wholeConditions); + var configToCreate = new AnomalyDetectionConfiguration() + { + MetricId = MetricId, + Name = configName, + WholeSeriesDetectionConditions = wholeConditions + }; // Set the series group conditions. - var groupKey = new DimensionKey(); - - groupKey.AddDimensionColumn("city", "Koltaka"); - - var groupConditions = new MetricSeriesGroupDetectionCondition(groupKey) + var groupConditions = new MetricSeriesGroupDetectionCondition() { ChangeThresholdCondition = new (40.0, 12, false, AnomalyDetectorDirection.Up, new (5, 6.0)) }; + groupConditions.SeriesGroupKey.AddDimensionColumn("city", "Koltaka"); + configToCreate.SeriesGroupDetectionConditions.Add(groupConditions); // Set the series conditions and create the configuration. - var seriesKey = new DimensionKey(); - - seriesKey.AddDimensionColumn("city", "Delhi"); - seriesKey.AddDimensionColumn("category", "Handmade"); - - var seriesConditions = new MetricSingleSeriesDetectionCondition(seriesKey) + var seriesConditions = new MetricSingleSeriesDetectionCondition() { SmartDetectionCondition = new (30.0, AnomalyDetectorDirection.Both, new (3, 4.0)) }; + seriesConditions.SeriesKey.AddDimensionColumn("city", "Delhi"); + seriesConditions.SeriesKey.AddDimensionColumn("category", "Handmade"); + configToCreate.SeriesDetectionConditions.Add(seriesConditions); await using var disposableConfig = await DisposableDetectionConfiguration.CreateDetectionConfigurationAsync(adminClient, configToCreate); // Update the created configuration. - var configToUpdate = new AnomalyDetectionConfiguration(MetricId, configName, wholeConditions); + var configToUpdate = new AnomalyDetectionConfiguration(); configToUpdate.Description = description; - configToUpdate.WholeSeriesDetectionConditions.CrossConditionsOperator = DetectionConditionsOperator.And; - configToUpdate.WholeSeriesDetectionConditions.HardThresholdCondition = new (AnomalyDetectorDirection.Up, new (11, 12.0)) { UpperBound = 9.0 }; - configToUpdate.WholeSeriesDetectionConditions.ChangeThresholdCondition = null; - configToUpdate.WholeSeriesDetectionConditions.SmartDetectionCondition = new (75.0, AnomalyDetectorDirection.Both, new (15, 16.0)); - - var newGroupKey = new DimensionKey(); - - newGroupKey.AddDimensionColumn("city", "Delhi"); + configToUpdate.WholeSeriesDetectionConditions = new MetricWholeSeriesDetectionCondition() + { + CrossConditionsOperator = DetectionConditionsOperator.And, + HardThresholdCondition = new (AnomalyDetectorDirection.Up, new (11, 12.0)) { UpperBound = 9.0 }, + SmartDetectionCondition = new (75.0, AnomalyDetectorDirection.Both, new (15, 16.0)) + }; - var newGroupConditions = new MetricSeriesGroupDetectionCondition(newGroupKey) + var newGroupConditions = new MetricSeriesGroupDetectionCondition() { SmartDetectionCondition = new (95.0, AnomalyDetectorDirection.Both, new (25, 26.0)) }; + newGroupConditions.SeriesGroupKey.AddDimensionColumn("city", "Delhi"); + configToUpdate.SeriesGroupDetectionConditions.Add(groupConditions); configToUpdate.SeriesGroupDetectionConditions.Add(newGroupConditions); @@ -906,7 +921,12 @@ public async Task DeleteDetectionConfiguration(bool useTokenCredential) } }; - var configToCreate = new AnomalyDetectionConfiguration(MetricId, configName, wholeConditions); + var configToCreate = new AnomalyDetectionConfiguration() + { + MetricId = MetricId, + Name = configName, + WholeSeriesDetectionConditions = wholeConditions + }; string configId = null; diff --git a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/MetricsAdvisorAdministrationClient/AnomalyDetectionConfigurationTests.cs b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/MetricsAdvisorAdministrationClient/AnomalyDetectionConfigurationTests.cs index 897fcb389069..19918bf3e2fe 100644 --- a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/MetricsAdvisorAdministrationClient/AnomalyDetectionConfigurationTests.cs +++ b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/MetricsAdvisorAdministrationClient/AnomalyDetectionConfigurationTests.cs @@ -24,9 +24,40 @@ public void CreateDetectionConfigurationValidatesArguments() { MetricsAdvisorAdministrationClient adminClient = GetMetricsAdvisorAdministrationClient(); - Assert.That(() => adminClient.CreateDetectionConfigurationAsync(null), Throws.InstanceOf()); + var metricId = "metricId"; + var name = "configName"; + var conditions = new MetricWholeSeriesDetectionCondition(); + + var config = new AnomalyDetectionConfiguration() + { + MetricId = null, + Name = name, + WholeSeriesDetectionConditions = conditions + }; + Assert.That(() => adminClient.CreateDetectionConfigurationAsync(null), Throws.InstanceOf()); Assert.That(() => adminClient.CreateDetectionConfiguration(null), Throws.InstanceOf()); + + Assert.That(() => adminClient.CreateDetectionConfigurationAsync(config), Throws.InstanceOf()); + Assert.That(() => adminClient.CreateDetectionConfiguration(config), Throws.InstanceOf()); + + config.MetricId = ""; + Assert.That(() => adminClient.CreateDetectionConfigurationAsync(config), Throws.InstanceOf()); + Assert.That(() => adminClient.CreateDetectionConfiguration(config), Throws.InstanceOf()); + + config.MetricId = metricId; + config.Name = null; + Assert.That(() => adminClient.CreateDetectionConfigurationAsync(config), Throws.InstanceOf()); + Assert.That(() => adminClient.CreateDetectionConfiguration(config), Throws.InstanceOf()); + + config.Name = ""; + Assert.That(() => adminClient.CreateDetectionConfigurationAsync(config), Throws.InstanceOf()); + Assert.That(() => adminClient.CreateDetectionConfiguration(config), Throws.InstanceOf()); + + config.Name = name; + config.WholeSeriesDetectionConditions = null; + Assert.That(() => adminClient.CreateDetectionConfigurationAsync(config), Throws.InstanceOf()); + Assert.That(() => adminClient.CreateDetectionConfiguration(config), Throws.InstanceOf()); } [Test] @@ -34,7 +65,12 @@ public void CreateDetectionConfigurationRespectsTheCancellationToken() { MetricsAdvisorAdministrationClient adminClient = GetMetricsAdvisorAdministrationClient(); - var config = new AnomalyDetectionConfiguration(FakeGuid, "configName", new ()); + var config = new AnomalyDetectionConfiguration() + { + MetricId = FakeGuid, + Name = "configName", + WholeSeriesDetectionConditions = new () + }; using var cancellationSource = new CancellationTokenSource(); cancellationSource.Cancel(); @@ -48,7 +84,7 @@ public void UpdateDetectionConfigurationValidatesArguments() { MetricsAdvisorAdministrationClient adminClient = GetMetricsAdvisorAdministrationClient(); - var config = new AnomalyDetectionConfiguration(FakeGuid, "configName", new ()); + var config = new AnomalyDetectionConfiguration(); Assert.That(() => adminClient.UpdateDetectionConfigurationAsync(null, config), Throws.InstanceOf()); Assert.That(() => adminClient.UpdateDetectionConfigurationAsync("", config), Throws.InstanceOf()); @@ -66,7 +102,7 @@ public void UpdateDetectionConfigurationRespectsTheCancellationToken() { MetricsAdvisorAdministrationClient adminClient = GetMetricsAdvisorAdministrationClient(); - var config = new AnomalyDetectionConfiguration(FakeGuid, "configName", new ()); + var config = new AnomalyDetectionConfiguration(); using var cancellationSource = new CancellationTokenSource(); cancellationSource.Cancel(); diff --git a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/Samples/Sample03_DetectionConfigurationCrudOperations.cs b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/Samples/Sample03_DetectionConfigurationCrudOperations.cs index 9e4978fc7d0f..ff9eb344335d 100644 --- a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/Samples/Sample03_DetectionConfigurationCrudOperations.cs +++ b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/Samples/Sample03_DetectionConfigurationCrudOperations.cs @@ -28,23 +28,25 @@ public async Task CreateAndDeleteDetectionConfigurationAsync() //@@ string metricId = ""; string configurationName = "Sample anomaly detection configuration"; - var hardThresholdSuppressCondition = new SuppressCondition(1, 100); - var hardThresholdCondition = new HardThresholdCondition(AnomalyDetectorDirection.Down, hardThresholdSuppressCondition) + var detectionConfiguration = new AnomalyDetectionConfiguration() { - LowerBound = 5.0 + MetricId = metricId, + Name = configurationName, + WholeSeriesDetectionConditions = new MetricWholeSeriesDetectionCondition() }; - var smartDetectionSuppressCondition = new SuppressCondition(4, 50); - var smartDetectionCondition = new SmartDetectionCondition(10.0, AnomalyDetectorDirection.Up, smartDetectionSuppressCondition); + var detectCondition = detectionConfiguration.WholeSeriesDetectionConditions; - var detectionCondition = new MetricWholeSeriesDetectionCondition() + var hardSuppress = new SuppressCondition(1, 100); + detectCondition.HardThresholdCondition = new HardThresholdCondition(AnomalyDetectorDirection.Down, hardSuppress) { - HardThresholdCondition = hardThresholdCondition, - SmartDetectionCondition = smartDetectionCondition, - CrossConditionsOperator = DetectionConditionsOperator.Or + LowerBound = 5.0 }; - var detectionConfiguration = new AnomalyDetectionConfiguration(metricId, configurationName, detectionCondition); + var smartSuppress = new SuppressCondition(4, 50); + detectCondition.SmartDetectionCondition = new SmartDetectionCondition(10.0, AnomalyDetectorDirection.Up, smartSuppress); + + detectCondition.CrossConditionsOperator = DetectionConditionsOperator.Or; Response response = await adminClient.CreateDetectionConfigurationAsync(detectionConfiguration); diff --git a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/SessionRecords/AnomalyDetectionConfigurationLiveTests/UpdateDetectionConfigurationWithEveryMemberAndNewInstance.json b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/SessionRecords/AnomalyDetectionConfigurationLiveTests/UpdateDetectionConfigurationWithEveryMemberAndNewInstance.json index 80a813da8b89..c6f9669e2331 100644 --- a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/SessionRecords/AnomalyDetectionConfigurationLiveTests/UpdateDetectionConfigurationWithEveryMemberAndNewInstance.json +++ b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/SessionRecords/AnomalyDetectionConfigurationLiveTests/UpdateDetectionConfigurationWithEveryMemberAndNewInstance.json @@ -8,8 +8,11 @@ "Content-Length": "1027", "Content-Type": "application/json", "Ocp-Apim-Subscription-Key": "Sanitized", - "traceparent": "00-c81bef34ecc70743a71c725f137c99a1-fcbed849627f304d-00", - "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20201215.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", + "traceparent": "00-0d0527a3e7cdd84085c691780e7a0534-706967fd754e004a-00", + "User-Agent": [ + "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20210201.1", + "(.NET Core 4.6.29518.01; Microsoft Windows 10.0.19042 )" + ], "x-api-key": "Sanitized", "x-ms-client-request-id": "256aa5442af81da6a66908f546af16f0", "x-ms-return-client-request-id": "true" @@ -86,33 +89,35 @@ }, "StatusCode": 201, "ResponseHeaders": { - "apim-request-id": "ef5194f9-114c-4122-8235-37189ad49243", + "apim-request-id": "6ead3176-99ab-4879-af88-d19dff29571c", "Content-Length": "0", - "Date": "Wed, 16 Dec 2020 18:41:45 GMT", - "Location": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/211653b8-9288-482c-8076-43afa8b0c1b7", + "Date": "Mon, 01 Feb 2021 19:39:09 GMT", + "Location": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/3ffcf9ed-f188-40ed-aa19-f6d6e20450c1", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", - "x-content-type-options": "nosniff", - "x-envoy-upstream-service-time": "174", - "x-request-id": "ef5194f9-114c-4122-8235-37189ad49243" + "X-Content-Type-Options": "nosniff", + "x-envoy-upstream-service-time": "163", + "X-Request-ID": "6ead3176-99ab-4879-af88-d19dff29571c" }, "ResponseBody": [] }, { - "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/211653b8-9288-482c-8076-43afa8b0c1b7", + "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/3ffcf9ed-f188-40ed-aa19-f6d6e20450c1", "RequestMethod": "PATCH", "RequestHeaders": { "Accept": "application/json", - "Content-Length": "855", + "Content-Length": "831", "Content-Type": "application/merge-patch\u002Bjson", "Ocp-Apim-Subscription-Key": "Sanitized", - "traceparent": "00-4850f68a2bea3d44a0879104a325511f-456b977de4de8c44-00", - "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20201215.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", + "traceparent": "00-3736e697a37689428f6da6389f76cd5c-85472ad7b99a1f46-00", + "User-Agent": [ + "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20210201.1", + "(.NET Core 4.6.29518.01; Microsoft Windows 10.0.19042 )" + ], "x-api-key": "Sanitized", "x-ms-client-request-id": "f8eb81e7581f7bf1d2bf97aaf9406e6a", "x-ms-return-client-request-id": "true" }, "RequestBody": { - "name": "configF7X0zDkk", "description": "This hook was created to test the .NET client.", "wholeMetricConfiguration": { "conditionOperator": "AND", @@ -171,24 +176,27 @@ }, "StatusCode": 204, "ResponseHeaders": { - "apim-request-id": "cc9584cc-4f25-48bf-b208-974e687e65bb", + "apim-request-id": "5b5f8e36-d4a4-4854-a65b-e70552a02be9", "Content-Length": "0", - "Date": "Wed, 16 Dec 2020 18:41:45 GMT", + "Date": "Mon, 01 Feb 2021 19:39:09 GMT", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", - "x-content-type-options": "nosniff", - "x-envoy-upstream-service-time": "171", - "x-request-id": "cc9584cc-4f25-48bf-b208-974e687e65bb" + "X-Content-Type-Options": "nosniff", + "x-envoy-upstream-service-time": "183", + "X-Request-ID": "5b5f8e36-d4a4-4854-a65b-e70552a02be9" }, "ResponseBody": [] }, { - "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/211653b8-9288-482c-8076-43afa8b0c1b7", + "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/3ffcf9ed-f188-40ed-aa19-f6d6e20450c1", "RequestMethod": "GET", "RequestHeaders": { "Accept": "application/json", "Ocp-Apim-Subscription-Key": "Sanitized", - "traceparent": "00-3e302550c7194949bb195736077fa5f9-f917bd037bbb1745-00", - "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20201215.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", + "traceparent": "00-0c2c371202390640a01c78a68e26eafc-ae6427c6481e4347-00", + "User-Agent": [ + "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20210201.1", + "(.NET Core 4.6.29518.01; Microsoft Windows 10.0.19042 )" + ], "x-api-key": "Sanitized", "x-ms-client-request-id": "5552c93a3bacd899e34012f071d5ca80", "x-ms-return-client-request-id": "true" @@ -196,17 +204,17 @@ "RequestBody": null, "StatusCode": 200, "ResponseHeaders": { - "apim-request-id": "42e66cfa-d3d8-4420-926b-4d27c415a07e", + "apim-request-id": "5aaaf7f6-561e-4eb1-9c96-69af846ea65b", "Content-Length": "994", "Content-Type": "application/json; charset=utf-8", - "Date": "Wed, 16 Dec 2020 18:41:45 GMT", + "Date": "Mon, 01 Feb 2021 19:39:10 GMT", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", - "x-content-type-options": "nosniff", - "x-envoy-upstream-service-time": "98", - "x-request-id": "42e66cfa-d3d8-4420-926b-4d27c415a07e" + "X-Content-Type-Options": "nosniff", + "x-envoy-upstream-service-time": "112", + "X-Request-ID": "5aaaf7f6-561e-4eb1-9c96-69af846ea65b" }, "ResponseBody": { - "anomalyDetectionConfigurationId": "211653b8-9288-482c-8076-43afa8b0c1b7", + "anomalyDetectionConfigurationId": "3ffcf9ed-f188-40ed-aa19-f6d6e20450c1", "name": "configF7X0zDkk", "description": "This hook was created to test the .NET client.", "metricId": "27e3015f-04fd-44ba-a20b-bc529a0aebae", @@ -267,13 +275,16 @@ } }, { - "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/211653b8-9288-482c-8076-43afa8b0c1b7", + "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/3ffcf9ed-f188-40ed-aa19-f6d6e20450c1", "RequestMethod": "DELETE", "RequestHeaders": { "Accept": "application/json", "Ocp-Apim-Subscription-Key": "Sanitized", - "traceparent": "00-6eb3f9b57609ef4294db9fa58a919102-bef5788deb569f47-00", - "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20201215.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", + "traceparent": "00-24c173cd1b5dc44998398c2c7c862c68-db1b97aa31980947-00", + "User-Agent": [ + "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20210201.1", + "(.NET Core 4.6.29518.01; Microsoft Windows 10.0.19042 )" + ], "x-api-key": "Sanitized", "x-ms-client-request-id": "7057a5e39470eb8fb4ef533892fb2366", "x-ms-return-client-request-id": "true" @@ -281,13 +292,13 @@ "RequestBody": null, "StatusCode": 204, "ResponseHeaders": { - "apim-request-id": "bcba61cb-6b0c-4971-a804-746956f73e43", + "apim-request-id": "856730d6-7060-4dc2-88fa-8056f6adfa63", "Content-Length": "0", - "Date": "Wed, 16 Dec 2020 18:41:46 GMT", + "Date": "Mon, 01 Feb 2021 19:39:10 GMT", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", - "x-content-type-options": "nosniff", - "x-envoy-upstream-service-time": "104", - "x-request-id": "bcba61cb-6b0c-4971-a804-746956f73e43" + "X-Content-Type-Options": "nosniff", + "x-envoy-upstream-service-time": "122", + "X-Request-ID": "856730d6-7060-4dc2-88fa-8056f6adfa63" }, "ResponseBody": [] } diff --git a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/SessionRecords/AnomalyDetectionConfigurationLiveTests/UpdateDetectionConfigurationWithEveryMemberAndNewInstanceAsync.json b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/SessionRecords/AnomalyDetectionConfigurationLiveTests/UpdateDetectionConfigurationWithEveryMemberAndNewInstanceAsync.json index c5abab8be0b2..cda9a99316a3 100644 --- a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/SessionRecords/AnomalyDetectionConfigurationLiveTests/UpdateDetectionConfigurationWithEveryMemberAndNewInstanceAsync.json +++ b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/SessionRecords/AnomalyDetectionConfigurationLiveTests/UpdateDetectionConfigurationWithEveryMemberAndNewInstanceAsync.json @@ -8,8 +8,11 @@ "Content-Length": "1027", "Content-Type": "application/json", "Ocp-Apim-Subscription-Key": "Sanitized", - "traceparent": "00-419d05c1cc4dd343ab819c223e466416-36d8db55e531e640-00", - "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20201215.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", + "traceparent": "00-879e4d69d405aa4ea04de75a2aa8e721-93983f1b88a10c4d-00", + "User-Agent": [ + "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20210201.1", + "(.NET Core 4.6.29518.01; Microsoft Windows 10.0.19042 )" + ], "x-api-key": "Sanitized", "x-ms-client-request-id": "502a454f19fa654c9876b839d913d76a", "x-ms-return-client-request-id": "true" @@ -86,33 +89,35 @@ }, "StatusCode": 201, "ResponseHeaders": { - "apim-request-id": "ba5e6b29-b5b0-47ea-ac15-d6c43ed1ae00", + "apim-request-id": "cf927d13-eb38-4c7e-b98a-d1694a57ce8d", "Content-Length": "0", - "Date": "Wed, 16 Dec 2020 18:41:51 GMT", - "Location": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/8d027d0a-fbb3-4cbb-a702-e9ca77de145e", + "Date": "Mon, 01 Feb 2021 19:39:11 GMT", + "Location": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/7fce7841-1217-4c5f-994e-73daa49b951c", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", - "x-content-type-options": "nosniff", - "x-envoy-upstream-service-time": "153", - "x-request-id": "ba5e6b29-b5b0-47ea-ac15-d6c43ed1ae00" + "X-Content-Type-Options": "nosniff", + "x-envoy-upstream-service-time": "165", + "X-Request-ID": "cf927d13-eb38-4c7e-b98a-d1694a57ce8d" }, "ResponseBody": [] }, { - "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/8d027d0a-fbb3-4cbb-a702-e9ca77de145e", + "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/7fce7841-1217-4c5f-994e-73daa49b951c", "RequestMethod": "PATCH", "RequestHeaders": { "Accept": "application/json", - "Content-Length": "855", + "Content-Length": "831", "Content-Type": "application/merge-patch\u002Bjson", "Ocp-Apim-Subscription-Key": "Sanitized", - "traceparent": "00-9aaa156be8bcc64d9f50a74e0e203ee5-7510e2043d231049-00", - "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20201215.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", + "traceparent": "00-7ddafb74ae68434bb66cdd6f25cbf6c8-bf40556d22c1d643-00", + "User-Agent": [ + "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20210201.1", + "(.NET Core 4.6.29518.01; Microsoft Windows 10.0.19042 )" + ], "x-api-key": "Sanitized", "x-ms-client-request-id": "c9ae2e3ae71e100488431ff580d93b49", "x-ms-return-client-request-id": "true" }, "RequestBody": { - "name": "config5ENrcI0q", "description": "This hook was created to test the .NET client.", "wholeMetricConfiguration": { "conditionOperator": "AND", @@ -171,24 +176,27 @@ }, "StatusCode": 204, "ResponseHeaders": { - "apim-request-id": "b6257e03-ac70-4765-8ae3-8dcf9ed9f5cc", + "apim-request-id": "15f7af1d-3c76-472a-a2a7-be74c7112df1", "Content-Length": "0", - "Date": "Wed, 16 Dec 2020 18:41:51 GMT", + "Date": "Mon, 01 Feb 2021 19:39:12 GMT", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", - "x-content-type-options": "nosniff", - "x-envoy-upstream-service-time": "172", - "x-request-id": "b6257e03-ac70-4765-8ae3-8dcf9ed9f5cc" + "X-Content-Type-Options": "nosniff", + "x-envoy-upstream-service-time": "173", + "X-Request-ID": "15f7af1d-3c76-472a-a2a7-be74c7112df1" }, "ResponseBody": [] }, { - "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/8d027d0a-fbb3-4cbb-a702-e9ca77de145e", + "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/7fce7841-1217-4c5f-994e-73daa49b951c", "RequestMethod": "GET", "RequestHeaders": { "Accept": "application/json", "Ocp-Apim-Subscription-Key": "Sanitized", - "traceparent": "00-53222cfa9a26f2479e357fb3c4a68229-a96dbb229e1f8645-00", - "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20201215.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", + "traceparent": "00-e7b66e1761aaff4c88eddacc4dc80745-2468a0664434d044-00", + "User-Agent": [ + "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20210201.1", + "(.NET Core 4.6.29518.01; Microsoft Windows 10.0.19042 )" + ], "x-api-key": "Sanitized", "x-ms-client-request-id": "af2650531617864bd64e4c6b902ac28f", "x-ms-return-client-request-id": "true" @@ -196,17 +204,17 @@ "RequestBody": null, "StatusCode": 200, "ResponseHeaders": { - "apim-request-id": "d518a420-7aa0-48b7-a610-0e3dd44be0fa", + "apim-request-id": "c78ec96c-7405-4aca-a6ed-e3b5c1d2dcb2", "Content-Length": "994", "Content-Type": "application/json; charset=utf-8", - "Date": "Wed, 16 Dec 2020 18:41:51 GMT", + "Date": "Mon, 01 Feb 2021 19:39:12 GMT", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", - "x-content-type-options": "nosniff", - "x-envoy-upstream-service-time": "96", - "x-request-id": "d518a420-7aa0-48b7-a610-0e3dd44be0fa" + "X-Content-Type-Options": "nosniff", + "x-envoy-upstream-service-time": "88", + "X-Request-ID": "c78ec96c-7405-4aca-a6ed-e3b5c1d2dcb2" }, "ResponseBody": { - "anomalyDetectionConfigurationId": "8d027d0a-fbb3-4cbb-a702-e9ca77de145e", + "anomalyDetectionConfigurationId": "7fce7841-1217-4c5f-994e-73daa49b951c", "name": "config5ENrcI0q", "description": "This hook was created to test the .NET client.", "metricId": "27e3015f-04fd-44ba-a20b-bc529a0aebae", @@ -267,13 +275,16 @@ } }, { - "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/8d027d0a-fbb3-4cbb-a702-e9ca77de145e", + "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/7fce7841-1217-4c5f-994e-73daa49b951c", "RequestMethod": "DELETE", "RequestHeaders": { "Accept": "application/json", "Ocp-Apim-Subscription-Key": "Sanitized", - "traceparent": "00-05c40d0951b61e4a83504f00e68c1750-4724322cc0b1b948-00", - "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20201215.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", + "traceparent": "00-2cf7c6d0da1d654994cc5f5f9cdefd7c-0a40fd376e83744c-00", + "User-Agent": [ + "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20210201.1", + "(.NET Core 4.6.29518.01; Microsoft Windows 10.0.19042 )" + ], "x-api-key": "Sanitized", "x-ms-client-request-id": "1a5c1663b85f67b8401ac7b6fa57e4bf", "x-ms-return-client-request-id": "true" @@ -281,13 +292,13 @@ "RequestBody": null, "StatusCode": 204, "ResponseHeaders": { - "apim-request-id": "958b9882-e3dd-41cb-b5a8-2e03145c5964", + "apim-request-id": "c3b7827a-7cc8-4af8-9447-ed1a9465113b", "Content-Length": "0", - "Date": "Wed, 16 Dec 2020 18:41:52 GMT", + "Date": "Mon, 01 Feb 2021 19:39:12 GMT", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", - "x-content-type-options": "nosniff", - "x-envoy-upstream-service-time": "89", - "x-request-id": "958b9882-e3dd-41cb-b5a8-2e03145c5964" + "X-Content-Type-Options": "nosniff", + "x-envoy-upstream-service-time": "98", + "X-Request-ID": "c3b7827a-7cc8-4af8-9447-ed1a9465113b" }, "ResponseBody": [] } diff --git a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/SessionRecords/AnomalyDetectionConfigurationLiveTests/UpdateDetectionConfigurationWithMinimumSetupAndNewInstance.json b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/SessionRecords/AnomalyDetectionConfigurationLiveTests/UpdateDetectionConfigurationWithMinimumSetupAndNewInstance.json index 9e0b9c49f377..739baa1c72f3 100644 --- a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/SessionRecords/AnomalyDetectionConfigurationLiveTests/UpdateDetectionConfigurationWithMinimumSetupAndNewInstance.json +++ b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/SessionRecords/AnomalyDetectionConfigurationLiveTests/UpdateDetectionConfigurationWithMinimumSetupAndNewInstance.json @@ -8,8 +8,8 @@ "Content-Length": "858", "Content-Type": "application/json", "Ocp-Apim-Subscription-Key": "Sanitized", - "traceparent": "00-7b1b49cf221a6245ad867e622f650c00-e3407348bc14db43-00", - "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20201215.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", + "traceparent": "00-36753108367d8c4f948b8035a70e96fe-ea0c56055da8be40-00", + "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20210203.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", "x-api-key": "Sanitized", "x-ms-client-request-id": "56597177bb9b6b2364bc5d0879ba1b82", "x-ms-return-client-request-id": "true" @@ -76,33 +76,32 @@ }, "StatusCode": 201, "ResponseHeaders": { - "apim-request-id": "4ad7d8fc-0fb3-4a18-9bde-ef366445f1d1", + "apim-request-id": "7849d5fb-1414-4df3-bcb7-faa780c386e0", "Content-Length": "0", - "Date": "Wed, 16 Dec 2020 18:41:47 GMT", - "Location": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/db1001e8-006c-410f-b849-bbf668607e34", + "Date": "Wed, 03 Feb 2021 19:33:17 GMT", + "Location": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/bb5ac1f0-4398-481c-bc6f-28f0abeff1b2", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "x-content-type-options": "nosniff", - "x-envoy-upstream-service-time": "154", - "x-request-id": "4ad7d8fc-0fb3-4a18-9bde-ef366445f1d1" + "x-envoy-upstream-service-time": "754", + "x-request-id": "7849d5fb-1414-4df3-bcb7-faa780c386e0" }, "ResponseBody": [] }, { - "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/db1001e8-006c-410f-b849-bbf668607e34", + "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/bb5ac1f0-4398-481c-bc6f-28f0abeff1b2", "RequestMethod": "PATCH", "RequestHeaders": { "Accept": "application/json", - "Content-Length": "331", + "Content-Length": "307", "Content-Type": "application/merge-patch\u002Bjson", "Ocp-Apim-Subscription-Key": "Sanitized", - "traceparent": "00-ecf03ff851c444409c627c3d6b8cc196-d8fdef363639f94f-00", - "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20201215.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", + "traceparent": "00-94e8e9bc1ff58c44805ed223e4a16c42-e25345266994f541-00", + "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20210203.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", "x-api-key": "Sanitized", "x-ms-client-request-id": "b104856397e4ae918317ccc97defdbca", "x-ms-return-client-request-id": "true" }, "RequestBody": { - "name": "configg5UnOSqf", "wholeMetricConfiguration": { "conditionOperator": "OR", "smartDetectionCondition": { @@ -125,24 +124,24 @@ }, "StatusCode": 204, "ResponseHeaders": { - "apim-request-id": "e1683e40-d6f0-4b68-affa-c2caf09eba25", + "apim-request-id": "28a5727a-db18-4807-a69c-e97cf0ef451f", "Content-Length": "0", - "Date": "Wed, 16 Dec 2020 18:41:47 GMT", + "Date": "Wed, 03 Feb 2021 19:33:18 GMT", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "x-content-type-options": "nosniff", - "x-envoy-upstream-service-time": "94", - "x-request-id": "e1683e40-d6f0-4b68-affa-c2caf09eba25" + "x-envoy-upstream-service-time": "916", + "x-request-id": "28a5727a-db18-4807-a69c-e97cf0ef451f" }, "ResponseBody": [] }, { - "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/db1001e8-006c-410f-b849-bbf668607e34", + "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/bb5ac1f0-4398-481c-bc6f-28f0abeff1b2", "RequestMethod": "GET", "RequestHeaders": { "Accept": "application/json", "Ocp-Apim-Subscription-Key": "Sanitized", - "traceparent": "00-270b1e6673efd94b92221da96459ee2f-bdafa9de1690724c-00", - "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20201215.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", + "traceparent": "00-342beee4bccfdb479b4838712c4a5451-f8b6704c6d373149-00", + "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20210203.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", "x-api-key": "Sanitized", "x-ms-client-request-id": "f7d1039bbc2e8c075029ddb65f119619", "x-ms-return-client-request-id": "true" @@ -150,17 +149,17 @@ "RequestBody": null, "StatusCode": 200, "ResponseHeaders": { - "apim-request-id": "4c8b10e7-a86e-456d-ac15-9680a3d0110b", + "apim-request-id": "0c7e1042-d884-4d99-91a9-f68870220e16", "Content-Length": "964", "Content-Type": "application/json; charset=utf-8", - "Date": "Wed, 16 Dec 2020 18:41:47 GMT", + "Date": "Wed, 03 Feb 2021 19:33:19 GMT", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "x-content-type-options": "nosniff", - "x-envoy-upstream-service-time": "88", - "x-request-id": "4c8b10e7-a86e-456d-ac15-9680a3d0110b" + "x-envoy-upstream-service-time": "300", + "x-request-id": "0c7e1042-d884-4d99-91a9-f68870220e16" }, "ResponseBody": { - "anomalyDetectionConfigurationId": "db1001e8-006c-410f-b849-bbf668607e34", + "anomalyDetectionConfigurationId": "bb5ac1f0-4398-481c-bc6f-28f0abeff1b2", "name": "configg5UnOSqf", "description": "", "metricId": "27e3015f-04fd-44ba-a20b-bc529a0aebae", @@ -223,13 +222,13 @@ } }, { - "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/db1001e8-006c-410f-b849-bbf668607e34", + "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/bb5ac1f0-4398-481c-bc6f-28f0abeff1b2", "RequestMethod": "DELETE", "RequestHeaders": { "Accept": "application/json", "Ocp-Apim-Subscription-Key": "Sanitized", - "traceparent": "00-47d69c190b96f942b735324d6cfae327-a0171fbf858d504d-00", - "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20201215.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", + "traceparent": "00-ce49d6247e613848b913d3772e5b7653-c371783288a19f47-00", + "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20210203.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", "x-api-key": "Sanitized", "x-ms-client-request-id": "3ec3fe45587adf9ae0aad283ee59ee75", "x-ms-return-client-request-id": "true" @@ -237,13 +236,13 @@ "RequestBody": null, "StatusCode": 204, "ResponseHeaders": { - "apim-request-id": "546133f8-b24d-46e4-a2ab-6d5285cf3d8d", + "apim-request-id": "fc4278c7-ec24-449d-a55a-b9c7bf5a3988", "Content-Length": "0", - "Date": "Wed, 16 Dec 2020 18:41:47 GMT", + "Date": "Wed, 03 Feb 2021 19:33:19 GMT", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "x-content-type-options": "nosniff", - "x-envoy-upstream-service-time": "88", - "x-request-id": "546133f8-b24d-46e4-a2ab-6d5285cf3d8d" + "x-envoy-upstream-service-time": "89", + "x-request-id": "fc4278c7-ec24-449d-a55a-b9c7bf5a3988" }, "ResponseBody": [] } diff --git a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/SessionRecords/AnomalyDetectionConfigurationLiveTests/UpdateDetectionConfigurationWithMinimumSetupAndNewInstanceAsync.json b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/SessionRecords/AnomalyDetectionConfigurationLiveTests/UpdateDetectionConfigurationWithMinimumSetupAndNewInstanceAsync.json index d014fa758d99..2170010e2817 100644 --- a/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/SessionRecords/AnomalyDetectionConfigurationLiveTests/UpdateDetectionConfigurationWithMinimumSetupAndNewInstanceAsync.json +++ b/sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/SessionRecords/AnomalyDetectionConfigurationLiveTests/UpdateDetectionConfigurationWithMinimumSetupAndNewInstanceAsync.json @@ -8,8 +8,8 @@ "Content-Length": "858", "Content-Type": "application/json", "Ocp-Apim-Subscription-Key": "Sanitized", - "traceparent": "00-e20e1656af8726498c29ca5d71c0dd42-31df9c5be8336b41-00", - "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20201215.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", + "traceparent": "00-7f29ea9df886f541846f5ed30e42b44b-86878dbda74bab42-00", + "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20210203.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", "x-api-key": "Sanitized", "x-ms-client-request-id": "f102e9ac2e4a7735645446a392101d05", "x-ms-return-client-request-id": "true" @@ -76,33 +76,32 @@ }, "StatusCode": 201, "ResponseHeaders": { - "apim-request-id": "1df672dc-4fb9-4401-abfd-ef3c097cb999", + "apim-request-id": "cdc1dd19-8c91-484f-98b1-2130c3580ae8", "Content-Length": "0", - "Date": "Wed, 16 Dec 2020 18:41:53 GMT", - "Location": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/2f4225af-7050-473c-9114-610df0220a10", + "Date": "Wed, 03 Feb 2021 19:33:19 GMT", + "Location": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/e0c936b0-db39-4866-b9fe-246b252c20b2", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "x-content-type-options": "nosniff", - "x-envoy-upstream-service-time": "170", - "x-request-id": "1df672dc-4fb9-4401-abfd-ef3c097cb999" + "x-envoy-upstream-service-time": "173", + "x-request-id": "cdc1dd19-8c91-484f-98b1-2130c3580ae8" }, "ResponseBody": [] }, { - "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/2f4225af-7050-473c-9114-610df0220a10", + "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/e0c936b0-db39-4866-b9fe-246b252c20b2", "RequestMethod": "PATCH", "RequestHeaders": { "Accept": "application/json", - "Content-Length": "331", + "Content-Length": "307", "Content-Type": "application/merge-patch\u002Bjson", "Ocp-Apim-Subscription-Key": "Sanitized", - "traceparent": "00-14f5dd4301027a47b8e7ac59a4a96910-80b6ac205bd3c344-00", - "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20201215.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", + "traceparent": "00-3cbbb201fdf1c94cacd153b45ce1b5e0-a92b4832d2bb734c-00", + "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20210203.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", "x-api-key": "Sanitized", "x-ms-client-request-id": "a20a71089792ee5bd1e0a6123636e598", "x-ms-return-client-request-id": "true" }, "RequestBody": { - "name": "configtkKIP1I7", "wholeMetricConfiguration": { "conditionOperator": "OR", "smartDetectionCondition": { @@ -125,24 +124,24 @@ }, "StatusCode": 204, "ResponseHeaders": { - "apim-request-id": "878b8738-62a1-4715-8784-2fc8a92c60ff", + "apim-request-id": "9add3064-7706-4b3c-99bf-d1290d7a746f", "Content-Length": "0", - "Date": "Wed, 16 Dec 2020 18:41:53 GMT", + "Date": "Wed, 03 Feb 2021 19:33:19 GMT", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "x-content-type-options": "nosniff", - "x-envoy-upstream-service-time": "106", - "x-request-id": "878b8738-62a1-4715-8784-2fc8a92c60ff" + "x-envoy-upstream-service-time": "101", + "x-request-id": "9add3064-7706-4b3c-99bf-d1290d7a746f" }, "ResponseBody": [] }, { - "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/2f4225af-7050-473c-9114-610df0220a10", + "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/e0c936b0-db39-4866-b9fe-246b252c20b2", "RequestMethod": "GET", "RequestHeaders": { "Accept": "application/json", "Ocp-Apim-Subscription-Key": "Sanitized", - "traceparent": "00-5b698a16f0afdd41aea49906e011ed02-60a394c2d36ad845-00", - "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20201215.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", + "traceparent": "00-c13646671d645c4596796374227d0b9d-264b671e68f9da46-00", + "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20210203.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", "x-api-key": "Sanitized", "x-ms-client-request-id": "11d3ef3a105f4d9e9897942017640725", "x-ms-return-client-request-id": "true" @@ -150,17 +149,17 @@ "RequestBody": null, "StatusCode": 200, "ResponseHeaders": { - "apim-request-id": "2dedbf82-36cd-4f2b-9459-a713fe50bd69", + "apim-request-id": "d839342a-c580-49a3-b28f-19bf55b56728", "Content-Length": "964", "Content-Type": "application/json; charset=utf-8", - "Date": "Wed, 16 Dec 2020 18:41:53 GMT", + "Date": "Wed, 03 Feb 2021 19:33:19 GMT", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "x-content-type-options": "nosniff", - "x-envoy-upstream-service-time": "89", - "x-request-id": "2dedbf82-36cd-4f2b-9459-a713fe50bd69" + "x-envoy-upstream-service-time": "94", + "x-request-id": "d839342a-c580-49a3-b28f-19bf55b56728" }, "ResponseBody": { - "anomalyDetectionConfigurationId": "2f4225af-7050-473c-9114-610df0220a10", + "anomalyDetectionConfigurationId": "e0c936b0-db39-4866-b9fe-246b252c20b2", "name": "configtkKIP1I7", "description": "", "metricId": "27e3015f-04fd-44ba-a20b-bc529a0aebae", @@ -223,13 +222,13 @@ } }, { - "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/2f4225af-7050-473c-9114-610df0220a10", + "RequestUri": "https://js-metrics-advisor.cognitiveservices.azure.com/metricsadvisor/v1.0/enrichment/anomalyDetection/configurations/e0c936b0-db39-4866-b9fe-246b252c20b2", "RequestMethod": "DELETE", "RequestHeaders": { "Accept": "application/json", "Ocp-Apim-Subscription-Key": "Sanitized", - "traceparent": "00-4d6d878bf5f1394aa09a21ba246b47b8-c6b39c2a501e2249-00", - "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20201215.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", + "traceparent": "00-40bd7dbf7b59ae4ea2622e3981060590-f0f1de5542f0f14d-00", + "User-Agent": "azsdk-net-AI.MetricsAdvisor/1.0.0-alpha.20210203.1 (.NET Framework 4.8.4250.0; Microsoft Windows 10.0.19042 )", "x-api-key": "Sanitized", "x-ms-client-request-id": "bf0f6e2b1dce14248d141f698822402e", "x-ms-return-client-request-id": "true" @@ -237,13 +236,13 @@ "RequestBody": null, "StatusCode": 204, "ResponseHeaders": { - "apim-request-id": "fe3a22b2-1122-48d8-b34b-37088d1889d8", + "apim-request-id": "1c2d8be0-f3e9-4425-b09f-ac02ece53553", "Content-Length": "0", - "Date": "Wed, 16 Dec 2020 18:41:53 GMT", + "Date": "Wed, 03 Feb 2021 19:33:19 GMT", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "x-content-type-options": "nosniff", - "x-envoy-upstream-service-time": "93", - "x-request-id": "fe3a22b2-1122-48d8-b34b-37088d1889d8" + "x-envoy-upstream-service-time": "96", + "x-request-id": "1c2d8be0-f3e9-4425-b09f-ac02ece53553" }, "ResponseBody": [] }