Quickstart
Create a workspace project, then verify one observed signal — an HTTP check, a browser beacon, or a log line. Nothing appears until traffic or a check result exists.
What you will do#
In under fifteen minutes you can: sign in, create or select a project, and confirm at least one path in Observe → Understand → Act — a monitor result in Monitoring, a session in Browser, or an entry in Logs.
Why start here#
Mydle is project-scoped. SDKs and monitors attach to a project inside a workspace. Starting with one verified signal confirms tenancy, entitlements, and ingest before you wire correlation or incidents.
How — account & project#
- Sign in at mydle.app/login. A personal workspace is provisioned on signup.
- Open /app and create a project (Free allows 3 projects and 3 active HTTP monitors per workspace).
- Keep the active project selected in the app shell — monitors and telemetry keys are project-scoped.
How — first HTTP monitor#
Free and Pro include HTTP monitoring. In the project, open Monitoring, create an HTTP rule against a public URL you control, and wait for a real check result. Health stays empty until workers have observed a run — continuous execution requires production Trigger workers.
Details: HTTP Monitoring.
How — browser RUM#
Install @mydle/browser-sdk and initialize with a publishable project key (pk_live_… or pk_test_…) from Settings → API Keys or Browser Monitoring.
npm install @mydle/browser-sdk
import { mydle } from "@mydle/browser-sdk";
mydle.init({
projectKey: "pk_live_YOUR_PUBLISHABLE_KEY",
// endpoint defaults to https://www.mydle.app/api/rum/v1/ingest
});
mydle.track("signup_click");
await mydle.flush();Load a page in a real browser, then open /app/browser. Browser monitoring is included on Free (5,000 events / month) and Pro (50,000 events / month).
Full install guide: Browser installation.
How — structured logs#
Log management is included on Free (50 MiB / month) and Pro (1 GiB / month). Use @mydle/logs on the server with a secret project key (sk_live_…) or a legacy source token (lt_…). Never put secrets in browser bundles.
npm install @mydle/logs
import { createMydleLogger } from "@mydle/logs";
const logger = createMydleLogger({
apiKey: "sk_live_YOUR_SECRET_KEY",
service: "api",
environment: "production",
});
logger.info("boot complete", { release: "1.0.0" });
await logger.flush();Confirm in /app/logs. Ingest endpoint: POST /api/logs/v1/ingest.
Config checklist#
- Active workspace + project in /app
- Browser: publishable
pk_…key only - Logs: secret
sk_…orlt_…on the server only - Optional
environment/releasetags for filtering — see Environments - The workspace still has monthly allowance left for the signal you are testing (Settings → Billing → Usage)
Limits that apply#
| Limit | Free | Pro |
|---|---|---|
| Price | $0 / workspace / month | $19 / workspace / month |
| Active HTTP monitors | 3 | 10 |
| Fastest check interval | 10 min | 5 min |
| Log ingestion | 50 MiB / month | 1 GiB / month |
| Browser events | 5,000 / month | 50,000 / month |
| Trace spans | 50,000 / month | 1,000,000 / month |
| AI analyses | 2 / month | 20 / month |
| Log, browser & trace retention | 1 day | 7 days |
Canonical table: Limits & Quotas.
Failures & empty states
- Empty Monitoring / Browser / Logs views mean no observed data yet — not a synthetic “healthy” default.
- 401 / 403 on ingest usually means wrong key type, revoked key, or a revoked project. A 429 with
QUOTA_EXCEEDEDmeans the monthly allowance is used up. - Monitor rules without running workers will not accumulate results.
- Do not paste real secrets into docs, tickets, or client-side code.