Skip to content
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions eng/Packages.Data.props
Original file line number Diff line number Diff line change
Expand Up @@ -120,13 +120,13 @@

<ItemGroup Condition="$(MSBuildProjectName.StartsWith('Azure.Monitor.OpenTelemetry'))">
<!-- OpenTelemetry dependency approved for Azure.Monitor.OpenTelemetry.Exporter package only -->
<PackageReference Update="OpenTelemetry" Version="1.4.0" />
<PackageReference Update="OpenTelemetry.Exporter.InMemory" Version="1.4.0" />
<PackageReference Update="OpenTelemetry" Version="[1.5.0, 1.6.0)" />
<PackageReference Update="OpenTelemetry.Exporter.InMemory" Version="1.5.0" />
<PackageReference Update="OpenTelemetry.Extensions.AzureMonitor" Version="1.0.0-beta.4" />
<PackageReference Update="OpenTelemetry.Extensions.Hosting" Version="1.4.0" />
<PackageReference Update="OpenTelemetry.Instrumentation.AspNetCore" Version="1.0.0-rc9.14" />
<PackageReference Update="OpenTelemetry.Instrumentation.Http" Version="1.0.0-rc9.14" />
<PackageReference Update="OpenTelemetry.Instrumentation.SqlClient" Version="1.0.0-rc9.14" />
<PackageReference Update="OpenTelemetry.Extensions.Hosting" Version="1.5.0" />
<PackageReference Update="OpenTelemetry.Instrumentation.AspNetCore" Version="1.5.0-beta.1" />
<PackageReference Update="OpenTelemetry.Instrumentation.Http" Version="1.5.0-beta.1" />
<PackageReference Update="OpenTelemetry.Instrumentation.SqlClient" Version="1.5.0-beta.1" />
<PackageReference Update="OpenTelemetry.PersistentStorage.FileSystem" Version="1.0.0-beta.2" />
</ItemGroup>

Expand Down Expand Up @@ -267,7 +267,7 @@
<PackageReference Update="NSubstitute" Version="3.1.0" />
<PackageReference Update="NUnit" Version="3.13.2" />
<PackageReference Update="NUnit3TestAdapter" Version="4.4.2" />
<PackageReference Update="OpenTelemetry" Version="1.4.0" />
<PackageReference Update="OpenTelemetry" Version="1.5.0" />
<PackageReference Update="Polly" Version="7.1.0" />
<PackageReference Update="Polly.Contrib.WaitAndRetry" Version="1.1.1" />
<PackageReference Update="Portable.BouncyCastle" Version="1.9.0" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,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

## 1.0.0-beta.4 (2023-05-09)

### Features Added
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,6 @@ public static OpenTelemetryBuilder UseAzureMonitor(this OpenTelemetryBuilder bui
logging.AddOpenTelemetry(builderOptions =>
{
builderOptions.IncludeFormattedMessage = true;
builderOptions.ParseStateValues = true;
builderOptions.IncludeScopes = false;
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,13 @@

### 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))


## 1.0.0-beta.12 (2023-06-06)

### Features Added
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,9 @@ internal static List<TelemetryItem> OtelToAzureMonitorLogs(Batch<LogRecord> 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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ public void VerifyLog(LogLevel logLevel, string expectedSeverityLevel)
.AddFilter<OpenTelemetryLoggerProvider>(logCategoryName, logLevel)
.AddOpenTelemetry(options =>
{
options.ParseStateValues = true;
options.AddAzureMonitorLogExporterForTest(out telemetryItems);
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,6 @@ public void VerifyLogWithinActivity(LogLevel logLevel, string expectedSeverityLe
.AddFilter<OpenTelemetryLoggerProvider>(logCategoryName, logLevel)
.AddOpenTelemetry(options =>
{
options.ParseStateValues = true;
options.AddAzureMonitorLogExporterForTest(out logTelemetryItems);
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<LogRecord>();
using var loggerFactory = LoggerFactory.Create(builder =>
{
Expand Down Expand Up @@ -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]
Expand All @@ -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);
Expand Down Expand Up @@ -109,7 +104,6 @@ public void MessageIsSetToOriginalFormatWhenIncludeFormattedMessageIsNotSet()
{
builder.AddOpenTelemetry(options =>
{
options.ParseStateValues = true;
options.AddInMemoryExporter(logRecords);
});
builder.AddFilter(typeof(LogsHelperTests).FullName, LogLevel.Trace);
Expand All @@ -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<LogRecord>();
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);
Expand All @@ -161,34 +157,6 @@ public void PropertiesContainFieldsFromStructuredLogs()
Assert.Equal(2, properties.Count);
}

[Fact]
public void PropertiesContainFieldsFromStructuredLogsIfParseStateValuesIsSet()
{
var logRecords = new List<LogRecord>();
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<LogsHelperTests>();

logger.LogInformation("{Name} {Price}!", "Tomato", 2.99);

var properties = new ChangeTrackingDictionary<string, string>();
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()
{
Expand All @@ -197,7 +165,6 @@ public void PropertiesContainEventIdAndEventNameIfSetOnLog()
{
builder.AddOpenTelemetry(options =>
{
options.ParseStateValues = true;
options.AddInMemoryExporter(logRecords);
});
builder.AddFilter(typeof(LogsHelperTests).FullName, LogLevel.Trace);
Expand Down Expand Up @@ -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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,6 @@ public void ExceptionDataContainsExceptionDetails()
{
builder.AddOpenTelemetry(options =>
{
options.ParseStateValues = true;
options.AddInMemoryExporter(logRecords);
});
builder.AddFilter(typeof(TelemetryExceptionDataTests).FullName, LogLevel.Trace);
Expand All @@ -212,7 +211,6 @@ public void ExceptionDataContainsExceptionDetailsofAllInnerExceptionsOfAggregate
{
builder.AddOpenTelemetry(options =>
{
options.ParseStateValues = true;
options.AddInMemoryExporter(logRecords);
});
builder.AddFilter(typeof(TelemetryExceptionDataTests).FullName, LogLevel.Trace);
Expand Down Expand Up @@ -248,7 +246,6 @@ public void ExceptionDataContainsExceptionDetailsWithAllInnerExceptions()
{
builder.AddOpenTelemetry(options =>
{
options.ParseStateValues = true;
options.AddInMemoryExporter(logRecords);
});
builder.AddFilter(typeof(TelemetryExceptionDataTests).FullName, LogLevel.Trace);
Expand Down Expand Up @@ -282,7 +279,6 @@ public void AggregateExceptionsWithMultipleNestedExceptionsAreTrimmedAfterReachi
{
builder.AddOpenTelemetry(options =>
{
options.ParseStateValues = true;
options.AddInMemoryExporter(logRecords);
});
builder.AddFilter(typeof(TelemetryExceptionDataTests).FullName, LogLevel.Trace);
Expand Down Expand Up @@ -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);
Expand Down