Module profiling

Module profiling 

Source
Expand description

Profiling (Phase 1).

A small, engine-delegated profiler that computes common column metrics using Polars under the hood, while keeping the public API in crate-owned types.

§Example

use rust_data_processing::profiling::{profile_dataset, ProfileOptions, SamplingMode};
use rust_data_processing::types::{DataSet, DataType, Field, Schema, Value};

let ds = DataSet::new(
    Schema::new(vec![Field::new("score", DataType::Float64)]),
    vec![vec![Value::Float64(1.0)], vec![Value::Null], vec![Value::Float64(3.0)]],
);

let rep = profile_dataset(
    &ds,
    &ProfileOptions {
        sampling: SamplingMode::Head(2),
        quantiles: vec![0.5],
    },
)?;

assert_eq!(rep.row_count, 2);
assert_eq!(rep.columns[0].null_count, 1);

Structs§

ColumnProfile
NumericProfile
ProfileOptions
Options for profiling.
ProfileReport

Enums§

SamplingMode
How profiling should sample rows before computing metrics.

Functions§

profile_dataset
Profile an in-memory dataset.
profile_frame
Profile a pipeline frame (computed lazily).
render_profile_report_json
Render a profile report to a stable JSON string.
render_profile_report_markdown
Render a profile report to a human-readable Markdown string.