Skip to content

Conversation

jainankitk
Copy link
Contributor

@jainankitk jainankitk commented Oct 8, 2025

Description

This change aims at optimizing the sub aggregation by leveraging multi range traversal for top level aggregation, and skip list for the sub aggregation.

I have copied over the BitSetDocIdStream class in OpenSearch from Lucene for now as it is not public, but should look at eventually getting rid of it.

Related Issues

Related to #17447, #19384

Check List

  • Functionality includes testing.
  • API changes companion pull request created, if applicable.
  • Public documentation issue/PR created, if applicable.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@jainankitk jainankitk changed the title Combining filter rewrite and skip list approaches for further optimiz… Combining filter rewrite and skip list to optimize sub aggregation Oct 8, 2025
Signed-off-by: Ankit Jain <[email protected]>
Copy link
Contributor

github-actions bot commented Oct 8, 2025

❌ Gradle check result for 82bc95d: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

@jainankitk jainankitk marked this pull request as ready for review October 9, 2025 00:04
Copy link
Contributor

github-actions bot commented Oct 9, 2025

❌ Gradle check result for aff3dc6: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

Copy link
Contributor

github-actions bot commented Oct 9, 2025

❌ Gradle check result for 1c29540: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

Signed-off-by: Ankit Jain <[email protected]>
@jainankitk
Copy link
Contributor Author

{"run-benchmark-test": "id_8"}

Copy link
Contributor

github-actions bot commented Oct 9, 2025

The Jenkins job url is https://build.ci.opensearch.org/job/benchmark-pull-request/4657/ . Final results will be published once the job is completed.

@opensearch-ci-bot
Copy link
Collaborator

The benchmark job https://build.ci.opensearch.org/job/benchmark-pull-request/4657/ failed.
Please see logs to debug.

Copy link
Contributor

github-actions bot commented Oct 9, 2025

❌ Gradle check result for b9e9f2b: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

@jainankitk
Copy link
Contributor Author

The benchmark job https://build.ci.opensearch.org/job/benchmark-pull-request/4657/ failed. Please see logs to debug.

Seems to be due to the below error:

❌  opensearch-infra-stack-4657 failed: _ToolkitError: The stack named opensearch-infra-stack-4657 failed creation, it may need to be manually deleted from the AWS console: ROLLBACK_COMPLETE: Received FAILURE signal with UniqueId i-04e1a39c379be89e7
2025-10-09 00:54:27 INFO     Executing "cdk destroy opensearch-infra-stack-4657  -c distributionUrl=https://d1x8bhjyv9uuif.cloudfront.net/PR-19573/opensearch-min-3.4.0-linux-x64.tar.gz -c vpcId=vpc-0c413a9df7ca84d06 -c account=724293578735 -c region=us-east-1 -c suffix=4657 -c securityDisabled=true -c cpuArch=x64 -c singleNodeCluster=true -c distVersion=3.4.0 -c minDistribution=true -c serverAccessType=prefixList -c restrictServerAccessTo=pl-60b85b09 -c additionalConfig='{"search.concurrent_segment_search.mode": "auto"}' -c useInstanceBasedStorage=false -c use50PercentHeap=true -c isInternal=true -c enableRemoteStore=false -c customRoleArn=arn:aws:iam::724293578735:role/custom-benchmark-ec2-instance-role --require-approval=never --plugin cdk-assume-role-credential-plugin -c assume-role-credentials:writeIamRoleName=cfn-set-up -c assume-role-credentials:readIamRoleName=cfn-set-up  --force" in /tmp/tmp9n2gxm32/opensearch-cluster-cdk
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!                                                                            !!
!!  Node 18 has reached end-of-life on 2025-04-30 and is not supported.       !!
!!  Please upgrade to a supported node version as soon as possible.           !!
!!                                                                            !!
!!  This software is currently running on node v18.16.0.                      !!
!!  As of the current release of this software, supported node releases are:  !!
!!                                                                            !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
(node:19580) NOTE: The AWS SDK for JavaScript (v2) is in maintenance mode.
 SDK releases are limited to address critical bug fixes and security issues only.

@rishabh6788 - Can you help resolve this issue?

Copy link
Contributor

github-actions bot commented Oct 9, 2025

❕ Gradle check result for a28b9c1: UNSTABLE

Please review all flaky tests that succeeded after retry and create an issue if one does not already exist to track the flaky failure.

Copy link

codecov bot commented Oct 9, 2025

Codecov Report

❌ Patch coverage is 52.08333% with 46 lines in your changes missing coverage. Please review.
✅ Project coverage is 73.10%. Comparing base (af2a8fc) to head (a28b9c1).
⚠️ Report is 4 commits behind head on main.

Files with missing lines Patch % Lines
...gations/bucket/HistogramSkiplistLeafCollector.java 47.69% 27 Missing and 7 partials ⚠️
...nsearch/search/aggregations/BitSetDocIdStream.java 55.55% 7 Missing and 1 partial ⚠️
.../bucket/histogram/AutoDateHistogramAggregator.java 66.66% 1 Missing and 2 partials ⚠️
...ions/bucket/histogram/DateHistogramAggregator.java 0.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main   #19573      +/-   ##
============================================
+ Coverage     73.06%   73.10%   +0.03%     
- Complexity    70617    70633      +16     
============================================
  Files          5723     5725       +2     
  Lines        323473   323511      +38     
  Branches      46845    46849       +4     
============================================
+ Hits         236348   236489     +141     
+ Misses        68074    67908     -166     
- Partials      19051    19114      +63     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@jainankitk
Copy link
Contributor Author

{"run-benchmark-test": "id_8"}

Copy link
Contributor

github-actions bot commented Oct 9, 2025

The Jenkins job url is https://build.ci.opensearch.org/job/benchmark-pull-request/4658/ . Final results will be published once the job is completed.

@opensearch-ci-bot
Copy link
Collaborator

Benchmark Results

Benchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-pull-request/4658/

