Skip to content

Commit 6a3b39e

Browse files
committed
Default to not creating a StorageResolution Json property using JsonIgnore and having a default enum value
1 parent 0c31d87 commit 6a3b39e

File tree

6 files changed

+15
-10
lines changed

6 files changed

+15
-10
lines changed

libraries/src/AWS.Lambda.Powertools.Metrics/IMetrics.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public interface IMetrics : IDisposable
6565
/// <param name="defaultDimensions">Metric default dimensions</param>
6666
/// <param name="metricResolution">Metrics resolution</param>
6767
void PushSingleMetric(string metricName, double value, MetricUnit unit, string nameSpace = null,
68-
string service = null, Dictionary<string, string> defaultDimensions = null, MetricResolution metricResolution = MetricResolution.Standard);
68+
string service = null, Dictionary<string, string> defaultDimensions = null, MetricResolution metricResolution = MetricResolution.Default);
6969

7070
/// <summary>
7171
/// Sets the namespace

libraries/src/AWS.Lambda.Powertools.Metrics/Internal/MetricsAspectHandler.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,7 @@ public void OnEntry(AspectEventArgs eventArgs)
106106
MetricUnit.Count,
107107
nameSpace,
108108
service,
109-
dimensions,
110-
MetricResolution.Standard
109+
dimensions
111110
);
112111
}
113112

libraries/src/AWS.Lambda.Powertools.Metrics/Metrics.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ public void Dispose()
264264
/// <param name="unit">Metric Unit</param>
265265
/// <param name="metricResolution"></param>
266266
public static void AddMetric(string key, double value, MetricUnit unit = MetricUnit.None,
267-
MetricResolution metricResolution = MetricResolution.Standard)
267+
MetricResolution metricResolution = MetricResolution.Default)
268268
{
269269
_instance.AddMetric(key, value, unit, metricResolution);
270270
}
@@ -340,7 +340,7 @@ private void Flush(MetricsContext context)
340340
/// <param name="defaultDimensions">Default dimensions list</param>
341341
/// <param name="metricResolution">Metrics resolution</param>
342342
public static void PushSingleMetric(string metricName, double value, MetricUnit unit, string nameSpace = null,
343-
string service = null, Dictionary<string, string> defaultDimensions = null, MetricResolution metricResolution = MetricResolution.Standard)
343+
string service = null, Dictionary<string, string> defaultDimensions = null, MetricResolution metricResolution = MetricResolution.Default)
344344
{
345345
_instance.PushSingleMetric(metricName, value, unit, nameSpace, service, defaultDimensions, metricResolution);
346346
}

libraries/src/AWS.Lambda.Powertools.Metrics/Model/MetricDefinition.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class MetricDefinition
2828
/// </summary>
2929
/// <param name="name">Metric name</param>
3030
/// <param name="value">Metric value</param>
31-
public MetricDefinition(string name, double value) : this(name, MetricUnit.None, new List<double> {value}, MetricResolution.Standard)
31+
public MetricDefinition(string name, double value) : this(name, MetricUnit.None, new List<double> {value}, MetricResolution.Default)
3232
{
3333
}
3434

@@ -84,6 +84,7 @@ public MetricDefinition(string name, MetricUnit unit, List<double> values, Metri
8484
/// </summary>
8585
/// <value>The unit.</value>
8686
[JsonPropertyName(nameof(StorageResolution))]
87+
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
8788
public MetricResolution StorageResolution { get; set; }
8889

8990
/// <summary>

libraries/src/AWS.Lambda.Powertools.Metrics/Model/MetricResolution.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,9 @@ public enum MetricResolution
1818
/// High resolution, with data at a granularity of one second
1919
/// </summary>
2020
High = 1,
21+
22+
/// <summary>
23+
/// When not set default to not sending metric resolution
24+
/// </summary>
25+
Default = 0
2126
}

libraries/tests/AWS.Lambda.Powertools.Metrics.Tests/EMFValidationTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public void WhenCaptureColdStartEnabled_ValidateExists()
103103
var result = consoleOut.ToString();
104104

105105
// Assert
106-
Assert.Contains("\"Metrics\":[{\"Name\":\"ColdStart\",\"Unit\":\"Count\",\"StorageResolution\":60}]", result);
106+
Assert.Contains("\"Metrics\":[{\"Name\":\"ColdStart\",\"Unit\":\"Count\"}]", result);
107107
Assert.Contains("\"ColdStart\":1", result);
108108

109109
handler.ResetForTest();
@@ -146,7 +146,7 @@ public void When100MetricsAreAdded_FlushAutomatically()
146146
var metricsOutput = consoleOut.ToString();
147147

148148
// Assert
149-
Assert.Contains("{\"Namespace\":\"dotnet-powertools-test\",\"Metrics\":[{\"Name\":\"Metric Name 101\",\"Unit\":\"Count\",\"StorageResolution\":60}],\"Dimensions\":[[\"Service\"]", metricsOutput);
149+
Assert.Contains("{\"Namespace\":\"dotnet-powertools-test\",\"Metrics\":[{\"Name\":\"Metric Name 101\",\"Unit\":\"Count\"}],\"Dimensions\":[[\"Service\"]", metricsOutput);
150150

151151
// Reset
152152
handler.ResetForTest();
@@ -490,7 +490,7 @@ public void WhenMetricsAndMetadataAdded_ValidateOutput()
490490
var result = consoleOut.ToString();
491491

492492
// Assert
493-
Assert.Contains("CloudWatchMetrics\":[{\"Namespace\":\"dotnet-powertools-test\",\"Metrics\":[{\"Name\":\"Time\",\"Unit\":\"Milliseconds\",\"StorageResolution\":60}],\"Dimensions\":[[\"Service\"],[\"functionVersion\"]]}]},\"Service\":\"testService\",\"functionVersion\":\"$LATEST\",\"env\":\"dev\",\"Time\":100.7}"
493+
Assert.Contains("CloudWatchMetrics\":[{\"Namespace\":\"dotnet-powertools-test\",\"Metrics\":[{\"Name\":\"Time\",\"Unit\":\"Milliseconds\"}],\"Dimensions\":[[\"Service\"],[\"functionVersion\"]]}]},\"Service\":\"testService\",\"functionVersion\":\"$LATEST\",\"env\":\"dev\",\"Time\":100.7}"
494494
, result);
495495

496496
// Reset
@@ -531,7 +531,7 @@ public void WhenMetricsWithSameNameAdded_ValidateMetricArray()
531531
var result = consoleOut.ToString();
532532

533533
// Assert
534-
Assert.Contains("\"Metrics\":[{\"Name\":\"Time\",\"Unit\":\"Milliseconds\",\"StorageResolution\":60}]"
534+
Assert.Contains("\"Metrics\":[{\"Name\":\"Time\",\"Unit\":\"Milliseconds\"}]"
535535
, result);
536536
Assert.Contains("\"Time\":[100.5,200]"
537537
, result);

0 commit comments

Comments
 (0)