diff --git a/Microsoft.Azure.Cosmos/src/Telemetry/OpenTelemetry/CosmosDbClientMetrics.cs b/Microsoft.Azure.Cosmos/src/Telemetry/OpenTelemetry/CosmosDbClientMetrics.cs index 19cf4d955c..fc46efbcf6 100644 --- a/Microsoft.Azure.Cosmos/src/Telemetry/OpenTelemetry/CosmosDbClientMetrics.cs +++ b/Microsoft.Azure.Cosmos/src/Telemetry/OpenTelemetry/CosmosDbClientMetrics.cs @@ -49,7 +49,7 @@ public static class Name /// /// For feed operations (query, readAll, readMany, change feed) batch operations this meter capture the actual item count in responses from the service. /// - public const string RowCount = "db.client.response.row_count"; + public const string RowCount = "db.client.response.returned_rows"; /// /// Number of active SDK client instances. @@ -63,9 +63,14 @@ public static class Name public static class Unit { /// - /// Unit representing a simple count + /// Unit representing active client instances /// - public const string Count = "#"; + public const string Instance = "{instance}"; + + /// + /// Unit representing count of items in response + /// + public const string Item = "{item}"; /// /// Unit representing time in seconds @@ -73,10 +78,9 @@ public static class Unit public const string Sec = "s"; /// - /// Unit representing request units + /// Unit representing request units (RU) /// - public const string RequestUnit = "# RU"; - + public const string RequestUnit = "{request_unit}"; } /// diff --git a/Microsoft.Azure.Cosmos/src/Telemetry/OpenTelemetry/CosmosDbOperationMeter.cs b/Microsoft.Azure.Cosmos/src/Telemetry/OpenTelemetry/CosmosDbOperationMeter.cs index 7f0063cd7f..5a084dd67a 100644 --- a/Microsoft.Azure.Cosmos/src/Telemetry/OpenTelemetry/CosmosDbOperationMeter.cs +++ b/Microsoft.Azure.Cosmos/src/Telemetry/OpenTelemetry/CosmosDbOperationMeter.cs @@ -75,11 +75,11 @@ internal static void Initialize(CosmosClientTelemetryOptions metricsOptions = nu description: CosmosDbClientMetrics.OperationMetrics.Description.RequestCharge); CosmosDbOperationMeter.ActualItemHistogram ??= OperationMeter.CreateHistogram(name: CosmosDbClientMetrics.OperationMetrics.Name.RowCount, - unit: CosmosDbClientMetrics.OperationMetrics.Unit.Count, + unit: CosmosDbClientMetrics.OperationMetrics.Unit.Item, description: CosmosDbClientMetrics.OperationMetrics.Description.RowCount); CosmosDbOperationMeter.ActiveInstanceCounter ??= OperationMeter.CreateUpDownCounter(name: CosmosDbClientMetrics.OperationMetrics.Name.ActiveInstances, - unit: CosmosDbClientMetrics.OperationMetrics.Unit.Count, + unit: CosmosDbClientMetrics.OperationMetrics.Unit.Instance, description: CosmosDbClientMetrics.OperationMetrics.Description.ActiveInstances); IsEnabled = true; diff --git a/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/Metrics/OpenTelemetryMetricsTest.cs b/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/Metrics/OpenTelemetryMetricsTest.cs index 2f751c0419..97728d3263 100644 --- a/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/Metrics/OpenTelemetryMetricsTest.cs +++ b/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/Metrics/OpenTelemetryMetricsTest.cs @@ -25,7 +25,7 @@ public class OpenTelemetryMetricsTest : BaseCosmosClientHelper private static readonly Dictionary expectedOperationMetrics = new() { { "db.client.operation.duration", MetricType.Histogram }, - { "db.client.response.row_count", MetricType.Histogram}, + { "db.client.response.returned_rows", MetricType.Histogram}, { "azure.cosmosdb.client.operation.request_charge", MetricType.Histogram }, { "azure.cosmosdb.client.active_instance.count", MetricType.LongSumNonMonotonic } }; diff --git a/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/Contracts/DotNetPreviewSDKAPI.json b/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/Contracts/DotNetPreviewSDKAPI.json index c1244cca96..268a52d9f5 100644 --- a/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/Contracts/DotNetPreviewSDKAPI.json +++ b/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/Contracts/DotNetPreviewSDKAPI.json @@ -667,10 +667,15 @@ "Microsoft.Azure.Cosmos.CosmosDbClientMetrics+OperationMetrics+Unit;System.Object;IsAbstract:True;IsSealed:True;IsInterface:False;IsEnum:False;IsClass:True;IsValueType:False;IsNested:True;IsGenericType:False;IsSerializable:False": { "Subclasses": {}, "Members": { - "System.String Count": { + "System.String Instance": { "Type": "Field", "Attributes": [], - "MethodInfo": "System.String Count;IsInitOnly:False;IsStatic:True;" + "MethodInfo": "System.String Instance;IsInitOnly:False;IsStatic:True;" + }, + "System.String Item": { + "Type": "Field", + "Attributes": [], + "MethodInfo": "System.String Item;IsInitOnly:False;IsStatic:True;" }, "System.String RequestUnit": { "Type": "Field", @@ -1023,10 +1028,15 @@ "Microsoft.Azure.Cosmos.CosmosDbClientMetrics+OperationMetrics+Unit;System.Object;IsAbstract:True;IsSealed:True;IsInterface:False;IsEnum:False;IsClass:True;IsValueType:False;IsNested:True;IsGenericType:False;IsSerializable:False": { "Subclasses": {}, "Members": { - "System.String Count": { + "System.String Instance": { "Type": "Field", "Attributes": [], - "MethodInfo": "System.String Count;IsInitOnly:False;IsStatic:True;" + "MethodInfo": "System.String Instance;IsInitOnly:False;IsStatic:True;" + }, + "System.String Item": { + "Type": "Field", + "Attributes": [], + "MethodInfo": "System.String Item;IsInitOnly:False;IsStatic:True;" }, "System.String RequestUnit": { "Type": "Field", @@ -1098,10 +1108,15 @@ "Microsoft.Azure.Cosmos.CosmosDbClientMetrics+OperationMetrics+Unit;System.Object;IsAbstract:True;IsSealed:True;IsInterface:False;IsEnum:False;IsClass:True;IsValueType:False;IsNested:True;IsGenericType:False;IsSerializable:False": { "Subclasses": {}, "Members": { - "System.String Count": { + "System.String Instance": { + "Type": "Field", + "Attributes": [], + "MethodInfo": "System.String Instance;IsInitOnly:False;IsStatic:True;" + }, + "System.String Item": { "Type": "Field", "Attributes": [], - "MethodInfo": "System.String Count;IsInitOnly:False;IsStatic:True;" + "MethodInfo": "System.String Item;IsInitOnly:False;IsStatic:True;" }, "System.String RequestUnit": { "Type": "Field",