Skip to content

Elasticsearch instrumentation doesn't follow database spec #708

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
remram44 opened this issue Oct 2, 2021 · 1 comment
Closed

Elasticsearch instrumentation doesn't follow database spec #708

remram44 opened this issue Oct 2, 2021 · 1 comment
Labels
bug Something isn't working

Comments

@remram44
Copy link
Contributor

remram44 commented Oct 2, 2021

Describe your environment
Using opentelemetry-instrumentation-elasticsearch 0.24b0 with elasticsearch 7.14.1

What is the expected behavior?
The instrumentation should follow the semantic conventions for database clients, notably use span names in the format <db.operation> <db.name>.<db.sql.table>.

What is the actual behavior?
Span names are built from the request URL without any form of parsing. In particular, the operation (index/delete/...) is missing, and the database name is not necessarily present.

Example span names:

  • Elasticsearch/indexname/_doc/documentid (insert operation if PUT, read operation if GET)
  • Elasticsearch/indexname/_doc (probably an insert without a set primary key)
  • Elasticsearch/indexname (either reading metadata or changing schema/settings), Elasticsearch/indexname/_search (query operation)

Many attributes are also missing or are only present in the request path, because they get encoded in the URL before perform_request() is called, which is the only instrumented method.

An unbounded number of span names can also be created, which is a more urgent issue tracked by #704.

@remram44 remram44 added the bug Something isn't working label Oct 2, 2021
@srikanthccv
Copy link
Member

Closing in favor of #1633

@srikanthccv srikanthccv closed this as not planned Won't fix, can't repro, duplicate, stale Feb 4, 2023
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants