App
Effect SDK / Overview

Overview

Maple SDKs are official, opinionated wrappers around OpenTelemetry that auto-detect platform conventions.

Maple SDKs are official, hand-built libraries that wrap OpenTelemetry with sensible defaults for the runtimes and platforms we support. They auto-detect commit SHAs, deployment environments, and runtime metadata so you can ship traces, logs, and metrics with a single layer() call.

If your language doesn’t have an official SDK yet, see the Language guides below — they walk through standard OpenTelemetry setup pointed at Maple’s ingest endpoint for Node.js, Next.js, Python, Go, Rust, Java, C#, and Kotlin.

Official SDKs

SDKPackagePlatformsStatus
Effect SDK@maple-dev/effect-sdkNode.js, Bun, Deno, Browsers, CloudflareStable
Node.js Bun Deno Browsers Cloudflare Workers

What “official SDK” means

A Maple SDK is more than a thin OTel wrapper. Each SDK:

  • Auto-detects platform metadata — commit SHA, deployment environment, cloud provider, and runtime are picked up from environment variables (Railway, Vercel, Cloudflare Pages, Render, etc.) so you don’t have to wire them up by hand.
  • No-ops safely without an endpoint — if MAPLE_ENDPOINT (or the equivalent) isn’t set, the layer becomes a no-op. Local development doesn’t need a Maple project.
  • Ships with platform-specific entry points — server, browser, and serverless runtimes get their own builds with the right exporter and lifecycle wiring.
  • Tracks the Maple ingest API — when we add new resource attributes or signal types on the backend, the SDK gets updated to match.

Language guides

Effect is the only language with a dedicated Maple SDK today. For everything else, point the upstream OpenTelemetry SDK at Maple’s ingest endpoint — our guides walk through it end-to-end:

LanguageApproach
Node.js@opentelemetry/sdk-node + auto-instrumentations
Next.js@vercel/otel with the App Router / Pages Router instrumentation hook
Pythonopentelemetry-sdk + opentelemetry-bootstrap (FastAPI, Django)
Gogo.opentelemetry.io/otel + otelhttp, otelgrpc, otelsql
Rustopentelemetry-otlp bridged to the tracing crate
JavaOpenTelemetry Java agent (zero-code) or manual SDK
C# / .NETOpenTelemetry.Extensions.Hosting + ASP.NET Core instrumentation
KotlinJava agent, manual SDK, or the Ktor OpenTelemetry plugin

A dedicated SDK for any of these can come later — the guide path is identical to what an SDK would do under the hood, so you can switch in place.