aws / aws-xray-sdk-node

The official AWS X-Ray SDK for Node.js.
Apache License 2.0
267 stars 155 forks source link

Prefix SQL URLs with scheme #667

Closed dwickr closed 1 month ago

dwickr commented 1 month ago

Description of changes:

Currently the database URLs provided in SQL data are formatted like:

{host}:{port}/{database}

However, most (maybe all?) of the other X-Ray SDKs1 3 format these URLs with the scheme prefixed in front, so:

{scheme}://{host}:{port}/{database}

This format is also enforced on the opentelemetry collector 4, and results in the following error when receiving traces with SQL data from this library:

failed to parse out the database name in the "sql.url" field

When this happens, traces are dropped by the opentelemetry collector and are not sent to AWS X-Ray. This change addresses these issues by prefixing the SQL data URLs with the scheme for both MySQL (mysql://) and Postgres (postgresql://).


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.