Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[FEATURE] Latency metrics around graph creation and other KNN operation. #999

Closed
dhwanilpatel opened this issue Jul 20, 2023 · 1 comment

Comments

@dhwanilpatel
Copy link

Problem statement
KNN index performs graph creations during refresh/flush of the index. Graph creation is considered as very expensive operation and can take long time based on different parameters like refresh interval (i.e size of translog).

User don't have visibility around how much time does it take for graph creation. This will provide better visibility to user which can help tune various parameters.

Refresh/flush is not only triggered in background activities but it can be triggered during other operations as well like bulk/recovery/etc. Graph creation can increase the overall latency for these operation as well. These metrics can help us triaging such issues as well like long running bulk/recovery.

What solution would you like?

We should expose the overall latency metrics for graph creation. We can see how better we can expose this as with cumulative metrics or individual metrics for each graph creation.

We can plan to expose it per index or per shard level, as this can change based on data or configuration of index/shard as well.

We should add latency metrics around other KNN operations as well and not just for graph creation, it will provide better visibility in KNN operations.

@vamshin vamshin added the v2.10.0 Issues targeting release v2.10.0 label Jul 21, 2023
@navneet1v
Copy link
Collaborator

@dhwanilpatel
Some questions on this:

  1. Apart from graph creation, what are the other operations where we need latency metrics? Can you please provide some details around that.
  2. Graphs are created per segments of a shard, and where we should put metrics depends on what use case we want to solve. So can you please add some details around what is the exact customer need.

@navneet1v navneet1v added v2.11.0 and removed v2.10.0 Issues targeting release v2.10.0 labels Sep 22, 2023
@heemin32 heemin32 closed this as completed Oct 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants