maple-telemetry-conventions

Standardize OpenTelemetry span attributes and statuses across TypeScript, Rust, and Python.

1.6k|107|Updated Feb 15, 2026
One-click install
npx skills add https://github.com/Makisuo/maple --skill maple-telemetry-conventions
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: maple-telemetry-conventions
Source: https://github.com/Makisuo/maple/tree/main/.agents/skills/maple-telemetry-conventions
Command: npx skills add https://github.com/Makisuo/maple --skill maple-telemetry-conventions

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Maple's OpenTelemetry conventions are used across TypeScript, Rust, and Python in this repo; this skill provides a canonical reference to ensure consistent span attributes, status values, and resource emission across languages.

Core Features & Use Cases

  • Standardizes custom maple.* attributes under the maple namespace, Title Case statuses (Ok/Error/Unset), and dual-emitted deployment.environment keys for cross-language tracing.
  • GuidesInstrumentation of code, exporters, and Tinybird materialized views to preserve consistent analytics and dashboards.
  • Applies when writing or reviewing instrumentation code and wiring queries like WarehouseQueryService.sqlQuery().

Quick Start

Follow the Maple telemetry conventions when instrumenting TS, Rust, or Python code to align attribute keys, statuses, and resource attributes.

Frequently Asked Questions about maple-telemetry-conventions

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

FAQPage Schema
How do I standardize OpenTelemetry span attributes across TypeScript, Rust, and Python?

Standardize OpenTelemetry span attributes across TypeScript, Rust, and Python by enforcing exact keys like maple.* and deployment.environment.name, ensuring consistent span attributes and resource emission across all languages.

What status values should I use for OpenTelemetry instrumentation across different languages?

For OpenTelemetry instrumentation across different languages, use Title Case status values: Ok, Error, and Unset. This ensures proper status semantics and consistent tracing across TypeScript, Rust, and Python code paths.

How do I configure deployment.environment attributes for cross-language tracing?

Configure deployment.environment attributes for cross-language tracing by dual-emitting the deployment.environment.name key. This maintains consistent analytics across Tinybird materialized views and exporters in all supported languages.

Can I use standard OpenTelemetry conventions for queries like WarehouseQueryService.sqlQuery()?

Yes, standard OpenTelemetry conventions apply when writing or reviewing instrumentation code and wiring queries like WarehouseQueryService.sqlQuery(), guiding proper setAttribute and record calls to maintain consistent analytics.

Why do my Tinybird materialized views show inconsistent telemetry data across languages?

Tinybird materialized views show inconsistent telemetry data when span attributes lack standardized maple.* keys or use incorrect status semantics. Aligning instrumentation conventions across TypeScript, Rust, and Python resolves these dashboard discrepancies.