analyzing-tdigest-metrics

Compute p50, p95, p99 latency metrics from tdigest percentile data using OPAL's double-combine pattern.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/rustomax/observe-community-mcp --skill analyzing-tdigest-metrics
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: analyzing-tdigest-metrics
Source: https://github.com/rustomax/observe-community-mcp/tree/main/skills/analyzing-tdigest-metrics
Command: npx skills add https://github.com/rustomax/observe-community-mcp --skill analyzing-tdigest-metrics

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

TDigest metrics store pre-aggregated percentile data, enabling efficient latency analysis and SLO validation. This Skill abstracts the pattern and provides actionable guidance to compute p50, p95, and p99 from tdigest data.

Core Features & Use Cases

  • TDigest pattern guidance: Correct double-combine pattern with tdigest_combine and m_tdigest in OPAL for accurate percentiles.
  • Latency analysis & Use Case: Compute p50, p95, p99 to understand tail latency and service level compliance across services and environments.
  • Time-series and grouping: Analyze percentiles per service/environment and track trends over time to identify degradation.

Quick Start

Identify a tdigest metric with discover_context("duration tdigest", result_type="metric"), then construct an OPAL query using align combined:tdigest_combine(m_tdigest("metric_name")), aggregate p50/p95/p99 with tdigest_quantile(tdigest_combine(combined), 0.50/0.95/0.99), optionally group_by(service_name, environment), and convert nanoseconds to milliseconds for readability.

Frequently Asked Questions about analyzing-tdigest-metrics

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I compute p50, p95, and p99 latency percentiles from tdigest metrics in Observe?

To compute latency percentiles from tdigest metrics, use the double-combine pattern in OPAL: align combined:tdigest_combine(m_tdigest("metric_name")), then apply tdigest_quantile(tdigest_combine(combined), 0.50/0.95/0.99) to derive p50, p95, and p99 values for your services.

What are tdigest pre-aggregated percentile metrics and when do I need them for SLO analysis?

TDigest pre-aggregated percentile metrics store compact distribution data for efficient latency analysis and SLO validation. You need them when tracking tail latency trends and comparing p50, p95, or p99 values against service level targets across production environments.

How do I convert tdigest latency output from nanoseconds to milliseconds in OPAL?

Converting tdigest latency output from nanoseconds to milliseconds requires applying a unit conversion calculation after extracting percentile values with tdigest_quantile, ensuring the final latency metrics are readable and standardized for reporting.

Does this tdigest analysis approach require Observe MCP access to discover metrics?

Yes, this tdigest analysis approach requires Observe MCP access to discover tdigest metric types using discover_context("duration tdigest", result_type="metric") before constructing the OPAL query to compute latency percentiles.

How do I group tdigest latency percentiles by service and environment to identify tail latency degradation?

Grouping tdigest latency percentiles by service and environment involves using the group_by(service_name, environment) function within your OPAL query, allowing you to track percentile trends over time and identify specific services showing tail latency degradation.