page: Instrument save_page function

Adding a span and event to track indexing time.
This commit is contained in:
2025-04-04 20:24:46 -05:00
parent 03fe19aa9b
commit df560b18f2

View File

@@ -5,6 +5,7 @@ use markup5ever_rcdom::{Handle, NodeData, RcDom};
use meilisearch_sdk::errors::Error;
use rand::Rng;
use serde::Serialize;
use tracing::{debug, event, span, Level};
use crate::Context;
@@ -31,8 +32,11 @@ pub async fn save_page(
data: &str,
ctx: &Context,
) -> Result<Page, Error> {
let client = &ctx.client;
let index = client.get_index(&ctx.config.meilisearch.index).await?;
let span = span!(Level::INFO, "save_page", url = url);
let _guard = span.enter();
let index_name = &ctx.config.meilisearch.index;
debug!("Saving page in Meilisearch index {}", index_name);
let index = ctx.client.get_index(index_name).await?;
let doc = Page {
id: gen_id(),
timestamp: Utc::now(),
@@ -41,6 +45,7 @@ pub async fn save_page(
data: data.into(),
};
index.add_or_replace(&[doc.clone()], Some("id")).await?;
event!(Level::INFO, "Saved page {}", doc.id);
Ok(doc)
}