/// <summary> /// Update the Table service metrics properties according to the input /// </summary> /// <param name="metrics"></param> internal void UpdateServiceProperties(TableMetrics metrics) { if (Version != null) { metrics.Version = Version.ToString(); } if (RetentionDays != null) { if (RetentionDays == -1) { //Disable metrics retention policy metrics.Enabled = false; metrics.RetentionPolicy.Enabled = false; metrics.RetentionPolicy.Days = null; } else if (RetentionDays < 1 || RetentionDays > 365) { throw new ArgumentException(string.Format(Resources.InvalidRetentionDay, RetentionDays)); } else { metrics.Enabled = true; metrics.RetentionPolicy.Enabled = true; metrics.RetentionPolicy.Days = RetentionDays; } } if (MetricsLevel != null) { switch (MetricsLevel.Value) { case Azure.Storage.Shared.Protocol.MetricsLevel.Service: metrics.IncludeApis = false; break; case Azure.Storage.Shared.Protocol.MetricsLevel.ServiceAndApi: metrics.IncludeApis = true; break; case Azure.Storage.Shared.Protocol.MetricsLevel.None: metrics.IncludeApis = null; break; default: throw new ArgumentException($"Unsupported metrics level {MetricsLevel.Value}"); } } }
private MetricsLevel ParseMetricsLevel(TableMetrics tableMetrics) { if (!tableMetrics.Enabled) { return(MetricsLevel.None); } else if (tableMetrics.IncludeApis.HasValue && tableMetrics.IncludeApis.Value) { return(MetricsLevel.ServiceAndApi); } else { return(MetricsLevel.Service); } }
public static MetricsProperties ConvertMetricsProperties(TableMetrics tableMetrics) { MetricsLevel metricsLevel = MetricsLevel.None; if (tableMetrics.Enabled) { if (tableMetrics.IncludeApis.HasValue && tableMetrics.IncludeApis.Value) { metricsLevel = MetricsLevel.ServiceAndApi; } else { metricsLevel = MetricsLevel.Service; } } return(new MetricsProperties() { Version = tableMetrics.Version, RetentionDays = tableMetrics.RetentionPolicy?.Days, MetricsLevel = metricsLevel, }); }