-
NuGet: OpenTelemetry.Instrumentation.SqlClient v1.20.2
-
Fixed
db.query.summaryso that a delimited identifier, such as[Orders]or
[dbo].[Orders], is captured wherever an undelimited identifier would be
(for example afterINSERT INTO,EXEC,CREATE TABLEor aJOINwhich
follows anONclause), instead of only in aFROMclause.
(#5816) -
Fixed a bracketed identifier which contains quotes and a comment marker, such
as[Orders''--], being parsed as SQL, which truncated the sanitized query
text and left a literal after it unsanitized if it was on a later line.
(#5827) -
Fixed the time taken to sanitize a statement when it contains many
IN (lists
which are not terminated.
(#5827) -
Fixed literals in a list of values in brackets (e.g.
['a', 'b']) being left
unsanitized if the list starts with a string in dollar quotes, a string with a
prefix, a number or a comment, or has a comment which contains a closing
bracket.
(#5827) -
Updated Semantic Conventions version to
1.45.0.
(#5833) -
Fixed
db.query.summaryso that a multi-part name which mixes undelimited
and delimited parts, such asdbo.[Orders], or which has whitespace around
a period, such asdbo . Ordersor[dbo] . [Orders], is captured whole,
and so that a trailing period is no longer left in the summary when no
further part of the name follows it. As the summary is used to name the
span, the names of affected spans change.
(#5822) -
Fixed
db.query.summaryso that the table name is included for a
TRUNCATEstatement, with or withoutTABLE, for example
TRUNCATE TABLE Ordersrather thanTRUNCATE TABLE.
(#5822) -
Fixed the cache of sanitized SQL statements retaining statements of any
length for the lifetime of the process. Statements longer than 8192
characters are no longer cached.
(#5869) -
The attributes of the
db.client.operation.durationmetric are no longer
affected by tags set on the command's activity by processors or by
EnrichWithSqlCommand.
(#5865) -
Fixed a memory leak on .NET Framework when a command executed asynchronously
fails before it is sent. Upgrade to apply the fix.
(#5872) -
Fixed the activity of a command executed asynchronously (for example with
ExecuteNonQueryAsync()) being left asActivity.Currentafter the command
completed, which made every later command executed by the same method a child
of it and retained them all for as long as the method ran. The activity of a
command is no longerActivity.Currentwhile the command executes or while
FilterandEnrichWithSqlCommandrun, so use theactivityargument of
EnrichWithSqlCommandinstead.
(#5866) -
Fixed a memory leak on .NET when a command executed asynchronously is
started with aCancellationTokenthat is already cancelled and has no
activity.
(#5924) -
Fixed redaction of login and user names in additional
CREATE,ALTERand
DROPstatement positions, including references afterFOR LOGINand
WITH NAME =, and names containing combining marks.
(#5905) -
Fixed
db.query.summaryfor identifiers beginning with SQL keywords and
login or user statements in multi-statement commands.
(#5905) -
Fixed query sanitization after bracketed identifiers containing apostrophes
and after dollar signs in identifiers, temporary table names and variables.
(#5905) -
Fixed query sanitization of hexadecimal literals preceded by a unary plus.
(#5905) -
Fixed literals being left unsanitized in malformed SQL Server queries when
escaped brackets extend an identifier beyond its 128-character limit.
(#5905)
See CHANGELOG for details.
-