Build · Create · Engineering
Logs, metrics, and traces instrumentation plan
A concrete plan covering all three observability pillars per service, plus an SLI for every golden signal, so you can actually see what your app is doing.
You receive: A structured instrumentation plan (JSON) that passes the three-pillars, metric-shape, log-level, and golden-signal SLI-coverage checks.
Part of Keep App Running
Example
A sample of what this play produces. Your result is generated for your inputs.
Plan
Observability instrumentation plan for STUD.com's soft-launch production surface. STUD runs three services that matter to a buyer's experience: the Next.js storefront on Vercel (platform-web), the process-isolated acceptance-check worker (judge-worker), and the deploy-time schema and catalog sync step (deploy-migrate). The plan instruments all three pillars per service and defines an SLI with a numeric target for latency and errors, the two golden signals a pre-revenue soft launch must watch: buyers browsing 265 plays across 14 playbooks feel latency directly, and a failed acceptance check or a failed catalog sync is a silent revenue blocker. Targets are launch-stage estimates, set from Vercel function baselines, and are labeled illustrative until 30 days of production data recalibrates them.
Services
platform-web
- Description
- Next.js app on Vercel serving stud.com: play catalog, play detail pages, intake, waitlist.
- Logs
Level Event Fields info http_request_completed route, status, duration_ms, region warn hiring_gated_action_attempted route, play_id (paid fulfillment gated at soft launch, must render 'opens soon', never 500) error server_render_failed route, error_class, digest debug catalog_query_executed lens, result_count, duration_ms - Metrics
Name Type Unit Labels http_requests_total counter requests route, status_class http_request_duration_ms histogram ms route http_5xx_total counter requests route sample_deliverable_renders_total counter renders play_slug vercel_function_concurrency gauge invocations region - Traces
Span Notes GET /plays/[id] root span per page request; child spans for the Neon query and the sample-deliverable render POST /waitlist root span with a Neon insert child span; the soft-launch conversion path - Slis
Signal Metric Name Target Unit Definition latency http_request_duration_ms 800 ms p95 server response time on play detail pages; illustrative launch target errors http_5xx_total 0.5 percent 5xx rate as a percent of http_requests_total over 1h; the no-op-schema 500 is the incident class this catches
judge-worker
- Description
- Process-isolated acceptance-check harness (stud_judge) that grades every deliverable before it lands.
- Logs
Level Event Fields info verdict_settled task_id, accepted, hidden_pass, visible_pass, duration_ms warn grading_timeout_near_limit task_id, duration_ms, timeout_s error grading_process_crashed task_id, exit_code, stderr_tail debug check_case_evaluated task_id, check_name, passed - Metrics
Name Type Unit Labels judge_runs_total counter runs task_id, verdict judge_run_duration_ms histogram ms task_id judge_crashes_total counter crashes task_id judge_queue_depth gauge runs tier - Traces
Span Notes judge.grade one span per graded submission; child spans per check case, linked to the platform-web run span by run_id - Slis
Signal Metric Name Target Unit Definition latency judge_run_duration_ms 10000 ms p95 grading time; machine-tier tasks carry a 10s per-task timeout, so p95 must sit under it errors judge_crashes_total 0 crashes_per_day harness process crashes per day; a crash is never a verdict, it is an incident
deploy-migrate
- Description
- The production build step: drizzle-kit migrate, seed-catalog, then sync-catalog --apply against Neon on every production deploy.
- Logs
Level Event Fields info migrate_step_completed step (migrate|seed|sync), duration_ms, rows_applied warn catalog_diff_larger_than_expected added, removed, changed error deploy_migrate_failed step, error_class (fails the build closed so prod code never serves ahead of schema) debug env_gate_evaluated vercel_env, database_url_present - Metrics
Name Type Unit Labels deploy_migrate_runs_total counter deploys outcome deploy_migrate_duration_ms histogram ms step catalog_rows_synced gauge rows table migrate_failures_total counter failures step - Traces
Span Notes deploy.migrate one trace per production deploy: migrate, seed, and sync child spans, tagged with the git SHA - Slis
Signal Metric Name Target Unit Definition latency deploy_migrate_duration_ms 120000 ms p95 total build-step time; beyond 2 minutes it risks the build budget errors migrate_failures_total 0 failures_per_week failed production migrate steps per week; any failure blocks the deploy by design and pages the founder
Opens soon
STUD opens runs for everyone soon, on every play at once.
Scope of the check
What's verified: STUD verifies the submitted plan (JSON) covers your minimum number of services, each with all three pillars (logs, metrics, traces), the minimum metrics, well-formed metric and log entries, and an SLI with a numeric target for every required golden signal. STUD does NOT connect to your services or confirm the instrumentation actually emits these signals; it checks the plan's coverage and structure.
Get early access to STUD the day it goes live.