diff options
| author | Sébastien d'Herbais de Thun <sebastien.d.herbais@gmail.com> | 2023-04-23 14:33:56 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-23 14:33:56 +0200 |
| commit | 561ff979d574f496415c0499345d41da2e1f6e1e (patch) | |
| tree | 037479ac000bd87a1cb2149e5389b28f08d24051 /src/export/pdf | |
| parent | 2fbb14f712708188649181525813b3ac5a02e0fb (diff) | |
Add instrumentation (Part 1) (#761)
Diffstat (limited to 'src/export/pdf')
| -rw-r--r-- | src/export/pdf/font.rs | 1 | ||||
| -rw-r--r-- | src/export/pdf/image.rs | 3 | ||||
| -rw-r--r-- | src/export/pdf/mod.rs | 3 | ||||
| -rw-r--r-- | src/export/pdf/outline.rs | 2 | ||||
| -rw-r--r-- | src/export/pdf/page.rs | 4 |
5 files changed, 13 insertions, 0 deletions
diff --git a/src/export/pdf/font.rs b/src/export/pdf/font.rs index ada5e05d..de79976a 100644 --- a/src/export/pdf/font.rs +++ b/src/export/pdf/font.rs @@ -9,6 +9,7 @@ use super::{deflate, EmExt, PdfContext, RefExt}; use crate::util::SliceExt; /// Embed all used fonts into the PDF. +#[tracing::instrument(skip_all)] pub fn write_fonts(ctx: &mut PdfContext) { for font in ctx.font_map.items() { let type0_ref = ctx.alloc.bump(); diff --git a/src/export/pdf/image.rs b/src/export/pdf/image.rs index e6eaa9c9..04d4dcc3 100644 --- a/src/export/pdf/image.rs +++ b/src/export/pdf/image.rs @@ -7,6 +7,7 @@ use super::{deflate, PdfContext, RefExt}; use crate::image::{DecodedImage, RasterFormat}; /// Embed all used images into the PDF. +#[tracing::instrument(skip_all)] pub fn write_images(ctx: &mut PdfContext) { for image in ctx.image_map.items() { let image_ref = ctx.alloc.bump(); @@ -67,6 +68,7 @@ pub fn write_images(ctx: &mut PdfContext) { /// whether the image has color. /// /// Skips the alpha channel as that's encoded separately. +#[tracing::instrument(skip_all)] fn encode_image( format: RasterFormat, dynamic: &DynamicImage, @@ -111,6 +113,7 @@ fn encode_image( } /// Encode an image's alpha channel if present. +#[tracing::instrument(skip_all)] fn encode_alpha(dynamic: &DynamicImage) -> (Vec<u8>, Filter) { let pixels: Vec<_> = dynamic.pixels().map(|(_, _, Rgba([_, _, _, a]))| a).collect(); (deflate(&pixels), Filter::FlateDecode) diff --git a/src/export/pdf/mod.rs b/src/export/pdf/mod.rs index 8fc76471..ffbf67a3 100644 --- a/src/export/pdf/mod.rs +++ b/src/export/pdf/mod.rs @@ -23,6 +23,7 @@ use crate::model::Introspector; /// Export a document into a PDF file. /// /// Returns the raw bytes making up the PDF file. +#[tracing::instrument(skip_all)] pub fn pdf(document: &Document) -> Vec<u8> { let mut ctx = PdfContext::new(document); page::construct_pages(&mut ctx, &document.pages); @@ -79,6 +80,7 @@ impl<'a> PdfContext<'a> { } /// Write the document catalog. +#[tracing::instrument(skip_all)] fn write_catalog(ctx: &mut PdfContext) { let lang = ctx .languages @@ -140,6 +142,7 @@ fn write_catalog(ctx: &mut PdfContext) { } /// Compress data with the DEFLATE algorithm. +#[tracing::instrument(skip_all)] fn deflate(data: &[u8]) -> Vec<u8> { const COMPRESSION_LEVEL: u8 = 6; miniz_oxide::deflate::compress_to_vec_zlib(data, COMPRESSION_LEVEL) diff --git a/src/export/pdf/outline.rs b/src/export/pdf/outline.rs index 03ca3b27..f8f12d71 100644 --- a/src/export/pdf/outline.rs +++ b/src/export/pdf/outline.rs @@ -8,6 +8,7 @@ use crate::model::Content; use crate::util::NonZeroExt; /// Construct the outline for the document. +#[tracing::instrument(skip_all)] pub fn write_outline(ctx: &mut PdfContext) -> Option<Ref> { let mut tree: Vec<HeadingNode> = vec![]; for heading in ctx.introspector.query(&item!(heading_func).select()) { @@ -81,6 +82,7 @@ impl HeadingNode { } /// Write an outline item and all its children. +#[tracing::instrument(skip_all)] fn write_outline_item( ctx: &mut PdfContext, node: &HeadingNode, diff --git a/src/export/pdf/page.rs b/src/export/pdf/page.rs index 94650a3f..e15f3750 100644 --- a/src/export/pdf/page.rs +++ b/src/export/pdf/page.rs @@ -15,6 +15,7 @@ use crate::geom::{ use crate::image::Image; /// Construct page objects. +#[tracing::instrument(skip_all)] pub fn construct_pages(ctx: &mut PdfContext, frames: &[Frame]) { for frame in frames { construct_page(ctx, frame); @@ -22,6 +23,7 @@ pub fn construct_pages(ctx: &mut PdfContext, frames: &[Frame]) { } /// Construct a page object. +#[tracing::instrument(skip_all)] pub fn construct_page(ctx: &mut PdfContext, frame: &Frame) { let page_ref = ctx.alloc.bump(); ctx.page_refs.push(page_ref); @@ -64,6 +66,7 @@ pub fn construct_page(ctx: &mut PdfContext, frame: &Frame) { } /// Write the page tree. +#[tracing::instrument(skip_all)] pub fn write_page_tree(ctx: &mut PdfContext) { for page in std::mem::take(&mut ctx.pages).into_iter() { write_page(ctx, page); @@ -100,6 +103,7 @@ pub fn write_page_tree(ctx: &mut PdfContext) { } /// Write a page tree node. +#[tracing::instrument(skip_all)] fn write_page(ctx: &mut PdfContext, page: Page) { let content_id = ctx.alloc.bump(); |