Metric Task Value Unit
Cumulative indexing time of primary shards 0 min
Min cumulative indexing time across primary shards 0 min
Median cumulative indexing time across primary shards 0 min
Max cumulative indexing time across primary shards 0 min
Cumulative indexing throttle time of primary shards 0 min
Min cumulative indexing throttle time across primary shards 0 min
Median cumulative indexing throttle time across primary shards 0 min
Max cumulative indexing throttle time across primary shards 0 min
Cumulative merge time of primary shards 0 min
Cumulative merge count of primary shards 0
Min cumulative merge time across primary shards 0 min
Median cumulative merge time across primary shards 0 min
Max cumulative merge time across primary shards 0 min
Cumulative merge throttle time of primary shards 0 min
Min cumulative merge throttle time across primary shards 0 min
Median cumulative merge throttle time across primary shards 0 min
Max cumulative merge throttle time across primary shards 0 min
Cumulative refresh time of primary shards 0 min
Cumulative refresh count of primary shards 4
Min cumulative refresh time across primary shards 0 min
Median cumulative refresh time across primary shards 0 min
Max cumulative refresh time across primary shards 0 min
Cumulative flush time of primary shards 0 min
Cumulative flush count of primary shards 1
Min cumulative flush time across primary shards 0 min
Median cumulative flush time across primary shards 0 min
Max cumulative flush time across primary shards 0 min
Total Young Gen GC time 1.419 s
Total Young Gen GC count 69
Total Old Gen GC time 0 s
Total Old Gen GC count 0
Store size 22.1058 GB
Translog size 5.12227e-08 GB
Heap used for segments 0 MB
Heap used for doc values 0 MB
Heap used for terms 0 MB
Heap used for norms 0 MB
Heap used for points 0 MB
Heap used for stored fields 0 MB
Segment count 14
100th percentile latency wait-for-snapshot-recovery 300002 ms
100th percentile service time wait-for-snapshot-recovery 300002 ms
error rate wait-for-snapshot-recovery 100 %
Min Throughput wait-until-merges-finish 114.99 ops/s
Mean Throughput wait-until-merges-finish 114.99 ops/s
Median Throughput wait-until-merges-finish 114.99 ops/s
Max Throughput wait-until-merges-finish 114.99 ops/s
100th percentile latency wait-until-merges-finish 8.37094 ms
100th percentile service time wait-until-merges-finish 8.37094 ms
error rate wait-until-merges-finish 0 %
Min Throughput default 2 ops/s
Mean Throughput default 2.01 ops/s
Median Throughput default 2.01 ops/s
Max Throughput default 2.01 ops/s
50th percentile latency default 7.11853 ms
90th percentile latency default 7.64914 ms
99th percentile latency default 9.12011 ms
100th percentile latency default 10.0418 ms
50th percentile service time default 5.812 ms
90th percentile service time default 6.23431 ms
99th percentile service time default 7.79275 ms
100th percentile service time default 8.69719 ms
error rate default 0 %
Min Throughput desc_sort_timestamp 2.01 ops/s
Mean Throughput desc_sort_timestamp 2.01 ops/s
Median Throughput desc_sort_timestamp 2.01 ops/s
Max Throughput desc_sort_timestamp 2.01 ops/s
50th percentile latency desc_sort_timestamp 8.69369 ms
90th percentile latency desc_sort_timestamp 9.24146 ms
99th percentile latency desc_sort_timestamp 11.6608 ms
100th percentile latency desc_sort_timestamp 12.6032 ms
50th percentile service time desc_sort_timestamp 7.36701 ms
90th percentile service time desc_sort_timestamp 7.82781 ms
99th percentile service time desc_sort_timestamp 10.1178 ms
100th percentile service time desc_sort_timestamp 10.7881 ms
error rate desc_sort_timestamp 0 %
Min Throughput asc_sort_timestamp 2.01 ops/s
Mean Throughput asc_sort_timestamp 2.01 ops/s
Median Throughput asc_sort_timestamp 2.01 ops/s
Max Throughput asc_sort_timestamp 2.01 ops/s
50th percentile latency asc_sort_timestamp 8.55847 ms
90th percentile latency asc_sort_timestamp 9.23321 ms
99th percentile latency asc_sort_timestamp 10.6162 ms
100th percentile latency asc_sort_timestamp 11.021 ms
50th percentile service time asc_sort_timestamp 7.19146 ms
90th percentile service time asc_sort_timestamp 7.52011 ms
99th percentile service time asc_sort_timestamp 9.21572 ms
100th percentile service time asc_sort_timestamp 9.54092 ms
error rate asc_sort_timestamp 0 %
Min Throughput desc_sort_with_after_timestamp 2.01 ops/s
Mean Throughput desc_sort_with_after_timestamp 2.01 ops/s
Median Throughput desc_sort_with_after_timestamp 2.01 ops/s
Max Throughput desc_sort_with_after_timestamp 2.01 ops/s
50th percentile latency desc_sort_with_after_timestamp 7.06431 ms
90th percentile latency desc_sort_with_after_timestamp 7.45378 ms
99th percentile latency desc_sort_with_after_timestamp 8.43263 ms
100th percentile latency desc_sort_with_after_timestamp 8.43599 ms
50th percentile service time desc_sort_with_after_timestamp 5.68455 ms
90th percentile service time desc_sort_with_after_timestamp 5.96028 ms
99th percentile service time desc_sort_with_after_timestamp 7.02985 ms
100th percentile service time desc_sort_with_after_timestamp 7.1406 ms
error rate desc_sort_with_after_timestamp 0 %
Min Throughput asc_sort_with_after_timestamp 2.01 ops/s
Mean Throughput asc_sort_with_after_timestamp 2.01 ops/s
Median Throughput asc_sort_with_after_timestamp 2.01 ops/s
Max Throughput asc_sort_with_after_timestamp 2.01 ops/s
50th percentile latency asc_sort_with_after_timestamp 6.93329 ms
90th percentile latency asc_sort_with_after_timestamp 7.35234 ms
99th percentile latency asc_sort_with_after_timestamp 8.53947 ms
100th percentile latency asc_sort_with_after_timestamp 9.22525 ms
50th percentile service time asc_sort_with_after_timestamp 5.61823 ms
90th percentile service time asc_sort_with_after_timestamp 5.82831 ms
99th percentile service time asc_sort_with_after_timestamp 7.06613 ms
100th percentile service time asc_sort_with_after_timestamp 7.45071 ms
error rate asc_sort_with_after_timestamp 0 %
Min Throughput desc_sort_timestamp_can_match_shortcut 2.01 ops/s
Mean Throughput desc_sort_timestamp_can_match_shortcut 2.01 ops/s
Median Throughput desc_sort_timestamp_can_match_shortcut 2.01 ops/s
Max Throughput desc_sort_timestamp_can_match_shortcut 2.01 ops/s
50th percentile latency desc_sort_timestamp_can_match_shortcut 8.17575 ms
90th percentile latency desc_sort_timestamp_can_match_shortcut 8.68607 ms
99th percentile latency desc_sort_timestamp_can_match_shortcut 10.349 ms
100th percentile latency desc_sort_timestamp_can_match_shortcut 10.3545 ms
50th percentile service time desc_sort_timestamp_can_match_shortcut 6.81211 ms
90th percentile service time desc_sort_timestamp_can_match_shortcut 7.04213 ms
99th percentile service time desc_sort_timestamp_can_match_shortcut 8.8289 ms
100th percentile service time desc_sort_timestamp_can_match_shortcut 8.90069 ms
error rate desc_sort_timestamp_can_match_shortcut 0 %
Min Throughput desc_sort_timestamp_no_can_match_shortcut 2.01 ops/s
Mean Throughput desc_sort_timestamp_no_can_match_shortcut 2.01 ops/s
Median Throughput desc_sort_timestamp_no_can_match_shortcut 2.01 ops/s
Max Throughput desc_sort_timestamp_no_can_match_shortcut 2.01 ops/s
50th percentile latency desc_sort_timestamp_no_can_match_shortcut 7.6596 ms
90th percentile latency desc_sort_timestamp_no_can_match_shortcut 8.08697 ms
99th percentile latency desc_sort_timestamp_no_can_match_shortcut 8.62252 ms
100th percentile latency desc_sort_timestamp_no_can_match_shortcut 8.6369 ms
50th percentile service time desc_sort_timestamp_no_can_match_shortcut 6.29995 ms
90th percentile service time desc_sort_timestamp_no_can_match_shortcut 6.47014 ms
99th percentile service time desc_sort_timestamp_no_can_match_shortcut 7.38911 ms
100th percentile service time desc_sort_timestamp_no_can_match_shortcut 7.5738 ms
error rate desc_sort_timestamp_no_can_match_shortcut 0 %
Min Throughput asc_sort_timestamp_can_match_shortcut 2.01 ops/s
Mean Throughput asc_sort_timestamp_can_match_shortcut 2.01 ops/s
Median Throughput asc_sort_timestamp_can_match_shortcut 2.01 ops/s
Max Throughput asc_sort_timestamp_can_match_shortcut 2.01 ops/s
50th percentile latency asc_sort_timestamp_can_match_shortcut 8.70505 ms
90th percentile latency asc_sort_timestamp_can_match_shortcut 9.06567 ms
99th percentile latency asc_sort_timestamp_can_match_shortcut 35.9415 ms
100th percentile latency asc_sort_timestamp_can_match_shortcut 62.2176 ms
50th percentile service time asc_sort_timestamp_can_match_shortcut 7.38174 ms
90th percentile service time asc_sort_timestamp_can_match_shortcut 7.51705 ms
99th percentile service time asc_sort_timestamp_can_match_shortcut 34.5498 ms
100th percentile service time asc_sort_timestamp_can_match_shortcut 60.8795 ms
error rate asc_sort_timestamp_can_match_shortcut 0 %
Min Throughput asc_sort_timestamp_no_can_match_shortcut 2.01 ops/s
Mean Throughput asc_sort_timestamp_no_can_match_shortcut 2.01 ops/s
Median Throughput asc_sort_timestamp_no_can_match_shortcut 2.01 ops/s
Max Throughput asc_sort_timestamp_no_can_match_shortcut 2.01 ops/s
50th percentile latency asc_sort_timestamp_no_can_match_shortcut 8.78353 ms
90th percentile latency asc_sort_timestamp_no_can_match_shortcut 9.22405 ms
99th percentile latency asc_sort_timestamp_no_can_match_shortcut 36.5556 ms
100th percentile latency asc_sort_timestamp_no_can_match_shortcut 62.5106 ms
50th percentile service time asc_sort_timestamp_no_can_match_shortcut 7.44619 ms
90th percentile service time asc_sort_timestamp_no_can_match_shortcut 7.62187 ms
99th percentile service time asc_sort_timestamp_no_can_match_shortcut 35.0519 ms
100th percentile service time asc_sort_timestamp_no_can_match_shortcut 60.7184 ms
error rate asc_sort_timestamp_no_can_match_shortcut 0 %
Min Throughput term 2.01 ops/s
Mean Throughput term 2.01 ops/s
Median Throughput term 2.01 ops/s
Max Throughput term 2.01 ops/s
50th percentile latency term 3.89116 ms
90th percentile latency term 4.37289 ms
99th percentile latency term 4.54807 ms
100th percentile latency term 4.60117 ms
50th percentile service time term 2.6169 ms
90th percentile service time term 2.78315 ms
99th percentile service time term 2.94579 ms
100th percentile service time term 2.9595 ms
error rate term 0 %
Min Throughput multi_terms-keyword 1.37 ops/s
Mean Throughput multi_terms-keyword 1.37 ops/s
Median Throughput multi_terms-keyword 1.37 ops/s
Max Throughput multi_terms-keyword 1.37 ops/s
50th percentile latency multi_terms-keyword 58219.9 ms
90th percentile latency multi_terms-keyword 67464.8 ms
99th percentile latency multi_terms-keyword 69485.9 ms
100th percentile latency multi_terms-keyword 69601.8 ms
50th percentile service time multi_terms-keyword 726.766 ms
90th percentile service time multi_terms-keyword 734.057 ms
99th percentile service time multi_terms-keyword 807.824 ms
100th percentile service time multi_terms-keyword 829.622 ms
error rate multi_terms-keyword 0 %
Min Throughput keyword-terms 2 ops/s
Mean Throughput keyword-terms 2 ops/s
Median Throughput keyword-terms 2 ops/s
Max Throughput keyword-terms 2 ops/s
50th percentile latency keyword-terms 27.6465 ms
90th percentile latency keyword-terms 35.6745 ms
99th percentile latency keyword-terms 39.0186 ms
100th percentile latency keyword-terms 39.4005 ms
50th percentile service time keyword-terms 25.5068 ms
90th percentile service time keyword-terms 33.4949 ms
99th percentile service time keyword-terms 37.1129 ms
100th percentile service time keyword-terms 37.3547 ms
error rate keyword-terms 0 %
Min Throughput keyword-terms-low-cardinality 2.01 ops/s
Mean Throughput keyword-terms-low-cardinality 2.01 ops/s
Median Throughput keyword-terms-low-cardinality 2.01 ops/s
Max Throughput keyword-terms-low-cardinality 2.01 ops/s
50th percentile latency keyword-terms-low-cardinality 23.7614 ms
90th percentile latency keyword-terms-low-cardinality 31.2034 ms
99th percentile latency keyword-terms-low-cardinality 32.0405 ms
100th percentile latency keyword-terms-low-cardinality 32.2817 ms
50th percentile service time keyword-terms-low-cardinality 21.5339 ms
90th percentile service time keyword-terms-low-cardinality 28.8883 ms
99th percentile service time keyword-terms-low-cardinality 30.4254 ms
100th percentile service time keyword-terms-low-cardinality 31.4641 ms
error rate keyword-terms-low-cardinality 0 %
Min Throughput composite-terms 2 ops/s
Mean Throughput composite-terms 2 ops/s
Median Throughput composite-terms 2 ops/s
Max Throughput composite-terms 2 ops/s
50th percentile latency composite-terms 189.15 ms
90th percentile latency composite-terms 194.121 ms
99th percentile latency composite-terms 199.659 ms
100th percentile latency composite-terms 200.457 ms
50th percentile service time composite-terms 187.921 ms
90th percentile service time composite-terms 192.771 ms
99th percentile service time composite-terms 198.733 ms
100th percentile service time composite-terms 199.664 ms
error rate composite-terms 0 %
Min Throughput composite_terms-keyword 2 ops/s
Mean Throughput composite_terms-keyword 2 ops/s
Median Throughput composite_terms-keyword 2 ops/s
Max Throughput composite_terms-keyword 2 ops/s
50th percentile latency composite_terms-keyword 355.782 ms
90th percentile latency composite_terms-keyword 366.008 ms
99th percentile latency composite_terms-keyword 394.637 ms
100th percentile latency composite_terms-keyword 408.354 ms
50th percentile service time composite_terms-keyword 354.732 ms
90th percentile service time composite_terms-keyword 364.591 ms
99th percentile service time composite_terms-keyword 393.668 ms
100th percentile service time composite_terms-keyword 407.285 ms
error rate composite_terms-keyword 0 %
Min Throughput composite-date_histogram-daily 2.01 ops/s
Mean Throughput composite-date_histogram-daily 2.01 ops/s
Median Throughput composite-date_histogram-daily 2.01 ops/s
Max Throughput composite-date_histogram-daily 2.01 ops/s
50th percentile latency composite-date_histogram-daily 4.54176 ms
90th percentile latency composite-date_histogram-daily 4.90069 ms
99th percentile latency composite-date_histogram-daily 5.12933 ms
100th percentile latency composite-date_histogram-daily 5.18935 ms
50th percentile service time composite-date_histogram-daily 3.20786 ms
90th percentile service time composite-date_histogram-daily 3.37293 ms
99th percentile service time composite-date_histogram-daily 3.61786 ms
100th percentile service time composite-date_histogram-daily 3.61869 ms
error rate composite-date_histogram-daily 0 %
Min Throughput range 2.01 ops/s
Mean Throughput range 2.01 ops/s
Median Throughput range 2.01 ops/s
Max Throughput range 2.01 ops/s
50th percentile latency range 5.75717 ms
90th percentile latency range 6.15749 ms
99th percentile latency range 6.82617 ms
100th percentile latency range 6.8456 ms
50th percentile service time range 4.46554 ms
90th percentile service time range 4.56906 ms
99th percentile service time range 5.23899 ms
100th percentile service time range 5.26876 ms
error rate range 0 %
Min Throughput range-numeric 2.01 ops/s
Mean Throughput range-numeric 2.01 ops/s
Median Throughput range-numeric 2.01 ops/s
Max Throughput range-numeric 2.01 ops/s
50th percentile latency range-numeric 3.67736 ms
90th percentile latency range-numeric 4.0676 ms
99th percentile latency range-numeric 4.65791 ms
100th percentile latency range-numeric 4.73827 ms
50th percentile service time range-numeric 2.32031 ms
90th percentile service time range-numeric 2.40871 ms
99th percentile service time range-numeric 2.46201 ms
100th percentile service time range-numeric 2.47018 ms
error rate range-numeric 0 %
Min Throughput keyword-in-range 2 ops/s
Mean Throughput keyword-in-range 2.01 ops/s
Median Throughput keyword-in-range 2.01 ops/s
Max Throughput keyword-in-range 2.01 ops/s
50th percentile latency keyword-in-range 15.7427 ms
90th percentile latency keyword-in-range 16.311 ms
99th percentile latency keyword-in-range 22.3354 ms
100th percentile latency keyword-in-range 22.46 ms
50th percentile service time keyword-in-range 14.3931 ms
90th percentile service time keyword-in-range 14.6544 ms
99th percentile service time keyword-in-range 20.7281 ms
100th percentile service time keyword-in-range 20.7379 ms
error rate keyword-in-range 0 %
Min Throughput date_histogram_hourly_agg 2.01 ops/s
Mean Throughput date_histogram_hourly_agg 2.01 ops/s
Median Throughput date_histogram_hourly_agg 2.01 ops/s
Max Throughput date_histogram_hourly_agg 2.01 ops/s
50th percentile latency date_histogram_hourly_agg 6.85589 ms
90th percentile latency date_histogram_hourly_agg 7.96351 ms
99th percentile latency date_histogram_hourly_agg 9.03502 ms
100th percentile latency date_histogram_hourly_agg 9.07158 ms
50th percentile service time date_histogram_hourly_agg 5.34896 ms
90th percentile service time date_histogram_hourly_agg 6.62209 ms
99th percentile service time date_histogram_hourly_agg 7.14586 ms
100th percentile service time date_histogram_hourly_agg 7.29349 ms
error rate date_histogram_hourly_agg 0 %
Min Throughput date_histogram_minute_agg 2 ops/s
Mean Throughput date_histogram_minute_agg 2 ops/s
Median Throughput date_histogram_minute_agg 2 ops/s
Max Throughput date_histogram_minute_agg 2 ops/s
50th percentile latency date_histogram_minute_agg 42.2502 ms
90th percentile latency date_histogram_minute_agg 42.671 ms
99th percentile latency date_histogram_minute_agg 44.3028 ms
100th percentile latency date_histogram_minute_agg 44.3557 ms
50th percentile service time date_histogram_minute_agg 40.9519 ms
90th percentile service time date_histogram_minute_agg 41.4121 ms
99th percentile service time date_histogram_minute_agg 43.0829 ms
100th percentile service time date_histogram_minute_agg 43.2138 ms
error rate date_histogram_minute_agg 0 %
Min Throughput scroll 46.26 pages/s
Mean Throughput scroll 46.39 pages/s
Median Throughput scroll 46.39 pages/s
Max Throughput scroll 46.5 pages/s
50th percentile latency scroll 10123.5 ms
90th percentile latency scroll 11342.9 ms
99th percentile latency scroll 11648.7 ms
100th percentile latency scroll 11662.3 ms
50th percentile service time scroll 524.28 ms
90th percentile service time scroll 529.036 ms
99th percentile service time scroll 547.905 ms
100th percentile service time scroll 561.329 ms
error rate scroll 0 %
Min Throughput query-string-on-message 2.01 ops/s
Mean Throughput query-string-on-message 2.01 ops/s
Median Throughput query-string-on-message 2.01 ops/s
Max Throughput query-string-on-message 2.01 ops/s
50th percentile latency query-string-on-message 6.55419 ms
90th percentile latency query-string-on-message 6.99354 ms
99th percentile latency query-string-on-message 8.34717 ms
100th percentile latency query-string-on-message 8.54945 ms
50th percentile service time query-string-on-message 5.25922 ms
90th percentile service time query-string-on-message 5.40848 ms
99th percentile service time query-string-on-message 6.03028 ms
100th percentile service time query-string-on-message 6.42885 ms
error rate query-string-on-message 0 %
Min Throughput query-string-on-message-filtered 2.01 ops/s
Mean Throughput query-string-on-message-filtered 2.01 ops/s
Median Throughput query-string-on-message-filtered 2.01 ops/s
Max Throughput query-string-on-message-filtered 2.01 ops/s
50th percentile latency query-string-on-message-filtered 13.0136 ms
90th percentile latency query-string-on-message-filtered 13.4207 ms
99th percentile latency query-string-on-message-filtered 14.135 ms
100th percentile latency query-string-on-message-filtered 14.5386 ms
50th percentile service time query-string-on-message-filtered 11.6473 ms
90th percentile service time query-string-on-message-filtered 11.8158 ms
99th percentile service time query-string-on-message-filtered 13.1353 ms
100th percentile service time query-string-on-message-filtered 13.5785 ms
error rate query-string-on-message-filtered 0 %
Min Throughput query-string-on-message-filtered-sorted-num 2.01 ops/s
Mean Throughput query-string-on-message-filtered-sorted-num 2.01 ops/s
Median Throughput query-string-on-message-filtered-sorted-num 2.01 ops/s
Max Throughput query-string-on-message-filtered-sorted-num 2.01 ops/s
50th percentile latency query-string-on-message-filtered-sorted-num 23.4566 ms
90th percentile latency query-string-on-message-filtered-sorted-num 23.9888 ms
99th percentile latency query-string-on-message-filtered-sorted-num 27.8515 ms
100th percentile latency query-string-on-message-filtered-sorted-num 30.8015 ms
50th percentile service time query-string-on-message-filtered-sorted-num 21.0523 ms
90th percentile service time query-string-on-message-filtered-sorted-num 21.4745 ms
99th percentile service time query-string-on-message-filtered-sorted-num 25.3519 ms
100th percentile service time query-string-on-message-filtered-sorted-num 28.5265 ms
error rate query-string-on-message-filtered-sorted-num 0 %
Min Throughput sort_keyword_can_match_shortcut 2.01 ops/s
Mean Throughput sort_keyword_can_match_shortcut 2.01 ops/s
Median Throughput sort_keyword_can_match_shortcut 2.01 ops/s
Max Throughput sort_keyword_can_match_shortcut 2.01 ops/s
50th percentile latency sort_keyword_can_match_shortcut 5.64249 ms
90th percentile latency sort_keyword_can_match_shortcut 6.07538 ms
99th percentile latency sort_keyword_can_match_shortcut 6.44816 ms
100th percentile latency sort_keyword_can_match_shortcut 6.63319 ms
50th percentile service time sort_keyword_can_match_shortcut 4.34091 ms
90th percentile service time sort_keyword_can_match_shortcut 4.427 ms
99th percentile service time sort_keyword_can_match_shortcut 4.70123 ms
100th percentile service time sort_keyword_can_match_shortcut 4.9002 ms
error rate sort_keyword_can_match_shortcut 0 %
Min Throughput sort_keyword_no_can_match_shortcut 2.01 ops/s
Mean Throughput sort_keyword_no_can_match_shortcut 2.01 ops/s
Median Throughput sort_keyword_no_can_match_shortcut 2.01 ops/s
Max Throughput sort_keyword_no_can_match_shortcut 2.01 ops/s
50th percentile latency sort_keyword_no_can_match_shortcut 5.9931 ms
90th percentile latency sort_keyword_no_can_match_shortcut 6.39282 ms
99th percentile latency sort_keyword_no_can_match_shortcut 6.78745 ms
100th percentile latency sort_keyword_no_can_match_shortcut 6.98903 ms
50th percentile service time sort_keyword_no_can_match_shortcut 4.64545 ms
90th percentile service time sort_keyword_no_can_match_shortcut 4.73968 ms
99th percentile service time sort_keyword_no_can_match_shortcut 5.15095 ms
100th percentile service time sort_keyword_no_can_match_shortcut 5.49553 ms
error rate sort_keyword_no_can_match_shortcut 0 %
Min Throughput sort_numeric_desc 2.01 ops/s
Mean Throughput sort_numeric_desc 2.01 ops/s
Median Throughput sort_numeric_desc 2.01 ops/s
Max Throughput sort_numeric_desc 2.01 ops/s
50th percentile latency sort_numeric_desc 5.61454 ms
90th percentile latency sort_numeric_desc 6.0089 ms
99th percentile latency sort_numeric_desc 6.17064 ms
100th percentile latency sort_numeric_desc 6.18816 ms
50th percentile service time sort_numeric_desc 4.29629 ms
90th percentile service time sort_numeric_desc 4.35908 ms
99th percentile service time sort_numeric_desc 4.71712 ms
100th percentile service time sort_numeric_desc 4.99893 ms
error rate sort_numeric_desc 0 %
Min Throughput sort_numeric_asc 2.01 ops/s
Mean Throughput sort_numeric_asc 2.01 ops/s
Median Throughput sort_numeric_asc 2.01 ops/s
Max Throughput sort_numeric_asc 2.01 ops/s
50th percentile latency sort_numeric_asc 5.41424 ms
90th percentile latency sort_numeric_asc 5.84059 ms
99th percentile latency sort_numeric_asc 5.99432 ms
100th percentile latency sort_numeric_asc 6.02023 ms
50th percentile service time sort_numeric_asc 4.11072 ms
90th percentile service time sort_numeric_asc 4.19947 ms
99th percentile service time sort_numeric_asc 4.31619 ms
100th percentile service time sort_numeric_asc 4.33418 ms
error rate sort_numeric_asc 0 %
Min Throughput sort_numeric_desc_with_match 2.01 ops/s
Mean Throughput sort_numeric_desc_with_match 2.01 ops/s
Median Throughput sort_numeric_desc_with_match 2.01 ops/s
Max Throughput sort_numeric_desc_with_match 2.01 ops/s
50th percentile latency sort_numeric_desc_with_match 3.76868 ms
90th percentile latency sort_numeric_desc_with_match 4.1304 ms
99th percentile latency sort_numeric_desc_with_match 4.26932 ms
100th percentile latency sort_numeric_desc_with_match 4.28332 ms
50th percentile service time sort_numeric_desc_with_match 2.45493 ms
90th percentile service time sort_numeric_desc_with_match 2.51534 ms
99th percentile service time sort_numeric_desc_with_match 2.56488 ms
100th percentile service time sort_numeric_desc_with_match 2.57606 ms
error rate sort_numeric_desc_with_match 0 %
Min Throughput sort_numeric_asc_with_match 2.01 ops/s
Mean Throughput sort_numeric_asc_with_match 2.01 ops/s
Median Throughput sort_numeric_asc_with_match 2.01 ops/s
Max Throughput sort_numeric_asc_with_match 2.01 ops/s
50th percentile latency sort_numeric_asc_with_match 3.52153 ms
90th percentile latency sort_numeric_asc_with_match 3.94953 ms
99th percentile latency sort_numeric_asc_with_match 4.09879 ms
100th percentile latency sort_numeric_asc_with_match 4.10952 ms
50th percentile service time sort_numeric_asc_with_match 2.24928 ms
90th percentile service time sort_numeric_asc_with_match 2.30076 ms
99th percentile service time sort_numeric_asc_with_match 2.39532 ms
100th percentile service time sort_numeric_asc_with_match 2.41089 ms
error rate sort_numeric_asc_with_match 0 %
Min Throughput range_field_conjunction_big_range_big_term_query 2.01 ops/s
Mean Throughput range_field_conjunction_big_range_big_term_query 2.01 ops/s
Median Throughput range_field_conjunction_big_range_big_term_query 2.01 ops/s
Max Throughput range_field_conjunction_big_range_big_term_query 2.01 ops/s
50th percentile latency range_field_conjunction_big_range_big_term_query 3.76094 ms
90th percentile latency range_field_conjunction_big_range_big_term_query 4.17028 ms
99th percentile latency range_field_conjunction_big_range_big_term_query 4.29908 ms
100th percentile latency range_field_conjunction_big_range_big_term_query 4.31403 ms
50th percentile service time range_field_conjunction_big_range_big_term_query 2.44497 ms
90th percentile service time range_field_conjunction_big_range_big_term_query 2.49715 ms
99th percentile service time range_field_conjunction_big_range_big_term_query 2.57592 ms
100th percentile service time range_field_conjunction_big_range_big_term_query 2.58988 ms
error rate range_field_conjunction_big_range_big_term_query 0 %
Min Throughput range_field_disjunction_big_range_small_term_query 2.01 ops/s
Mean Throughput range_field_disjunction_big_range_small_term_query 2.01 ops/s
Median Throughput range_field_disjunction_big_range_small_term_query 2.01 ops/s
Max Throughput range_field_disjunction_big_range_small_term_query 2.01 ops/s
50th percentile latency range_field_disjunction_big_range_small_term_query 3.57497 ms
90th percentile latency range_field_disjunction_big_range_small_term_query 3.9427 ms
99th percentile latency range_field_disjunction_big_range_small_term_query 4.05439 ms
100th percentile latency range_field_disjunction_big_range_small_term_query 4.05558 ms
50th percentile service time range_field_disjunction_big_range_small_term_query 2.227 ms
90th percentile service time range_field_disjunction_big_range_small_term_query 2.29003 ms
99th percentile service time range_field_disjunction_big_range_small_term_query 2.40587 ms
100th percentile service time range_field_disjunction_big_range_small_term_query 2.41521 ms
error rate range_field_disjunction_big_range_small_term_query 0 %
Min Throughput range_field_conjunction_small_range_small_term_query 2.01 ops/s
Mean Throughput range_field_conjunction_small_range_small_term_query 2.01 ops/s
Median Throughput range_field_conjunction_small_range_small_term_query 2.01 ops/s
Max Throughput range_field_conjunction_small_range_small_term_query 2.01 ops/s
50th percentile latency range_field_conjunction_small_range_small_term_query 3.82394 ms
90th percentile latency range_field_conjunction_small_range_small_term_query 4.23931 ms
99th percentile latency range_field_conjunction_small_range_small_term_query 4.67299 ms
100th percentile latency range_field_conjunction_small_range_small_term_query 4.86226 ms
50th percentile service time range_field_conjunction_small_range_small_term_query 2.47923 ms
90th percentile service time range_field_conjunction_small_range_small_term_query 2.53632 ms
99th percentile service time range_field_conjunction_small_range_small_term_query 2.58123 ms
100th percentile service time range_field_conjunction_small_range_small_term_query 2.58671 ms
error rate range_field_conjunction_small_range_small_term_query 0 %
Min Throughput range_field_conjunction_small_range_big_term_query 2.01 ops/s
Mean Throughput range_field_conjunction_small_range_big_term_query 2.01 ops/s
Median Throughput range_field_conjunction_small_range_big_term_query 2.01 ops/s
Max Throughput range_field_conjunction_small_range_big_term_query 2.01 ops/s
50th percentile latency range_field_conjunction_small_range_big_term_query 3.67626 ms
90th percentile latency range_field_conjunction_small_range_big_term_query 4.08619 ms
99th percentile latency range_field_conjunction_small_range_big_term_query 4.33551 ms
100th percentile latency range_field_conjunction_small_range_big_term_query 4.43334 ms
50th percentile service time range_field_conjunction_small_range_big_term_query 2.3921 ms
90th percentile service time range_field_conjunction_small_range_big_term_query 2.46192 ms
99th percentile service time range_field_conjunction_small_range_big_term_query 2.60736 ms
100th percentile service time range_field_conjunction_small_range_big_term_query 2.71579 ms
error rate range_field_conjunction_small_range_big_term_query 0 %
Min Throughput range-auto-date-histo 0.3 ops/s
Mean Throughput range-auto-date-histo 0.3 ops/s
Median Throughput range-auto-date-histo 0.3 ops/s
Max Throughput range-auto-date-histo 0.3 ops/s
50th percentile latency range-auto-date-histo 703369 ms
90th percentile latency range-auto-date-histo 810993 ms
99th percentile latency range-auto-date-histo 835349 ms
100th percentile latency range-auto-date-histo 836725 ms
50th percentile service time range-auto-date-histo 3165.64 ms
90th percentile service time range-auto-date-histo 3249.61 ms
99th percentile service time range-auto-date-histo 3389.31 ms
100th percentile service time range-auto-date-histo 3402.45 ms
error rate range-auto-date-histo 0 %
Min Throughput range-auto-date-histo-with-metrics 0.11 ops/s
Mean Throughput range-auto-date-histo-with-metrics 0.11 ops/s
Median Throughput range-auto-date-histo-with-metrics 0.11 ops/s
Max Throughput range-auto-date-histo-with-metrics 0.11 ops/s
50th percentile latency range-auto-date-histo-with-metrics 2.25524e+06 ms
90th percentile latency range-auto-date-histo-with-metrics 2.61568e+06 ms
99th percentile latency range-auto-date-histo-with-metrics 2.69674e+06 ms
100th percentile latency range-auto-date-histo-with-metrics 2.7012e+06 ms
50th percentile service time range-auto-date-histo-with-metrics 9482.99 ms
90th percentile service time range-auto-date-histo-with-metrics 9585.78 ms
99th percentile service time range-auto-date-histo-with-metrics 9810.5 ms
100th percentile service time range-auto-date-histo-with-metrics 9884.89 ms
error rate range-auto-date-histo-with-metrics 0 %
Min Throughput range-agg-1 2.01 ops/s
Mean Throughput range-agg-1 2.01 ops/s
Median Throughput range-agg-1 2.01 ops/s
Max Throughput range-agg-1 2.01 ops/s
50th percentile latency range-agg-1 3.83586 ms
90th percentile latency range-agg-1 4.26579 ms
99th percentile latency range-agg-1 4.5434 ms
100th percentile latency range-agg-1 4.6782 ms
50th percentile service time range-agg-1 2.54523 ms
90th percentile service time range-agg-1 2.60911 ms
99th percentile service time range-agg-1 2.97861 ms
100th percentile service time range-agg-1 3.26112 ms
error rate range-agg-1 0 %
Min Throughput range-agg-2 2.01 ops/s
Mean Throughput range-agg-2 2.01 ops/s
Median Throughput range-agg-2 2.01 ops/s
Max Throughput range-agg-2 2.01 ops/s
50th percentile latency range-agg-2 4.05039 ms
90th percentile latency range-agg-2 4.45432 ms
99th percentile latency range-agg-2 5.24171 ms
100th percentile latency range-agg-2 5.35187 ms
50th percentile service time range-agg-2 2.72701 ms
90th percentile service time range-agg-2 2.81197 ms
99th percentile service time range-agg-2 2.94282 ms
100th percentile service time range-agg-2 3.0279 ms
error rate range-agg-2 0 %
Min Throughput cardinality-agg-low 2.01 ops/s
Mean Throughput cardinality-agg-low 2.01 ops/s
Median Throughput cardinality-agg-low 2.01 ops/s
Max Throughput cardinality-agg-low 2.01 ops/s
50th percentile latency cardinality-agg-low 5.49869 ms
90th percentile latency cardinality-agg-low 6.18525 ms
99th percentile latency cardinality-agg-low 6.59737 ms
100th percentile latency cardinality-agg-low 6.88818 ms
50th percentile service time cardinality-agg-low 3.9694 ms
90th percentile service time cardinality-agg-low 4.53777 ms
99th percentile service time cardinality-agg-low 4.68094 ms
100th percentile service time cardinality-agg-low 4.72367 ms
error rate cardinality-agg-low 0 %
Min Throughput cardinality-agg-high 0.78 ops/s
Mean Throughput cardinality-agg-high 0.78 ops/s
Median Throughput cardinality-agg-high 0.78 ops/s
Max Throughput cardinality-agg-high 0.78 ops/s
50th percentile latency cardinality-agg-high 196445 ms
90th percentile latency cardinality-agg-high 227329 ms
99th percentile latency cardinality-agg-high 234270 ms
100th percentile latency cardinality-agg-high 234651 ms
50th percentile service time cardinality-agg-high 1261.99 ms
90th percentile service time cardinality-agg-high 1341.03 ms
99th percentile service time cardinality-agg-high 1493.72 ms
100th percentile service time cardinality-agg-high 1517.51 ms
error rate cardinality-agg-high 0 %
Min Throughput cardinality-agg-very-high 0.59 ops/s
Mean Throughput cardinality-agg-very-high 0.59 ops/s
Median Throughput cardinality-agg-very-high 0.59 ops/s
Max Throughput cardinality-agg-very-high 0.59 ops/s
50th percentile latency cardinality-agg-very-high 121549 ms
90th percentile latency cardinality-agg-very-high 169019 ms
99th percentile latency cardinality-agg-very-high 179721 ms
100th percentile latency cardinality-agg-very-high 180314 ms
50th percentile service time cardinality-agg-very-high 1685.31 ms
90th percentile service time cardinality-agg-very-high 1804.28 ms
99th percentile service time cardinality-agg-very-high 1903.26 ms
100th percentile service time cardinality-agg-very-high 1948.35 ms
error rate cardinality-agg-very-high 0 %
Min Throughput range_with_asc_sort 2.01 ops/s
Mean Throughput range_with_asc_sort 2.01 ops/s
Median Throughput range_with_asc_sort 2.01 ops/s
Max Throughput range_with_asc_sort 2.01 ops/s
50th percentile latency range_with_asc_sort 7.54961 ms
90th percentile latency range_with_asc_sort 7.91943 ms
99th percentile latency range_with_asc_sort 8.07932 ms
100th percentile latency range_with_asc_sort 8.10935 ms
50th percentile service time range_with_asc_sort 6.20615 ms
90th percentile service time range_with_asc_sort 6.29106 ms
99th percentile service time range_with_asc_sort 6.55573 ms
100th percentile service time range_with_asc_sort 6.58264 ms
error rate range_with_asc_sort 0 %
Min Throughput range_with_desc_sort 2.01 ops/s
Mean Throughput range_with_desc_sort 2.01 ops/s
Median Throughput range_with_desc_sort 2.01 ops/s
Max Throughput range_with_desc_sort 2.01 ops/s
50th percentile latency range_with_desc_sort 7.37016 ms
90th percentile latency range_with_desc_sort 7.85613 ms
99th percentile latency range_with_desc_sort 12.7202 ms
100th percentile latency range_with_desc_sort 16.2564 ms
50th percentile service time range_with_desc_sort 6.05275 ms
90th percentile service time range_with_desc_sort 6.20994 ms
99th percentile service time range_with_desc_sort 11.1729 ms
100th percentile service time range_with_desc_sort 14.5853 ms
error rate range_with_desc_sort 0 %

