Skip to content

Commit e49bccd

Browse files
author
Timothy Mothra
authored
[AzureMonitorExporter] update OpenTelemetry dependencies to v1.5.0 (#36859)
* update OpenTelemetry v1.5.0 * remove ParseStateValues = true * update changelog * update ParseStateValues in remaining tests * update package version * cleanup * revert * Update CHANGELOG.md remove whitespace
1 parent eb8f960 commit e49bccd

File tree

11 files changed

+35
-71
lines changed

11 files changed

+35
-71
lines changed

eng/Packages.Data.props

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -120,12 +120,12 @@
120120

121121
<ItemGroup Condition="$(MSBuildProjectName.StartsWith('Azure.Monitor.OpenTelemetry'))">
122122
<!-- OpenTelemetry dependency approved for Azure.Monitor.OpenTelemetry.Exporter package only -->
123-
<PackageReference Update="OpenTelemetry" Version="1.4.0" />
124-
<PackageReference Update="OpenTelemetry.Exporter.InMemory" Version="1.4.0" />
125-
<PackageReference Update="OpenTelemetry.Extensions.Hosting" Version="1.4.0" />
126-
<PackageReference Update="OpenTelemetry.Instrumentation.AspNetCore" Version="1.0.0-rc9.14" />
127-
<PackageReference Update="OpenTelemetry.Instrumentation.Http" Version="1.0.0-rc9.14" />
128-
<PackageReference Update="OpenTelemetry.Instrumentation.SqlClient" Version="1.0.0-rc9.14" />
123+
<PackageReference Update="OpenTelemetry" Version="1.5.0" />
124+
<PackageReference Update="OpenTelemetry.Exporter.InMemory" Version="1.5.0" />
125+
<PackageReference Update="OpenTelemetry.Extensions.Hosting" Version="1.5.0" />
126+
<PackageReference Update="OpenTelemetry.Instrumentation.AspNetCore" Version="1.5.0-beta.1" />
127+
<PackageReference Update="OpenTelemetry.Instrumentation.Http" Version="1.5.0-beta.1" />
128+
<PackageReference Update="OpenTelemetry.Instrumentation.SqlClient" Version="1.5.0-beta.1" />
129129
<PackageReference Update="OpenTelemetry.PersistentStorage.FileSystem" Version="1.0.0-beta.2" />
130130
</ItemGroup>
131131

@@ -266,7 +266,7 @@
266266
<PackageReference Update="NSubstitute" Version="3.1.0" />
267267
<PackageReference Update="NUnit" Version="3.13.2" />
268268
<PackageReference Update="NUnit3TestAdapter" Version="4.4.2" />
269-
<PackageReference Update="OpenTelemetry" Version="1.4.0" />
269+
<PackageReference Update="OpenTelemetry" Version="1.5.0" />
270270
<PackageReference Update="Polly" Version="7.1.0" />
271271
<PackageReference Update="Polly.Contrib.WaitAndRetry" Version="1.1.1" />
272272
<PackageReference Update="Portable.BouncyCastle" Version="1.9.0" />

sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,14 @@
1313

1414
### Other Changes
1515

16+
* Update OpenTelemetry dependencies
17+
([#36859](https://github.com/Azure/azure-sdk-for-net/pull/36859))
18+
- OpenTelemetry 1.5.0
19+
- OpenTelemetry.Extensions.Hosting 1.5.0
20+
- OpenTelemetry.Instrumentation.AspNetCore 1.5.0-beta.1
21+
- OpenTelemetry.Instrumentation.Http 1.5.0-beta.1
22+
- OpenTelemetry.Instrumentation.SqlClient 1.5.0-beta.1
23+
1624
* Removed reference to `OpenTelemetry.Extensions.AzureMonitor`.
1725
([#36972](https://github.com/Azure/azure-sdk-for-net/pull/36972))
1826

sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/src/OpenTelemetryBuilderExtensions.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,6 @@ public static OpenTelemetryBuilder UseAzureMonitor(this OpenTelemetryBuilder bui
105105
logging.AddOpenTelemetry(builderOptions =>
106106
{
107107
builderOptions.IncludeFormattedMessage = true;
108-
builderOptions.ParseStateValues = true;
109108
builderOptions.IncludeScopes = false;
110109
});
111110
});

sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313

1414
### Other Changes
1515

16+
* Update OpenTelemetry dependencies
17+
([#36859](https://github.com/Azure/azure-sdk-for-net/pull/36859))
18+
- OpenTelemetry 1.5.0
1619
* Remove metric namespace mapping.
1720
([#36968](https://github.com/Azure/azure-sdk-for-net/pull/36968))
1821

sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/AzureMonitorExporterLoggingExtensions.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,6 @@ public static OpenTelemetryLoggerOptions AddAzureMonitorLogExporter(this OpenTel
3131
throw new ArgumentNullException(nameof(loggerOptions));
3232
}
3333

34-
// Ideally user should set this to true
35-
// but if they miss we may have an issue of missing state values which gets converted to custom dimensions.
36-
loggerOptions.ParseStateValues = true;
37-
3834
var options = new AzureMonitorExporterOptions();
3935
configure?.Invoke(options);
4036

sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/Internals/LogsHelper.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,9 @@ internal static List<TelemetryItem> OtelToAzureMonitorLogs(Batch<LogRecord> batc
6666
{
6767
string? message = logRecord.Exception?.Message ?? logRecord.FormattedMessage;
6868

69-
if (logRecord.StateValues != null)
69+
if (logRecord.Attributes != null)
7070
{
71-
ExtractProperties(ref message, properties, logRecord.StateValues);
71+
ExtractProperties(ref message, properties, logRecord.Attributes);
7272
}
7373

7474
WriteScopeInformation(logRecord, properties);

sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/E2ETelemetryItemValidation/LogsTests.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ public void VerifyLog(LogLevel logLevel, string expectedSeverityLevel)
4848
.AddFilter<OpenTelemetryLoggerProvider>(logCategoryName, logLevel)
4949
.AddOpenTelemetry(options =>
5050
{
51-
options.ParseStateValues = true;
5251
options.AddAzureMonitorLogExporterForTest(out telemetryItems);
5352
});
5453
});

sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/E2ETelemetryItemValidation/TracesTests.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,6 @@ public void VerifyLogWithinActivity(LogLevel logLevel, string expectedSeverityLe
220220
.AddFilter<OpenTelemetryLoggerProvider>(logCategoryName, logLevel)
221221
.AddOpenTelemetry(options =>
222222
{
223-
options.ParseStateValues = true;
224223
options.AddAzureMonitorLogExporterForTest(out logTelemetryItems);
225224
});
226225
});

sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/LogsHelperTests.cs

Lines changed: 15 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ public class LogsHelperTests
2424
[InlineData(false)]
2525
public void MessageIsSetToExceptionMessage(bool parseStateValues)
2626
{
27+
// ParseStateValues will be ignored unless the log contains an unknown objects.
28+
// https://github.com/open-telemetry/opentelemetry-dotnet/pull/4334
29+
2730
var logRecords = new List<LogRecord>();
2831
using var loggerFactory = LoggerFactory.Create(builder =>
2932
{
@@ -52,20 +55,13 @@ public void MessageIsSetToExceptionMessage(bool parseStateValues)
5255

5356
Assert.Equal("Test Exception", message);
5457

55-
if (parseStateValues)
56-
{
57-
Assert.True(properties.TryGetValue("OriginalFormat", out string value));
58-
Assert.Equal(log, value);
59-
Assert.True(properties.TryGetValue("name", out string name));
60-
Assert.Equal("tomato", name);
61-
Assert.True(properties.TryGetValue("price", out string price));
62-
Assert.Equal("2.99", price);
63-
Assert.Equal(3, properties.Count);
64-
}
65-
else
66-
{
67-
Assert.Empty(properties);
68-
}
58+
Assert.True(properties.TryGetValue("OriginalFormat", out string value));
59+
Assert.Equal(log, value);
60+
Assert.True(properties.TryGetValue("name", out string name));
61+
Assert.Equal("tomato", name);
62+
Assert.True(properties.TryGetValue("price", out string price));
63+
Assert.Equal("2.99", price);
64+
Assert.Equal(3, properties.Count);
6965
}
7066

7167
[Fact]
@@ -77,7 +73,6 @@ public void MessageIsSetToFormattedMessageWhenIncludeFormattedMessageIsSet()
7773
builder.AddOpenTelemetry(options =>
7874
{
7975
options.IncludeFormattedMessage = true;
80-
options.ParseStateValues = true;
8176
options.AddInMemoryExporter(logRecords);
8277
});
8378
builder.AddFilter(typeof(LogsHelperTests).FullName, LogLevel.Trace);
@@ -109,7 +104,6 @@ public void MessageIsSetToOriginalFormatWhenIncludeFormattedMessageIsNotSet()
109104
{
110105
builder.AddOpenTelemetry(options =>
111106
{
112-
options.ParseStateValues = true;
113107
options.AddInMemoryExporter(logRecords);
114108
});
115109
builder.AddFilter(typeof(LogsHelperTests).FullName, LogLevel.Trace);
@@ -132,15 +126,17 @@ public void MessageIsSetToOriginalFormatWhenIncludeFormattedMessageIsNotSet()
132126
Assert.Equal(2, properties.Count);
133127
}
134128

135-
[Fact]
136-
public void PropertiesContainFieldsFromStructuredLogs()
129+
[Theory]
130+
[InlineData(true)]
131+
[InlineData(false)]
132+
public void PropertiesContainFieldsFromStructuredLogs(bool parseStateValues)
137133
{
138134
var logRecords = new List<LogRecord>();
139135
using var loggerFactory = LoggerFactory.Create(builder =>
140136
{
141137
builder.AddOpenTelemetry(options =>
142138
{
143-
options.ParseStateValues = true;
139+
options.ParseStateValues = parseStateValues;
144140
options.AddInMemoryExporter(logRecords);
145141
});
146142
builder.AddFilter(typeof(LogsHelperTests).FullName, LogLevel.Trace);
@@ -161,34 +157,6 @@ public void PropertiesContainFieldsFromStructuredLogs()
161157
Assert.Equal(2, properties.Count);
162158
}
163159

164-
[Fact]
165-
public void PropertiesContainFieldsFromStructuredLogsIfParseStateValuesIsSet()
166-
{
167-
var logRecords = new List<LogRecord>();
168-
using var loggerFactory = LoggerFactory.Create(builder =>
169-
{
170-
builder.AddOpenTelemetry(options =>
171-
{
172-
options.ParseStateValues = true;
173-
options.AddInMemoryExporter(logRecords);
174-
});
175-
builder.AddFilter(typeof(LogsHelperTests).FullName, LogLevel.Trace);
176-
});
177-
178-
var logger = loggerFactory.CreateLogger<LogsHelperTests>();
179-
180-
logger.LogInformation("{Name} {Price}!", "Tomato", 2.99);
181-
182-
var properties = new ChangeTrackingDictionary<string, string>();
183-
LogsHelper.GetMessageAndSetProperties(logRecords[0], properties);
184-
185-
Assert.True(properties.TryGetValue("Name", out string name));
186-
Assert.Equal("Tomato", name);
187-
Assert.True(properties.TryGetValue("Price", out string price));
188-
Assert.Equal("2.99", price);
189-
Assert.Equal(2, properties.Count);
190-
}
191-
192160
[Fact]
193161
public void PropertiesContainEventIdAndEventNameIfSetOnLog()
194162
{
@@ -197,7 +165,6 @@ public void PropertiesContainEventIdAndEventNameIfSetOnLog()
197165
{
198166
builder.AddOpenTelemetry(options =>
199167
{
200-
options.ParseStateValues = true;
201168
options.AddInMemoryExporter(logRecords);
202169
});
203170
builder.AddFilter(typeof(LogsHelperTests).FullName, LogLevel.Trace);
@@ -239,7 +206,6 @@ public void ValidateTelemetryItem(string type)
239206
{
240207
builder.AddOpenTelemetry(options =>
241208
{
242-
options.ParseStateValues = true;
243209
options.AddInMemoryExporter(logRecords);
244210
});
245211
builder.AddFilter(typeof(LogsHelperTests).FullName, LogLevel.Trace);

sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Tests/MessageDataTests.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ public void ValidateMessageData(LogLevel logLevel)
2828
{
2929
builder.AddOpenTelemetry(options =>
3030
{
31-
options.ParseStateValues = true;
3231
options.AddInMemoryExporter(logRecords);
3332
});
3433
builder.AddFilter(typeof(LogsHelperTests).FullName, LogLevel.Trace);

0 commit comments

Comments
 (0)