Update movies workload

This commit is contained in:
Mubelotix
2025-08-26 14:53:46 +02:00
parent 36ff335a4d
commit b99410ee6c
8 changed files with 25 additions and 18 deletions

View File

@ -20,7 +20,7 @@ use crate::common::process::{self, delete_db, start_meili};
/// A bench workload.
/// Not to be confused with [a test workload](crate::test::workload::Workload).
#[derive(Serialize, Deserialize)]
#[derive(Serialize, Deserialize, Debug)]
pub struct BenchWorkload {
pub name: String,
pub run_count: u16,

View File

@ -8,7 +8,7 @@ use sha2::Digest;
use super::client::Client;
#[derive(Serialize, Deserialize, Clone)]
#[derive(Serialize, Deserialize, Clone, Debug)]
pub struct Asset {
pub local_location: Option<String>,
pub remote_location: Option<String>,
@ -18,7 +18,7 @@ pub struct Asset {
pub sha256: Option<String>,
}
#[derive(Serialize, Deserialize, Default, Copy, Clone)]
#[derive(Serialize, Deserialize, Default, Copy, Clone, Debug)]
pub enum AssetFormat {
#[default]
Auto,

View File

@ -12,7 +12,7 @@ use similar_asserts::SimpleDiff;
use crate::common::assets::{fetch_asset, Asset};
use crate::common::client::{Client, Method};
#[derive(Serialize, Deserialize, Clone)]
#[derive(Serialize, Deserialize, Clone, Debug)]
#[serde(rename_all = "camelCase")]
pub struct Command {
pub route: String,
@ -27,7 +27,7 @@ pub struct Command {
synchronous: SyncMode,
}
#[derive(Default, Clone, Serialize, Deserialize)]
#[derive(Default, Clone, Serialize, Deserialize, Debug)]
#[serde(untagged)]
pub enum Body {
Inline {

View File

@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize};
use crate::{bench::BenchWorkload, test::TestWorkload};
#[derive(Serialize, Deserialize)]
#[derive(Serialize, Deserialize, Debug)]
#[serde(tag = "type")]
#[serde(rename_all = "camelCase")]
pub enum Workload {

View File

@ -55,10 +55,10 @@ async fn run_inner(args: TestDeriveArgs) -> anyhow::Result<()> {
let asset_folder = args.common.asset_folder.clone().leak();
for workload_file in &args.common.workload_file {
let workload: Workload = serde_json::from_reader(
std::fs::File::open(workload_file)
.with_context(|| format!("error opening {}", workload_file.display()))?,
)
let string = tokio::fs::read_to_string(workload_file)
.await
.with_context(|| format!("error reading {}", workload_file.display()))?;
let workload: Workload = serde_json::from_str(string.trim())
.with_context(|| format!("error parsing {} as JSON", workload_file.display()))?;
let Workload::Test(workload) = workload else {

View File

@ -5,7 +5,7 @@ use anyhow::Context;
use cargo_metadata::semver::Version;
use serde::{Deserialize, Serialize};
#[derive(Clone)]
#[derive(Clone, Debug)]
pub enum VersionOrLatest {
Version(Version),
Latest,

View File

@ -19,7 +19,7 @@ use crate::{
},
};
#[derive(Serialize, Deserialize)]
#[derive(Serialize, Deserialize, Debug)]
#[serde(untagged)]
pub enum CommandOrUpgrade {
Command(Command),
@ -52,8 +52,8 @@ fn produce_reference_value(value: &mut Value) {
"processingTimeMs" => {
*value = Value::String(String::from("[duration]"));
continue;
},
_ => produce_reference_value(value)
}
_ => produce_reference_value(value),
}
}
}
@ -62,7 +62,7 @@ fn produce_reference_value(value: &mut Value) {
/// A test workload.
/// Not to be confused with [a bench workload](crate::bench::workload::Workload).
#[derive(Serialize, Deserialize)]
#[derive(Serialize, Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct TestWorkload {
pub name: String,

View File

@ -54,6 +54,9 @@
},
"synchronous": "WaitForTask"
},
{
"upgrade": "latest"
},
{
"route": "indexes/movies/search?q=bitcoin",
"method": "GET",
@ -128,7 +131,7 @@
],
"limit": 20,
"offset": 0,
"processingTimeMs": 1,
"processingTimeMs": "[duration]",
"query": "bitcoin"
},
"synchronous": "DontWait"
@ -139,6 +142,7 @@
"body": null,
"expectedStatus": 200,
"expectedResponse": {
"avgDocumentSize": 499,
"fieldDistribution": {
"genres": 31944,
"id": 31944,
@ -148,7 +152,10 @@
"title": 31944
},
"isIndexing": false,
"numberOfDocuments": 31944
"numberOfDocuments": 31944,
"numberOfEmbeddedDocuments": 0,
"numberOfEmbeddings": 0,
"rawDocumentDbSize": 16220160
},
"synchronous": "DontWait"
}