Currently the database URLs provided in SQL data are formatted like:
{host}:{port}/{database}
However, most (maybe all?) of the other X-Ray SDKs13 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.
Description of changes:
Currently the database URLs provided in SQL data are formatted like:
However, most (maybe all?) of the other X-Ray SDKs1 3 format these URLs with the scheme prefixed in front, so:
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:
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.