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 Request] Add capability for reading statistics from search phase results processors #17558

Open
martin-gaievski opened this issue Mar 9, 2025 · 1 comment
Assignees
Labels
enhancement Enhancement or improvement to existing feature or request Search Search query, autocomplete ...etc

Comments

@martin-gaievski
Copy link
Member

Is your feature request related to a problem? Please describe

Existing API for retrieving search pipeline stats does not have data for search phase results processors.

Here is sample response for GET _nodes/stats/search_pipeline request:

{
  "_nodes": {
    "total": 6,
    "successful": 6,
    "failed": 0
  },
  "cluster_name": "opensearch-infra-stack-martin-30a-lb4-939274133793-us-east-1",
  "nodes": {
    "OIx5MQRkSkS6PKFPJ4IfKQ": {
      "timestamp": 1741558432570,
      "name": "ip-10-0-5-178.ec2.internal",
      "transport_address": "10.0.5.178:9300",
      "host": "10.0.5.178",
      "ip": "10.0.5.178:9300",
      "roles": [
        "cluster_manager"
      ],
      "attributes": {
        "shard_indexing_pressure_enabled": "true"
      },
      "search_pipeline": {
        "total_request": {
          "count": 0,
          "time_in_millis": 0,
          "current": 0,
          "failed": 0
        },
        "total_response": {
          "count": 0,
          "time_in_millis": 0,
          "current": 0,
          "failed": 0
        },
        "pipelines": {
          "norm-pipeline": {
            "request": {
              "count": 0,
              "time_in_millis": 0,
              "current": 0,
              "failed": 0
            },
            "response": {
              "count": 0,
              "time_in_millis": 0,
              "current": 0,
              "failed": 0
            },
            "request_processors": [],
            "response_processors": []
          }
        }
      }
    },
    "cxC2D7ljTpKjeQhFqYyuQw": {
      "timestamp": 1741558432568,
      "name": "ip-10-0-4-50.ec2.internal",
      "transport_address": "10.0.4.50:9300",
      "host": "10.0.4.50",
      "ip": "10.0.4.50:9300",
      "roles": [
        "data",
        "ingest"
      ],
      "attributes": {
        "shard_indexing_pressure_enabled": "true"
      },
      "search_pipeline": {
        "total_request": {
          "count": 0,
          "time_in_millis": 0,
          "current": 0,
          "failed": 0
        },
        "total_response": {
          "count": 0,
          "time_in_millis": 0,
          "current": 0,
          "failed": 0
        },
        "pipelines": {
          "norm-pipeline": {
            "request": {
              "count": 0,
              "time_in_millis": 0,
              "current": 0,
              "failed": 0
            },
            "response": {
              "count": 0,
              "time_in_millis": 0,
              "current": 0,
              "failed": 0
            },
            "request_processors": [],
            "response_processors": []
          }
        }
      }
    },
    "Zde2tzuFSfSZtXDMtYrZ2g": {
      "timestamp": 1741558432571,
      "name": "ip-10-0-4-235.ec2.internal",
      "transport_address": "10.0.4.235:9300",
      "host": "10.0.4.235",
      "ip": "10.0.4.235:9300",
      "roles": [
        "cluster_manager"
      ],
      "attributes": {
        "shard_indexing_pressure_enabled": "true"
      },
      "search_pipeline": {
        "total_request": {
          "count": 0,
          "time_in_millis": 0,
          "current": 0,
          "failed": 0
        },
        "total_response": {
          "count": 0,
          "time_in_millis": 0,
          "current": 0,
          "failed": 0
        },
        "pipelines": {
          "norm-pipeline": {
            "request": {
              "count": 0,
              "time_in_millis": 0,
              "current": 0,
              "failed": 0
            },
            "response": {
              "count": 0,
              "time_in_millis": 0,
              "current": 0,
              "failed": 0
            },
            "request_processors": [],
            "response_processors": []
          }
        }
      }
    },
    "XgCFz5L1STe8NOGvvugUSQ": {
      "timestamp": 1741558432568,
      "name": "ip-10-0-5-220.ec2.internal",
      "transport_address": "10.0.5.220:9300",
      "host": "10.0.5.220",
      "ip": "10.0.5.220:9300",
      "roles": [
        "data",
        "ingest"
      ],
      "attributes": {
        "shard_indexing_pressure_enabled": "true"
      },
      "search_pipeline": {
        "total_request": {
          "count": 0,
          "time_in_millis": 0,
          "current": 0,
          "failed": 0
        },
        "total_response": {
          "count": 0,
          "time_in_millis": 0,
          "current": 0,
          "failed": 0
        },
        "pipelines": {
          "norm-pipeline": {
            "request": {
              "count": 0,
              "time_in_millis": 0,
              "current": 0,
              "failed": 0
            },
            "response": {
              "count": 0,
              "time_in_millis": 0,
              "current": 0,
              "failed": 0
            },
            "request_processors": [],
            "response_processors": []
          }
        }
      }
    },
    "xxW5HwaXTKuIGVI04L6ZGw": {
      "timestamp": 1741558432569,
      "name": "ip-10-0-3-71.ec2.internal",
      "transport_address": "10.0.3.71:9300",
      "host": "10.0.3.71",
      "ip": "10.0.3.71:9300",
      "roles": [
        "data",
        "ingest"
      ],
      "attributes": {
        "shard_indexing_pressure_enabled": "true"
      },
      "search_pipeline": {
        "total_request": {
          "count": 0,
          "time_in_millis": 0,
          "current": 0,
          "failed": 0
        },
        "total_response": {
          "count": 0,
          "time_in_millis": 0,
          "current": 0,
          "failed": 0
        },
        "pipelines": {
          "norm-pipeline": {
            "request": {
              "count": 0,
              "time_in_millis": 0,
              "current": 0,
              "failed": 0
            },
            "response": {
              "count": 0,
              "time_in_millis": 0,
              "current": 0,
              "failed": 0
            },
            "request_processors": [],
            "response_processors": []
          }
        }
      }
    },
    "lU-npuC1QDyKvFujVXdZHQ": {
      "timestamp": 1741558432569,
      "name": "seed",
      "transport_address": "10.0.5.254:9300",
      "host": "10.0.5.254",
      "ip": "10.0.5.254:9300",
      "roles": [
        "cluster_manager"
      ],
      "attributes": {
        "shard_indexing_pressure_enabled": "true"
      },
      "search_pipeline": {
        "total_request": {
          "count": 0,
          "time_in_millis": 0,
          "current": 0,
          "failed": 0
        },
        "total_response": {
          "count": 0,
          "time_in_millis": 0,
          "current": 0,
          "failed": 0
        },
        "pipelines": {
          "norm-pipeline": {
            "request": {
              "count": 0,
              "time_in_millis": 0,
              "current": 0,
              "failed": 0
            },
            "response": {
              "count": 0,
              "time_in_millis": 0,
              "current": 0,
              "failed": 0
            },
            "request_processors": [],
            "response_processors": []
          }
        }
      }
    }
  }
}

Describe the solution you'd like

Include section for search phase results processor to existing API response. Information can be similar to what is collected for request and response processors: count, time, number of currently running and failed executions.

Related component

Search

Describe alternatives you've considered

No response

Additional context

No response

@martin-gaievski martin-gaievski added enhancement Enhancement or improvement to existing feature or request untriaged labels Mar 9, 2025
@github-actions github-actions bot added the Search Search query, autocomplete ...etc label Mar 9, 2025
@mch2
Copy link
Member

mch2 commented Mar 12, 2025

Thanks @martin-gaievski we see you have linked a PR already so assigning to you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhancement or improvement to existing feature or request Search Search query, autocomplete ...etc
Projects
Status: 🆕 New
Development

No branches or pull requests

2 participants