diff --git a/eng/Packages.Data.props b/eng/Packages.Data.props
index c262a42834134..419892743cd8c 100644
--- a/eng/Packages.Data.props
+++ b/eng/Packages.Data.props
@@ -120,12 +120,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
@@ -266,7 +266,7 @@
-
+
diff --git a/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/CHANGELOG.md b/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/CHANGELOG.md
index 511aa0dedfbe6..b125005a4433b 100644
--- a/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/CHANGELOG.md
+++ b/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/CHANGELOG.md
@@ -13,6 +13,14 @@
### Other Changes
+* Update OpenTelemetry dependencies
+ ([#36859](https://github.com/Azure/azure-sdk-for-net/pull/36859))
+ - OpenTelemetry 1.5.0
+ - OpenTelemetry.Extensions.Hosting 1.5.0
+ - OpenTelemetry.Instrumentation.AspNetCore 1.5.0-beta.1
+ - OpenTelemetry.Instrumentation.Http 1.5.0-beta.1
+ - OpenTelemetry.Instrumentation.SqlClient 1.5.0-beta.1
+
* Removed reference to `OpenTelemetry.Extensions.AzureMonitor`.
([#36972](https://github.com/Azure/azure-sdk-for-net/pull/36972))
diff --git a/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/src/OpenTelemetryBuilderExtensions.cs b/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/src/OpenTelemetryBuilderExtensions.cs
index a02ee32a59abf..cf854abcdb1f7 100644
--- a/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/src/OpenTelemetryBuilderExtensions.cs
+++ b/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/src/OpenTelemetryBuilderExtensions.cs
@@ -105,7 +105,6 @@ public static OpenTelemetryBuilder UseAzureMonitor(this OpenTelemetryBuilder bui
logging.AddOpenTelemetry(builderOptions =>
{
builderOptions.IncludeFormattedMessage = true;
- builderOptions.ParseStateValues = true;
builderOptions.IncludeScopes = false;
});
});
diff --git a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/CHANGELOG.md b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/CHANGELOG.md
index c874bd125c696..dec7587d3abfb 100644
--- a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/CHANGELOG.md
+++ b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/CHANGELOG.md
@@ -13,6 +13,9 @@
### Other Changes
+* Update OpenTelemetry dependencies
+ ([#36859](https://github.com/Azure/azure-sdk-for-net/pull/36859))
+ - OpenTelemetry 1.5.0
* Remove metric namespace mapping.
([#36968](https://github.com/Azure/azure-sdk-for-net/pull/36968))
diff --git a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/AzureMonitorExporterLoggingExtensions.cs b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/AzureMonitorExporterLoggingExtensions.cs
index 774994b1c523c..7767c9e04d827 100644
--- a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/AzureMonitorExporterLoggingExtensions.cs
+++ b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/AzureMonitorExporterLoggingExtensions.cs
@@ -31,10 +31,6 @@ public static OpenTelemetryLoggerOptions AddAzureMonitorLogExporter(this OpenTel
throw new ArgumentNullException(nameof(loggerOptions));
}
- // Ideally user should set this to true
- // but if they miss we may have an issue of missing state values which gets converted to custom dimensions.
- loggerOptions.ParseStateValues = true;
-
var options = new AzureMonitorExporterOptions();
configure?.Invoke(options);
diff --git a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/Internals/LogsHelper.cs b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/Internals/LogsHelper.cs
index e17c32c989dd1..00c16c027c83d 100644
--- a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/Internals/LogsHelper.cs
+++ b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/Internals/LogsHelper.cs
@@ -66,9 +66,9 @@ internal static List OtelToAzureMonitorLogs(Batch batc
{
string? message = logRecord.Exception?.Message ?? logRecord.FormattedMessage;
- if (logRecord.StateValues != null)
+ if (logRecord.Attributes != null)
{
- ExtractProperties(ref message, properties, logRecord.StateValues);
+ ExtractProperties(ref message, properties, logRecord.Attributes);
}
WriteScopeInformation(logRecord, properties);
diff --git a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/E2ETelemetryItemValidation/LogsTests.cs b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/E2ETelemetryItemValidation/LogsTests.cs
index 66f859d49465f..a292b801ed8ac 100644
--- a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/E2ETelemetryItemValidation/LogsTests.cs
+++ b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/E2ETelemetryItemValidation/LogsTests.cs
@@ -48,7 +48,6 @@ public void VerifyLog(LogLevel logLevel, string expectedSeverityLevel)
.AddFilter(logCategoryName, logLevel)
.AddOpenTelemetry(options =>
{
- options.ParseStateValues = true;
options.AddAzureMonitorLogExporterForTest(out telemetryItems);
});
});
diff --git a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/E2ETelemetryItemValidation/TracesTests.cs b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/E2ETelemetryItemValidation/TracesTests.cs
index 74a28bb4703dd..6738be273539d 100644
--- a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/E2ETelemetryItemValidation/TracesTests.cs
+++ b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/E2ETelemetryItemValidation/TracesTests.cs
@@ -220,7 +220,6 @@ public void VerifyLogWithinActivity(LogLevel logLevel, string expectedSeverityLe
.AddFilter(logCategoryName, logLevel)
.AddOpenTelemetry(options =>
{
- options.ParseStateValues = true;
options.AddAzureMonitorLogExporterForTest(out logTelemetryItems);
});
});
diff --git a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/LogsHelperTests.cs b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/LogsHelperTests.cs
index 32342586f8606..99a931fb7507e 100644
--- a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/LogsHelperTests.cs
+++ b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/LogsHelperTests.cs
@@ -24,6 +24,9 @@ public class LogsHelperTests
[InlineData(false)]
public void MessageIsSetToExceptionMessage(bool parseStateValues)
{
+ // ParseStateValues will be ignored unless the log contains an unknown objects.
+ // https://github.com/open-telemetry/opentelemetry-dotnet/pull/4334
+
var logRecords = new List();
using var loggerFactory = LoggerFactory.Create(builder =>
{
@@ -52,20 +55,13 @@ public void MessageIsSetToExceptionMessage(bool parseStateValues)
Assert.Equal("Test Exception", message);
- if (parseStateValues)
- {
- Assert.True(properties.TryGetValue("OriginalFormat", out string value));
- Assert.Equal(log, value);
- Assert.True(properties.TryGetValue("name", out string name));
- Assert.Equal("tomato", name);
- Assert.True(properties.TryGetValue("price", out string price));
- Assert.Equal("2.99", price);
- Assert.Equal(3, properties.Count);
- }
- else
- {
- Assert.Empty(properties);
- }
+ Assert.True(properties.TryGetValue("OriginalFormat", out string value));
+ Assert.Equal(log, value);
+ Assert.True(properties.TryGetValue("name", out string name));
+ Assert.Equal("tomato", name);
+ Assert.True(properties.TryGetValue("price", out string price));
+ Assert.Equal("2.99", price);
+ Assert.Equal(3, properties.Count);
}
[Fact]
@@ -77,7 +73,6 @@ public void MessageIsSetToFormattedMessageWhenIncludeFormattedMessageIsSet()
builder.AddOpenTelemetry(options =>
{
options.IncludeFormattedMessage = true;
- options.ParseStateValues = true;
options.AddInMemoryExporter(logRecords);
});
builder.AddFilter(typeof(LogsHelperTests).FullName, LogLevel.Trace);
@@ -109,7 +104,6 @@ public void MessageIsSetToOriginalFormatWhenIncludeFormattedMessageIsNotSet()
{
builder.AddOpenTelemetry(options =>
{
- options.ParseStateValues = true;
options.AddInMemoryExporter(logRecords);
});
builder.AddFilter(typeof(LogsHelperTests).FullName, LogLevel.Trace);
@@ -132,15 +126,17 @@ public void MessageIsSetToOriginalFormatWhenIncludeFormattedMessageIsNotSet()
Assert.Equal(2, properties.Count);
}
- [Fact]
- public void PropertiesContainFieldsFromStructuredLogs()
+ [Theory]
+ [InlineData(true)]
+ [InlineData(false)]
+ public void PropertiesContainFieldsFromStructuredLogs(bool parseStateValues)
{
var logRecords = new List();
using var loggerFactory = LoggerFactory.Create(builder =>
{
builder.AddOpenTelemetry(options =>
{
- options.ParseStateValues = true;
+ options.ParseStateValues = parseStateValues;
options.AddInMemoryExporter(logRecords);
});
builder.AddFilter(typeof(LogsHelperTests).FullName, LogLevel.Trace);
@@ -161,34 +157,6 @@ public void PropertiesContainFieldsFromStructuredLogs()
Assert.Equal(2, properties.Count);
}
- [Fact]
- public void PropertiesContainFieldsFromStructuredLogsIfParseStateValuesIsSet()
- {
- var logRecords = new List();
- using var loggerFactory = LoggerFactory.Create(builder =>
- {
- builder.AddOpenTelemetry(options =>
- {
- options.ParseStateValues = true;
- options.AddInMemoryExporter(logRecords);
- });
- builder.AddFilter(typeof(LogsHelperTests).FullName, LogLevel.Trace);
- });
-
- var logger = loggerFactory.CreateLogger();
-
- logger.LogInformation("{Name} {Price}!", "Tomato", 2.99);
-
- var properties = new ChangeTrackingDictionary();
- LogsHelper.GetMessageAndSetProperties(logRecords[0], properties);
-
- Assert.True(properties.TryGetValue("Name", out string name));
- Assert.Equal("Tomato", name);
- Assert.True(properties.TryGetValue("Price", out string price));
- Assert.Equal("2.99", price);
- Assert.Equal(2, properties.Count);
- }
-
[Fact]
public void PropertiesContainEventIdAndEventNameIfSetOnLog()
{
@@ -197,7 +165,6 @@ public void PropertiesContainEventIdAndEventNameIfSetOnLog()
{
builder.AddOpenTelemetry(options =>
{
- options.ParseStateValues = true;
options.AddInMemoryExporter(logRecords);
});
builder.AddFilter(typeof(LogsHelperTests).FullName, LogLevel.Trace);
@@ -239,7 +206,6 @@ public void ValidateTelemetryItem(string type)
{
builder.AddOpenTelemetry(options =>
{
- options.ParseStateValues = true;
options.AddInMemoryExporter(logRecords);
});
builder.AddFilter(typeof(LogsHelperTests).FullName, LogLevel.Trace);
diff --git a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/MessageDataTests.cs b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/MessageDataTests.cs
index 4e4debf477183..ebeacb8c1d83b 100644
--- a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/MessageDataTests.cs
+++ b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/MessageDataTests.cs
@@ -28,7 +28,6 @@ public void ValidateMessageData(LogLevel logLevel)
{
builder.AddOpenTelemetry(options =>
{
- options.ParseStateValues = true;
options.AddInMemoryExporter(logRecords);
});
builder.AddFilter(typeof(LogsHelperTests).FullName, LogLevel.Trace);
diff --git a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/TelemetryExceptionDataTests.cs b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/TelemetryExceptionDataTests.cs
index bbe6f7579ab97..b879a612c370e 100644
--- a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/TelemetryExceptionDataTests.cs
+++ b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/TelemetryExceptionDataTests.cs
@@ -188,7 +188,6 @@ public void ExceptionDataContainsExceptionDetails()
{
builder.AddOpenTelemetry(options =>
{
- options.ParseStateValues = true;
options.AddInMemoryExporter(logRecords);
});
builder.AddFilter(typeof(TelemetryExceptionDataTests).FullName, LogLevel.Trace);
@@ -212,7 +211,6 @@ public void ExceptionDataContainsExceptionDetailsofAllInnerExceptionsOfAggregate
{
builder.AddOpenTelemetry(options =>
{
- options.ParseStateValues = true;
options.AddInMemoryExporter(logRecords);
});
builder.AddFilter(typeof(TelemetryExceptionDataTests).FullName, LogLevel.Trace);
@@ -248,7 +246,6 @@ public void ExceptionDataContainsExceptionDetailsWithAllInnerExceptions()
{
builder.AddOpenTelemetry(options =>
{
- options.ParseStateValues = true;
options.AddInMemoryExporter(logRecords);
});
builder.AddFilter(typeof(TelemetryExceptionDataTests).FullName, LogLevel.Trace);
@@ -282,7 +279,6 @@ public void AggregateExceptionsWithMultipleNestedExceptionsAreTrimmedAfterReachi
{
builder.AddOpenTelemetry(options =>
{
- options.ParseStateValues = true;
options.AddInMemoryExporter(logRecords);
});
builder.AddFilter(typeof(TelemetryExceptionDataTests).FullName, LogLevel.Trace);
@@ -351,7 +347,6 @@ public void ValidateTelemetryExceptionData(LogLevel logLevel)
{
builder.AddOpenTelemetry(options =>
{
- options.ParseStateValues = true;
options.AddInMemoryExporter(logRecords);
});
builder.AddFilter(typeof(TelemetryExceptionDataTests).FullName, LogLevel.Trace);