Umbral
Back to plugin directory
UA

Umbral Analytics

Official by Umbral contributors

PostHog capture, pageviews, custom events, bounded sends

official beta

About

You can't improve what you can't see. Umbral Analytics auto-captures pageviews and lets you fire custom product events to PostHog, so "which features do people actually use?" stops being a guess. The outbound sends are bounded — an analytics burst can't fan out unbounded connections and take the request path down with it — so instrumenting your app never becomes the reason it falls over.

Install

cargo add umbral-analytics

Wire it up

Read the key from the environment and exclude paths you don't want counted.

use umbral::prelude::*;
use umbral_analytics::AnalyticsPlugin;

let app = App::builder()
    .database("default", pool)
    .plugin(
        AnalyticsPlugin::from_env()                  // UMBRAL_ANALYTICS_* keys
            .with_exclude_prefixes(vec!["/static".into(), "/healthz".into()]),
    )
    .build()?;

Target: track a conversion, not just a pageview

Auto-capture gives you traffic; a custom event gives you the funnel step that matters.

What you get

  • Auto-captured pageviews to PostHog
  • Custom product events for the funnel steps you care about
  • Path-prefix exclusions (skip /static, health checks, etc.)
  • Bounded outbound sends — a burst can't exhaust connections
  • Key from env via from_env(), or explicit with new(api_key)

Usage

Configure with `AnalyticsPlugin::from_env()` (reads the PostHog key from the environment) or `AnalyticsPlugin::new(api_key)`, and `.with_exclude_prefixes(...)` to skip assets and probes. Outbound sends are bounded so instrumentation can't overwhelm the request path.

plugin setup
cargo add umbral-analytics

Feature tracker

Per-feature shipping status, recorded in the directory.

5 of 5 shipped
PostHog client usable Beta

Captures events to a configurable PostHog host.

Pageview capture usable Beta

Optional request capture for product traffic.

Custom events usable Beta

Fire product events with typed JSON properties.

Exclude prefixes usable Beta

Skip assets, probes, and sensitive paths by prefix.

Bounded outbound sends usable Beta

Fire-and-forget delivery is capped so bursts do not fan out unbounded.

Compatibility

Declared support per Umbral version and database backend.

No compatibility rows declared yet.

Community notes

0 notes in the discussion thread.

No notes yet. Be the first to share how this plugin works for you.

Reported issues

Bugs and abuse reports filed against this plugin.

Report an issue

No open issues

No issues have been reported against this plugin. Track upstream bugs on the maintainer's tracker, or report a directory problem to the Umbral team.