@asimmahmood1
Copy link
Contributor

I think big5 snapshot for 3.4 should have skiplist enabled for @timestamp.

I tried out this change on big5, 20% data, sorted by @timestamp (default is no sort).

[ec2-user@ip-172-31-61-197 ~]$ opensearch-benchmark compare -b 75193634-a102-4dc0-bff7-8e77af36a358 -c bb6304f5-89de-4bcb-a4a9-df2d2d3e5a20


/ __ ____ ___ ____ / / ____ / / / __ ) ____ / / ____ ___ ____ / /
/ / / / __ / _ / __ \ / _ / __ / ___/ ___/ __ \ / __ / _ \/ __ \/ ___/ __ \/ __ / __ `/ / ///
/ /
/ / /
/ / / / / // / / /_/ / / / // / / / / // / / / / / // / / / / / / / / // / / / ,<
_
/ .
/_// //____/_
/_,/_/ _
// // //_// //_// /// // //_,// //||
/_/

Comparing baseline
TestExecution ID: 75193634-a102-4dc0-bff7-8e77af36a358 TestExecution timestamp: 2025-10-09 16:55:05
TestProcedure: big5
ProvisionConfigInstance: external
User tags: asimmahm=3.3rc2-big5-sorted-range-auto-date-baseline

with contender
TestExecution ID: bb6304f5-89de-4bcb-a4a9-df2d2d3e5a20
TestExecution timestamp: 2025-10-09 17:30:10
TestProcedure: big5
ProvisionConfigInstance: external
User tags: asimmahm=3.3rc2-big5-sorted-range-auto-date-candidate

Metric Task Baseline Contender %Diff Diff Unit
Min Throughput range-auto-date-histo 1.27014 1.22964 -3.19% -0.04051 ops/s
Mean Throughput range-auto-date-histo 1.27187 1.23706 -2.74% -0.03481 ops/s
Median Throughput range-auto-date-histo 1.27189 1.23643 -2.79% -0.03546 ops/s
Max Throughput range-auto-date-histo 1.2737 1.24412 -2.32% -0.02958 ops/s
50th percentile latency range-auto-date-histo 72441.8 77212.8 +6.59% 🔴 4771 ms
90th percentile latency range-auto-date-histo 83602.1 88060.7 +5.33% 🔴 4458.56 ms
99th percentile latency range-auto-date-histo 86171 90920.7 +5.51% 🔴 4749.77 ms
100th percentile latency range-auto-date-histo 86456.5 91181.3 +5.46% 🔴 4724.81 ms
50th percentile service time range-auto-date-histo 766.19 766.99 0.10% 0.80005 ms
90th percentile service time range-auto-date-histo 833.148 871.862 4.65% 38.7137 ms
99th percentile service time range-auto-date-histo 926.331 989.296 +6.80% 🔴 62.9648 ms
100th percentile service time range-auto-date-histo 1017.5 1078.37 +5.98% 🔴 60.868 ms
error rate range-auto-date-histo 0 0 0.00% 0 %
Min Throughput range-auto-date-histo-with-metrics 0.416395 0.428757 2.97% 0.01236 ops/s
Mean Throughput range-auto-date-histo-with-metrics 0.416564 0.429218 3.04% 0.01265 ops/s
Median Throughput range-auto-date-histo-with-metrics 0.416517 0.42925 3.06% 0.01273 ops/s
Max Throughput range-auto-date-histo-with-metrics 0.416853 0.429624 3.06% 0.01277 ops/s
50th percentile latency range-auto-date-histo-with-metrics 476658 457890 -3.94% -18767.8 ms
90th percentile latency range-auto-date-histo-with-metrics 552051 530256 -3.95% -21794.9 ms
99th percentile latency range-auto-date-histo-with-metrics 568873 546436 -3.94% -22437 ms
100th percentile latency range-auto-date-histo-with-metrics 570720 548213 -3.94% -22507.8 ms
50th percentile service time range-auto-date-histo-with-metrics 2379.4 2297.31 -3.45% -82.0885 ms
90th percentile service time range-auto-date-histo-with-metrics 2479.82 2396.16 -3.37% -83.6536 ms
99th percentile service time range-auto-date-histo-with-metrics 2617.2 2540.42 -2.93% -76.7789 ms
100th percentile service time range-auto-date-histo-with-metrics 2619.64 2587.99 -1.21% -31.6505 ms
error rate range-auto-date-histo-with-metrics 0 0 0.00% 0 %

@asimmahmood1
Copy link
Contributor

So AutoDateHistogram is different than DateHistogram, will need to add skiplist logic there as well:

Screenshot 2025-10-09 at 11 07 10 AM

range_auto_date_histo_baseline.html
range_auto_date_histo_canddiate.html
range-auto-date-histo-with-metrics_baseline.html
range-auto-date-histo-with-metrics_candidate.html

@asimmahmood1
Copy link
Contributor

Fixed the issue with my setup, it wasn't hitting the skiplist path.

Now with skiplist its 20-30% worst latency. Async profile attached.

Metric Task Baseline Contender %Diff Diff Unit
Min Throughput range-auto-date-histo 1.27014 0.932343 -26.60% 🟢 -0.3378 ops/s
Mean Throughput range-auto-date-histo 1.27187 0.949476 -25.35% 🟢 -0.3224 ops/s
Median Throughput range-auto-date-histo 1.27189 0.950048 -25.30% 🟢 -0.32184 ops/s
Max Throughput range-auto-date-histo 1.2737 0.964287 -24.29% 🟢 -0.30941 ops/s
50th percentile latency range-auto-date-histo 72441.8 138114 +90.66% 🔴 65672.4 ms
90th percentile latency range-auto-date-histo 83602.1 156196 +86.83% 🔴 72593.6 ms
99th percentile latency range-auto-date-histo 86171 160340 +86.07% 🔴 74169.2 ms
100th percentile latency range-auto-date-histo 86456.5 160782 +85.97% 🔴 74325.7 ms
50th percentile service time range-auto-date-histo 766.19 948.317 +23.77% 🔴 182.128 ms
90th percentile service time range-auto-date-histo 833.148 1005.98 +20.74% 🔴 172.83 ms
99th percentile service time range-auto-date-histo 926.331 1120.47 +20.96% 🔴 194.14 ms
100th percentile service time range-auto-date-histo 1017.5 1262.62 +24.09% 🔴 245.123 ms
error rate range-auto-date-histo 0 0 0.00% 0 %
Min Throughput range-auto-date-histo-with-metrics 0.416395 0.316358 -24.02% 🟢 -0.10004 ops/s
Mean Throughput range-auto-date-histo-with-metrics 0.416564 0.316664 -23.98% 🟢 -0.0999 ops/s
Median Throughput range-auto-date-histo-with-metrics 0.416517 0.316571 -24.00% 🟢 -0.09995 ops/s
Max Throughput range-auto-date-histo-with-metrics 0.416853 0.317119 -23.93% 🟢 -0.09973 ops/s
50th percentile latency range-auto-date-histo-with-metrics 476658 666033 +39.73% 🔴 189376 ms
90th percentile latency range-auto-date-histo-with-metrics 552051 769985 +39.48% 🔴 217934 ms
99th percentile latency range-auto-date-histo-with-metrics 568873 793254 +39.44% 🔴 224381 ms
100th percentile latency range-auto-date-histo-with-metrics 570720 795939 +39.46% 🔴 225218 ms
50th percentile service time range-auto-date-histo-with-metrics 2379.4 3127.52 +31.44% 🔴 748.119 ms
90th percentile service time range-auto-date-histo-with-metrics 2479.82 3196.6 +28.90% 🔴 716.78 ms
99th percentile service time range-auto-date-histo-with-metrics 2617.2 3266.26 +24.80% 🔴 649.055 ms
100th percentile service time range-auto-date-histo-with-metrics 2619.64 3302.11 +26.05% 🔴 682.465 ms
error rate range-auto-date-histo-with-metrics 0 0 0.00% 0 %

range_auto_date_histo_baseline.html
range_auto_date_histo_canddiate.html
range-auto-date-histo-with-metrics_baseline.html
range-auto-date-histo-with-metrics_candidate.html

@asimmahmood1
Copy link
Contributor

Candidate - slower

One big difference is I see is how much time is spent in org/opensearch/search/aggregations/bucket/terms/LongKeyedBucketOrds$FromMany.add in candidate: 23% vs 3%
Screenshot 2025-10-09 at 2 15 55 PM

Baseline

Screenshot 2025-10-09 at 2 16 58 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants