Skip to content

Commit 2db60a2

Browse files
progress
1 parent fda5db0 commit 2db60a2

File tree

10 files changed

+23
-28
lines changed

10 files changed

+23
-28
lines changed

dotnet/src/Azure.Iot.Operations.Services/Observability/CachedCounter.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,6 @@ public void Add(double value)
3131
});
3232
}
3333

34-
public void Increment()
35-
{
36-
Add(1);
37-
}
38-
3934
public List<IncrementOperation> GetOperationsAndClear(int maxCount)
4035
{
4136
var result = new List<IncrementOperation>();

dotnet/src/Azure.Iot.Operations.Services/Observability/ICounter.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@ namespace Azure.Iot.Operations.Services.Observability;
66
public interface ICounter : IMetric
77
{
88
void Add(double value);
9-
void Increment();
109
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// Copyright (c) Microsoft Corporation.
2+
// Licensed under the MIT License.
3+
4+
namespace Azure.Iot.Operations.Services.Observability;
5+
6+
public interface IMetricsReporterService
7+
{
8+
void Start(CancellationToken cancellationToken = default);
9+
Task StopAsync();
10+
ICounter CreateCounter(string name, Dictionary<string, string> labels, string? unit = null);
11+
IGauge CreateGauge(string name, Dictionary<string, string> labels, string? unit = null);
12+
IHistogram CreateHistogram(string name, Dictionary<string, string> labels, string? unit = null);
13+
}

dotnet/src/Azure.Iot.Operations.Services/Observability/MetricsReporterService.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@
33

44
using Azure.Iot.Operations.Protocol.RPC;
55
using Azure.Iot.Operations.Services.Observability.AkriObservabilityService;
6+
using Azure.Iot.Operations.Services.Observability.Utils;
7+
using ITimer = Azure.Iot.Operations.Services.Observability.Utils.ITimer;
68

79
namespace Azure.Iot.Operations.Services.Observability;
810

9-
public class MetricsReporterService : IAsyncDisposable
11+
public class MetricsReporterService : IAsyncDisposable, IMetricsReporterService
1012
{
1113
private readonly IAkriObservabilityService _observabilityService;
1214
private readonly MetricsReporterOptions _options;

dotnet/src/Azure.Iot.Operations.Services/Observability/DefaultTimerFactory.cs renamed to dotnet/src/Azure.Iot.Operations.Services/Observability/Utils/DefaultTimerFactory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) Microsoft Corporation.
22
// Licensed under the MIT License.
33

4-
namespace Azure.Iot.Operations.Services.Observability;
4+
namespace Azure.Iot.Operations.Services.Observability.Utils;
55

66
public class DefaultTimerFactory : ITimerFactory
77
{

dotnet/src/Azure.Iot.Operations.Services/Observability/ITimer.cs renamed to dotnet/src/Azure.Iot.Operations.Services/Observability/Utils/ITimer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) Microsoft Corporation.
22
// Licensed under the MIT License.
33

4-
namespace Azure.Iot.Operations.Services.Observability;
4+
namespace Azure.Iot.Operations.Services.Observability.Utils;
55

66
public interface ITimer : IAsyncDisposable
77
{

dotnet/src/Azure.Iot.Operations.Services/Observability/ITimerFactory.cs renamed to dotnet/src/Azure.Iot.Operations.Services/Observability/Utils/ITimerFactory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) Microsoft Corporation.
22
// Licensed under the MIT License.
33

4-
namespace Azure.Iot.Operations.Services.Observability;
4+
namespace Azure.Iot.Operations.Services.Observability.Utils;
55

66
public interface ITimerFactory
77
{

dotnet/src/Azure.Iot.Operations.Services/Observability/TimerWrapper.cs renamed to dotnet/src/Azure.Iot.Operations.Services/Observability/Utils/TimerWrapper.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) Microsoft Corporation.
22
// Licensed under the MIT License.
33

4-
namespace Azure.Iot.Operations.Services.Observability
4+
namespace Azure.Iot.Operations.Services.Observability.Utils
55
{
66
public class TimerWrapper : ITimer
77
{

dotnet/test/Azure.Iot.Operations.Services.UnitTests/Observability/CachedCounterTests.cs

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -49,21 +49,6 @@ public void Add_AddsOperationToQueue()
4949
Assert.True(operations[0].Timestamp >= DateTime.UtcNow.AddMinutes(-1)); // Should be recent
5050
}
5151

52-
[Fact]
53-
public void Increment_AddsOperationWithValueOne()
54-
{
55-
// Arrange
56-
var counter = new CachedCounter(_name, _labels, _unit);
57-
58-
// Act
59-
counter.Increment();
60-
61-
// Assert
62-
var operations = counter.GetOperationsAndClear(10);
63-
Assert.Single(operations);
64-
Assert.Equal(1.0, operations[0].Value);
65-
}
66-
6752
[Fact]
6853
public void MultipleOperations_AddedCorrectly()
6954
{
@@ -72,7 +57,7 @@ public void MultipleOperations_AddedCorrectly()
7257

7358
// Act
7459
counter.Add(3.0);
75-
counter.Increment();
60+
counter.Add(1.0);
7661
counter.Add(7.5);
7762

7863
// Assert

dotnet/test/Azure.Iot.Operations.Services.UnitTests/Observability/MetricsReporterServiceTests.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44
using Azure.Iot.Operations.Protocol.RPC;
55
using Azure.Iot.Operations.Services.Observability;
66
using Azure.Iot.Operations.Services.Observability.AkriObservabilityService;
7+
using Azure.Iot.Operations.Services.Observability.Utils;
78
using Moq;
89
using Xunit;
9-
using ITimer = Azure.Iot.Operations.Services.Observability.ITimer;
10+
using ITimer = Azure.Iot.Operations.Services.Observability.Utils.ITimer;
1011

1112
namespace Azure.Iot.Operations.Services.UnitTests.Observability;
1213

0 commit comments

Comments
 (0)