Expose an experimental flag to write the puffin reports to disk

This commit is contained in:
Clément Renault 2023-09-21 16:30:13 +02:00 committed by Kerollmops
parent c5f7893fbb
commit 656dadabea
No known key found for this signature in database
GPG key ID: F250A4C4E3AE5F5F
4 changed files with 38 additions and 1 deletions

View file

@ -285,6 +285,7 @@ impl From<Opt> for Infos {
db_path,
experimental_enable_metrics,
experimental_reduce_indexing_memory_usage,
experimental_profile_with_puffin: _,
http_addr,
master_key: _,
env,

View file

@ -237,6 +237,7 @@ fn open_or_create_database_unchecked(
indexer_config: (&opt.indexer_options).try_into()?,
autobatching_enabled: true,
max_number_of_tasks: 1_000_000,
profile_with_puffin: opt.experimental_profile_with_puffin,
index_growth_amount: byte_unit::Byte::from_str("10GiB").unwrap().get_bytes() as usize,
index_count: DEFAULT_INDEX_COUNT,
instance_features,

View file

@ -51,6 +51,7 @@ const MEILI_LOG_LEVEL: &str = "MEILI_LOG_LEVEL";
const MEILI_EXPERIMENTAL_ENABLE_METRICS: &str = "MEILI_EXPERIMENTAL_ENABLE_METRICS";
const MEILI_EXPERIMENTAL_REDUCE_INDEXING_MEMORY_USAGE: &str =
"MEILI_EXPERIMENTAL_REDUCE_INDEXING_MEMORY_USAGE";
const MEILI_EXPERIMENTAL_PROFILE_WITH_PUFFIN: &str = "MEILI_EXPERIMENTAL_PROFILE_WITH_PUFFIN";
const DEFAULT_CONFIG_FILE_PATH: &str = "./config.toml";
const DEFAULT_DB_PATH: &str = "./data.ms";
@ -301,6 +302,11 @@ pub struct Opt {
#[serde(default)]
pub experimental_reduce_indexing_memory_usage: bool,
/// Experimental flag to export puffin reports, see: <https://github.com/meilisearch/product/discussions/xxx>
#[clap(long, env = MEILI_EXPERIMENTAL_PROFILE_WITH_PUFFIN)]
#[serde(default)]
pub experimental_profile_with_puffin: bool,
#[serde(flatten)]
#[clap(flatten)]
pub indexer_options: IndexerOpts,
@ -394,6 +400,7 @@ impl Opt {
no_analytics,
experimental_enable_metrics: enable_metrics_route,
experimental_reduce_indexing_memory_usage: reduce_indexing_memory_usage,
experimental_profile_with_puffin,
} = self;
export_to_env_if_not_present(MEILI_DB_PATH, db_path);
export_to_env_if_not_present(MEILI_HTTP_ADDR, http_addr);
@ -439,6 +446,10 @@ impl Opt {
MEILI_EXPERIMENTAL_REDUCE_INDEXING_MEMORY_USAGE,
reduce_indexing_memory_usage.to_string(),
);
export_to_env_if_not_present(
MEILI_EXPERIMENTAL_PROFILE_WITH_PUFFIN,
experimental_profile_with_puffin.to_string(),
);
indexer_options.export_to_env();
}