elasticsearch/qa
Chris Hegarty 19550a838f
Add dense vector off-heap stats to Node stats and Index stats APIs (#126704)
This change enhances the dense_vector section of the Nodes stats and Index stats APIs so that they report the desired size of off-heap memory for all indexed vectors. The dense_vector section of the Custer stats API remains unchanged.

The retrieval mechanism and structure of the new stats is the same across the various three stats APIs, but more fine-grained information is disclosed as when moving from Cluster -> Node -> Index API.

For Node stats, we aggregate the total byte sizes for all vectors, categorised by the data type. For example:

"dense_vector" : {
  "value_count" : 5,
  "off_heap" : {
    "total_size_in_bytes" : 27,
    "total_veb_size_in_bytes" : 3,
    "total_vec_size_in_bytes" : 23,
    "total_veq_size_in_bytes" : 0,
    "total_vex_size_in_bytes" : 1
  }
}
Index stats: same as Node stats with included field break down . For example:

"dense_vector" : {
  "value_count" : 5,
  "off_heap" : {
    "total_size_in_bytes" : 27,
    "total_veb_size_in_bytes" : 3,
    "total_vec_size_in_bytes" : 23,
    "total_veq_size_in_bytes" : 0,
    "total_vex_size_in_bytes" : 1,
    "fielddata" : {
      "bar" : {
        "veb_size_in_bytes" : 3,
        "vec_size_in_bytes" : 14,
        "vex_size_in_bytes" : 1
      },
      "foo" : {
        "vec_size_in_bytes" : 9
      }
    }
  }
The implementation accesses the actual statistics through reflection. This will be completely removed when Lucene exposes this, which is expected in Lucene 10.3
2025-04-23 15:04:44 +01:00
..
ccs-common-rest Add dense vector off-heap stats to Node stats and Index stats APIs (#126704) 2025-04-23 15:04:44 +01:00
ccs-rolling-upgrade-remote-cluster Add ability to redirect ingestion failures on data streams to a failure store (#126973) 2025-04-18 16:33:03 -04:00
ccs-unavailable-clusters [Build] Require reason for usesDefaultDistribution (#124707) 2025-03-17 08:25:39 +01:00
custom-rest-controller Add AGPLv3 as a supported license 2024-09-13 15:29:46 -07:00
evil-tests Remove security manager from tests (#127087) 2025-04-22 18:08:09 +02:00
full-cluster-restart Add ability to redirect ingestion failures on data streams to a failure store (#126973) 2025-04-18 16:33:03 -04:00
logging-config Change deprecation.elasticsearch keyword to elasticsearch.deprecation (#117933) 2024-12-04 10:25:51 -08:00
logging-spi Update Gradle wrapper to 8.12 (#118683) 2024-12-30 15:34:24 +01:00
lucene-index-compatibility [CI] Reenable N-2 BWC tests for non-snapshot builds (#125296) 2025-03-21 10:18:10 +01:00
mixed-cluster Non existing synonyms sets do not fail shard recovery (#125659) 2025-03-27 18:04:20 +02:00
multi-cluster-search [Build] Remove deprecated BuildParams (#116984) 2024-11-22 16:30:57 +01:00
no-bootstrap-tests Cleanup missing use of StandardCharsets (#125424) 2025-03-21 20:10:15 +01:00
packaging [Entitlements] Validation checks on paths (#126852) 2025-04-18 15:36:07 +02:00
remote-clusters Update Gradle wrapper to 8.12 (#118683) 2024-12-30 15:34:24 +01:00
repository-multi-version [Build] Remove deprecated BuildParams (#116984) 2024-11-22 16:30:57 +01:00
restricted-loggers Add AGPLv3 as a supported license 2024-09-13 15:29:46 -07:00
rolling-upgrade [main] Move system indices migration to migrate plugin (#125437) 2025-04-04 18:49:38 +01:00
rolling-upgrade-legacy [Gradle] Make rolling upgrade tests configuration cache compatible (#119577) 2025-01-16 23:23:04 +11:00
smoke-test-http Fix race condition in RestCancellableNodeClient (#126686) 2025-04-12 00:59:46 +10:00
smoke-test-ingest-disabled Migrate legacy QA projects to new test clusters framework (#125545) 2025-03-26 10:05:56 -07:00
smoke-test-ingest-with-all-dependencies Migrate legacy QA projects to new test clusters framework (#125545) 2025-03-26 10:05:56 -07:00
smoke-test-multinode Use Lucene101 postings format by default (#126080) 2025-04-04 12:41:27 -07:00
smoke-test-plugins Migrate legacy QA projects to new test clusters framework (#125545) 2025-03-26 10:05:56 -07:00
stable-api Validate that stable plugins do not break compatibility (#92776) 2023-01-18 06:48:48 -05:00
system-indices [main] Move system indices migration to migrate plugin (#125437) 2025-04-04 18:49:38 +01:00
unconfigured-node-name [TEST] Migrated REST tests extending JsonLogsIntegTestCase (#115188) 2024-10-31 11:55:47 +01:00
verify-version-constants Re-enable VerifyVersionConstantsIT (#125605) 2025-03-25 12:16:53 -07:00
build.gradle Do not create unused testCluster (#77581) 2021-09-23 03:45:59 -04:00