P0 Product Metrics

Audience: product owners, operators, and on-call engineers tracking Stella Ops operational health. Scope: The four P0 (highest-priority) product-level metrics — their definitions, labels, dashboards, alert responses, and source files.

This guide describes the four P0 product-level metrics that form the primary scoreboard for Stella Ops health.

Overview

These metrics are the primary scoreboard for product health and should guide prioritization decisions: prioritize work that improves them. The four P0 metrics are summarised below and detailed in the sections that follow.

MetricTargetAlert Threshold
Time to First Verified ReleaseP90 < 4 hoursP90 > 24 hours
Mean Time to Answer “Why Blocked”P90 < 5 minutesP90 > 1 hour
Support Minutes per CustomerTrend toward 0> 30 min/month
Determinism RegressionsZeroAny policy-level

Metric 1: Time to First Verified Release

Name: stella_time_to_first_verified_release_seconds
Type: Histogram

Definition

Elapsed time from fresh install (first service startup) to first successful verified promotion (policy gate passed, evidence recorded).

Labels

LabelValuesDescription
tenant(varies)Tenant identifier
deployment_typefresh, upgradeType of installation

Histogram Buckets

5m, 15m, 30m, 1h, 2h, 4h, 8h, 24h, 48h, 168h (1 week)

Collection Points

  1. Install timestamp - Recorded on first Authority service startup
  2. First promotion - Recorded in Release Orchestrator on first verified promotion

Why This Matters

A short time-to-first-release indicates:

Dashboard Usage

The Grafana dashboard shows:

Alert Response

Warning (P90 > 4 hours):

  1. Review recent onboarding experiences
  2. Check for common configuration issues
  3. Review documentation clarity

Critical (P90 > 24 hours):

  1. Investigate blocked customers
  2. Check for integration failures
  3. Consider guided onboarding assistance

Metric 2: Mean Time to Answer “Why Blocked”

Name: stella_why_blocked_latency_seconds
Type: Histogram

Definition

Time from block decision to user viewing explanation (via CLI, UI, or API).

Labels

LabelValuesDescription
tenant(varies)Tenant identifier
surfacecli, ui, apiInterface used to view explanation
resolution_typeimmediate, delayedSame session vs different session

Histogram Buckets

1s, 5s, 30s, 1m, 5m, 15m, 1h, 4h, 24h

Collection Points

  1. Block decision - Timestamp stored in verdict
  2. Explanation view - Tracked when stella explain block or UI equivalent invoked

Why This Matters

Short “why blocked” latency indicates:

Long latency may indicate:

Dashboard Usage

The Grafana dashboard shows:

Alert Response

Warning (P90 > 5 minutes):

  1. Review block notification messaging
  2. Check CLI command discoverability
  3. Verify UI links are prominent

Critical (P90 > 1 hour):

  1. Investigate user flows
  2. Add proactive notifications
  3. Review documentation and help text

Metric 3: Support Minutes per Customer

Name: stella_support_burden_minutes_total
Type: Counter

Definition

Accumulated support time per customer per month. This is a manual/semi-automated metric for solo operations tracking.

Labels

LabelValuesDescription
tenant(varies)Tenant identifier
categoryinstall, config, policy, integration, bug, otherSupport category
monthYYYY-MMMonth of support

Collection

Log support interactions using:

stella ops support log --tenant <id> --minutes <n> --category <cat>

Or via API:

POST /v1/ops/support/log
{
  "tenant": "acme-corp",
  "minutes": 15,
  "category": "config"
}

Why This Matters

This metric tracks operational scalability. For solo-scaled operations:

Dashboard Usage

The Grafana dashboard shows:

Alert Response

Warning (> 30 min/month per tenant):

  1. Review support interactions for patterns
  2. Identify documentation gaps
  3. Create runbooks for common issues

Critical (> 60 min/month per tenant):

  1. Escalate to product for feature work
  2. Consider dedicated support time
  3. Prioritize automation

Metric 4: Determinism Regressions

Name: stella_determinism_regressions_total
Type: Counter

Definition

Count of detected determinism failures in production (same inputs produced different outputs).

Labels

LabelValuesDescription
tenant(varies)Tenant identifier
componentscanner, policy, attestor, exportComponent with regression
severitybitwise, semantic, policyFidelity tier of regression

Severity Tiers

TierDescriptionImpact
bitwiseByte-for-byte output differsLow - cosmetic
semanticOutput semantically differsMedium - potential confusion
policyPolicy decision differsCritical - audit risk

Collection Points

  1. Scheduled verification jobs - Regular determinism checks
  2. Replay verification failures - User-initiated replays
  3. CI golden test failures - Development-time detection

Why This Matters

Determinism is a core moat. Regressions indicate:

Policy-level regressions are audit-breaking and must be fixed immediately.

Dashboard Usage

The Grafana dashboard shows:

Alert Response

Warning (any bitwise/semantic):

  1. Review recent deployments
  2. Check for dependency updates
  3. Investigate affected component

Critical (any policy):

  1. Immediate investigation required
  2. Consider rollback
  3. Review all recent policy decisions
  4. Notify affected customers

Dashboard Access

The P0 metrics dashboard is available at:

/grafana/d/stella-p0-metrics

Or directly:

stella ops dashboard p0

Dashboard Features


Alerting Configuration

Alerts are configured in devops/telemetry/alerts/stella-p0-alerts.yml.

Alert Channels

Configure alert destinations in Grafana:

Silencing Alerts

During maintenance windows:

stella ops alerts silence --duration 2h --reason "Planned maintenance"

Implementation Notes

Source Files

ComponentLocation
Metric definitionssrc/Telemetry/StellaOps.Telemetry.Core/P0ProductMetrics.cs
Install timestampsrc/Telemetry/StellaOps.Telemetry.Core/InstallTimestampService.cs
Dashboard templatedevops/telemetry/grafana/dashboards/stella-ops-p0-metrics.json
Alert rulesdevops/telemetry/alerts/stella-p0-alerts.yml

Adding Custom Metrics

To add additional P0-level metrics:

  1. Define in P0ProductMetrics.cs
  2. Add collection points in relevant services
  3. Create dashboard panel in Grafana JSON
  4. Add alert rules
  5. Update this documentation


Last updated: 2026-01-17 (UTC)