Remove the experimental CLI flag

This commit is contained in:
Kerollmops 2023-09-25 14:48:41 +02:00
parent 90a626bf80
commit 513e61e9a3
No known key found for this signature in database
GPG Key ID: F250A4C4E3AE5F5F
5 changed files with 12 additions and 32 deletions

View File

@ -258,8 +258,6 @@ pub struct IndexSchedulerOptions {
/// The maximum number of tasks stored in the task queue before starting /// The maximum number of tasks stored in the task queue before starting
/// to auto schedule task deletions. /// to auto schedule task deletions.
pub max_number_of_tasks: usize, pub max_number_of_tasks: usize,
/// Weither we need to export indexation puffin reports.
pub profile_with_puffin: bool,
/// The experimental features enabled for this instance. /// The experimental features enabled for this instance.
pub instance_features: InstanceTogglableFeatures, pub instance_features: InstanceTogglableFeatures,
} }
@ -318,8 +316,8 @@ pub struct IndexScheduler {
/// the finished tasks automatically. /// the finished tasks automatically.
pub(crate) max_number_of_tasks: usize, pub(crate) max_number_of_tasks: usize,
/// Wether we must output indexation profiling files to disk. /// A frame to output the indexation profiling files to disk.
pub(crate) puffin_frame: Option<Arc<puffin::GlobalFrameView>>, pub(crate) puffin_frame: Arc<puffin::GlobalFrameView>,
/// The path used to create the dumps. /// The path used to create the dumps.
pub(crate) dumps_path: PathBuf, pub(crate) dumps_path: PathBuf,
@ -465,9 +463,7 @@ impl IndexScheduler {
env, env,
// we want to start the loop right away in case meilisearch was ctrl+Ced while processing things // we want to start the loop right away in case meilisearch was ctrl+Ced while processing things
wake_up: Arc::new(SignalEvent::auto(true)), wake_up: Arc::new(SignalEvent::auto(true)),
puffin_frame: options puffin_frame: Arc::new(puffin::GlobalFrameView::default()),
.profile_with_puffin
.then(|| Arc::new(puffin::GlobalFrameView::default())),
autobatching_enabled: options.autobatching_enabled, autobatching_enabled: options.autobatching_enabled,
max_number_of_tasks: options.max_number_of_tasks, max_number_of_tasks: options.max_number_of_tasks,
dumps_path: options.dumps_path, dumps_path: options.dumps_path,
@ -1087,18 +1083,17 @@ impl IndexScheduler {
// Let's write the previous frame to disk but only if // Let's write the previous frame to disk but only if
// the user wanted to profile with puffin. // the user wanted to profile with puffin.
if puffin_enabled { if puffin_enabled {
if let Some(global_frame_view) = &self.puffin_frame { let mut frame_view = self.puffin_frame.lock();
let mut frame_view = global_frame_view.lock();
if !frame_view.is_empty() { if !frame_view.is_empty() {
let now = OffsetDateTime::now_utc(); let now = OffsetDateTime::now_utc();
let mut file = File::create(format!("{}.puffin", now))?; let mut file = File::create(format!("{}.puffin", now))?;
frame_view.save_to_writer(&mut file)?; frame_view.save_to_writer(&mut file)?;
file.sync_all()?; file.sync_all()?;
// We erase everything on this frame as it is not more useful. // We erase this frame view as it is no more useful. We want to
// measure the new frames now that we exported the previous ones.
*frame_view = FrameView::default(); *frame_view = FrameView::default();
} }
} }
}
return Ok(TickOutcome::WaitForSignal); return Ok(TickOutcome::WaitForSignal);
} }

View File

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

View File

@ -237,7 +237,6 @@ fn open_or_create_database_unchecked(
indexer_config: (&opt.indexer_options).try_into()?, indexer_config: (&opt.indexer_options).try_into()?,
autobatching_enabled: true, autobatching_enabled: true,
max_number_of_tasks: 1_000_000, 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_growth_amount: byte_unit::Byte::from_str("10GiB").unwrap().get_bytes() as usize,
index_count: DEFAULT_INDEX_COUNT, index_count: DEFAULT_INDEX_COUNT,
instance_features, instance_features,

View File

@ -30,8 +30,6 @@ fn setup(opt: &Opt) -> anyhow::Result<()> {
async fn main() -> anyhow::Result<()> { async fn main() -> anyhow::Result<()> {
let (opt, config_read_from) = Opt::try_build()?; let (opt, config_read_from) = Opt::try_build()?;
puffin::set_scopes_on(opt.experimental_profile_with_puffin);
anyhow::ensure!( anyhow::ensure!(
!(cfg!(windows) && opt.experimental_reduce_indexing_memory_usage), !(cfg!(windows) && opt.experimental_reduce_indexing_memory_usage),
"The `experimental-reduce-indexing-memory-usage` flag is not supported on Windows" "The `experimental-reduce-indexing-memory-usage` flag is not supported on Windows"

View File

@ -51,7 +51,6 @@ const MEILI_LOG_LEVEL: &str = "MEILI_LOG_LEVEL";
const MEILI_EXPERIMENTAL_ENABLE_METRICS: &str = "MEILI_EXPERIMENTAL_ENABLE_METRICS"; const MEILI_EXPERIMENTAL_ENABLE_METRICS: &str = "MEILI_EXPERIMENTAL_ENABLE_METRICS";
const MEILI_EXPERIMENTAL_REDUCE_INDEXING_MEMORY_USAGE: &str = const MEILI_EXPERIMENTAL_REDUCE_INDEXING_MEMORY_USAGE: &str =
"MEILI_EXPERIMENTAL_REDUCE_INDEXING_MEMORY_USAGE"; "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_CONFIG_FILE_PATH: &str = "./config.toml";
const DEFAULT_DB_PATH: &str = "./data.ms"; const DEFAULT_DB_PATH: &str = "./data.ms";
@ -302,11 +301,6 @@ pub struct Opt {
#[serde(default)] #[serde(default)]
pub experimental_reduce_indexing_memory_usage: bool, 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)] #[serde(flatten)]
#[clap(flatten)] #[clap(flatten)]
pub indexer_options: IndexerOpts, pub indexer_options: IndexerOpts,
@ -400,7 +394,6 @@ impl Opt {
no_analytics, no_analytics,
experimental_enable_metrics: enable_metrics_route, experimental_enable_metrics: enable_metrics_route,
experimental_reduce_indexing_memory_usage: reduce_indexing_memory_usage, experimental_reduce_indexing_memory_usage: reduce_indexing_memory_usage,
experimental_profile_with_puffin,
} = self; } = self;
export_to_env_if_not_present(MEILI_DB_PATH, db_path); export_to_env_if_not_present(MEILI_DB_PATH, db_path);
export_to_env_if_not_present(MEILI_HTTP_ADDR, http_addr); export_to_env_if_not_present(MEILI_HTTP_ADDR, http_addr);
@ -446,10 +439,6 @@ impl Opt {
MEILI_EXPERIMENTAL_REDUCE_INDEXING_MEMORY_USAGE, MEILI_EXPERIMENTAL_REDUCE_INDEXING_MEMORY_USAGE,
reduce_indexing_memory_usage.to_string(), 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(); indexer_options.export_to_env();
} }