This repository was archived by the owner on Nov 7, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 19
Add Compatibility Report documentation #974
Merged
Merged
Changes from 1 commit
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
c198bd1
Add A/B testing documentation
avelanarius f5bd8e0
A section about analyzing A/B tests reports
avelanarius 31729c5
rewrite "difficulties"
avelanarius 89162d8
based on that information...
avelanarius e73e10b
wip
avelanarius 80acdcf
wip 2
avelanarius 6168a7a
wip 3
avelanarius dba7ac4
Remove last remnants of EAP/Early Access
avelanarius ce8a0d0
wip 4
avelanarius d88cccb
ab_testing_logs
avelanarius 6080b20
Updated screenshots
avelanarius File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| # A/B testing | ||
|
|
||
| Quesma can help validate your migration by sending queries to both Elasticsearch and ClickHouse simultaneously and comparing the results. This allows you to verify that queries return equivalent results from both systems before fully switching over. | ||
|
|
||
| You can enable A/B testing on an individual index level or for all (unconfigured) indexes via `*`. The configuration supports specifying which source (Elasticsearch or ClickHouse) should be the primary source to return results from and compare to. | ||
|
|
||
| Apart from validating correctness, A/B testing also measures the execution time difference (speedups or slowdowns) and generates a report per each dashboard and index. | ||
|
|
||
| ## Configuration | ||
|
|
||
| Enabling A/B testing is as simple as adding two targets to an index: | ||
avelanarius marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ```yaml | ||
| processors: | ||
| - name: my-query-processor | ||
| type: quesma-v1-processor-query | ||
| config: | ||
| indexes: | ||
| kibana_sample_data_ecommerce: | ||
| target: [ backend-elastic, backend-clickhouse ] | ||
| ``` | ||
| The order of targets matters in the configuration - the first target will be the primary target that Kibana (or other applications) receives results from. In the example above, Quesma will: | ||
| 1. Receive an incoming query from Kibana/OpenSearch Dashboards | ||
| 2. Send the same query to both Elasticsearch and ClickHouse | ||
| 3. Compare the responses to ensure they match | ||
| 4. Return the response from the Elastic to the client | ||
| 5. Log any discrepancies for analysis | ||
| ## A/B testing report | ||
| In the Quesma managment UI (default port `9999`) the "A/B" tab shows a compatibility report based on the collected data: | ||
|
|
||
|  | ||
|
|
||
| Upon clicking on the "Details" link, you can see a more detailed information about the discovered mismatch between sources. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.