github open-telemetry/opentelemetry-dotnet-contrib Instrumentation.SqlClient-1.20.2

  • NuGet: OpenTelemetry.Instrumentation.SqlClient v1.20.2

    • Fixed db.query.summary so that a delimited identifier, such as [Orders] or
      [dbo].[Orders], is captured wherever an undelimited identifier would be
      (for example after INSERT INTO, EXEC, CREATE TABLE or a JOIN which
      follows an ON clause), instead of only in a FROM clause.
      (#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.summary so that a multi-part name which mixes undelimited
      and delimited parts, such as dbo.[Orders], or which has whitespace around
      a period, such as dbo . Orders or [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.summary so that the table name is included for a
      TRUNCATE statement, with or without TABLE, for example
      TRUNCATE TABLE Orders rather than TRUNCATE 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.duration metric 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 as Activity.Current after 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 longer Activity.Current while the command executes or while
      Filter and EnrichWithSqlCommand run, so use the activity argument of
      EnrichWithSqlCommand instead.
      (#5866)

    • Fixed a memory leak on .NET when a command executed asynchronously is
      started with a CancellationToken that is already cancelled and has no
      activity.
      (#5924)

    • Fixed redaction of login and user names in additional CREATE, ALTER and
      DROP statement positions, including references after FOR LOGIN and
      WITH NAME =, and names containing combining marks.
      (#5905)

    • Fixed db.query.summary for 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.

Don't miss a new opentelemetry-dotnet-contrib release

NewReleases is sending notifications on new releases.