Skip to content
Maple Docs
Open app
Browse the docs
On this page

Instrument your application

Setup guides for every language, framework and runtime Maple supports.

Maple ingests OpenTelemetry over OTLP/HTTP, so any OTLP exporter works without a Maple-specific plugin. Each guide below installs the SDK, points it at the ingest endpoint with an ingest key from Settings → Ingestion, and checks that the first trace arrives. New to Maple? The Quickstart gets a first trace in about five minutes. The maple-onboard skill can do the same setup from a coding agent.

JavaScript and TypeScript

Python

Java and Kotlin

Go, Rust, .NET and PHP

Frontend and product analytics

AI agents and LLM calls

Agent frameworks and LLM gateways have their own guides, so each conversation shows up as one Agent Session with its transcript, tool calls, tokens and cost: Vercel AI SDK, OpenAI Agents SDK, LangChain and LangGraph, Mastra, Pydantic AI, CrewAI, Google ADK, OpenRouter, LiteLLM and more. See Trace your AI agent.

Infrastructure and data sources

Anything that speaks OTLP

If your language or framework is not listed, point its OpenTelemetry SDK (or an OpenTelemetry Collector) at the ingest endpoint with the standard environment variables. Ingest keys are scoped to one organization and can only write telemetry. Only the public key (maple_pk_…) is safe to ship in client code; keep the private key (maple_sk_…) in an environment variable or a secret store. See Authentication.

export OTEL_EXPORTER_OTLP_ENDPOINT="https://ingest.maple.dev"
export OTEL_EXPORTER_OTLP_PROTOCOL="http/protobuf"
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer YOUR_INGEST_KEY"
export OTEL_SERVICE_NAME="my-service"

Maple reads the standard semantic conventions; the attributes it relies on for the service map, error grouping and sampling-aware throughput are listed in OpenTelemetry conventions. To develop against a local sink instead of the cloud, run Maple Local and point the endpoint at http://localhost:4318.

Data regions

Maple Cloud runs in two regions. An organization’s region is chosen during onboarding and cannot be changed afterwards. Send telemetry to the ingest endpoint of your organization’s region, with an ingest key created in that region’s dashboard. A key from one region is rejected by the other.

RegionDashboardIngest endpoint
United Stateshttps://app.maple.devhttps://ingest.maple.dev
European Union (Frankfurt)https://app.eu.maple.devhttps://ingest.eu.maple.dev

Every guide on this site uses the US endpoint. For an EU organization, replace ingest.maple.dev with ingest.eu.maple.dev and nothing else changes. See Regions for details and EU hosting for what the EU region covers.

Missing a guide for your stack? Open an issue and tell us what you run.