CPU %34%Requests/s142/sError rate0.3%P99 Latency89ms14:23:01 [web] GET /api/users 20014:23:02 [api] POST /api/orders 201
Product — Observability

See
everything.

Logs, metrics, traces, and alerts — built into every service. No Datadog bill. No agent to install. No configuration required.

$0
Extra cost
30 days
Log retention (Pro)
0 agents
To install
Real-time
Log streaming
Four pillars

Logs. Metrics. Traces. Alerts.

Everything you need to understand your production system. No third-party tools required.

Logs

What happened

Every stdout and stderr captured, timestamped, and searchable. Filter by service, level, time range, or text search. Stream in real-time or query historical.

rf logs --service api --level error --since 1h

Metrics

How much

CPU, memory, request rate, latency percentiles, error rate, queue depth — all collected automatically. Push custom metrics from your app for business KPIs.

rf metrics --service api --period 24h

Traces

Where it's slow

See how a request flows through your system. Which service took 680ms of an 820ms request? OpenTelemetry-compatible distributed tracing across all services.

rf traces --service api --min-duration 500ms

Alerts

Tell me when it breaks

Threshold alerts, anomaly detection, deployment notifications, and uptime monitoring. Route to Slack, email, PagerDuty, or webhooks. Escalation policies.

rf alerts create --metric error_rate --threshold "> 2%" --notify slack
In action

Debug from the CLI.

terminal
$ rf metrics
SERVICE CPU MEM REQ/S P99 ERRORS
web 34% 512MB 142/s 89ms 0.1%
api 67% 1.2GB 89/s 210ms 0.3%
worker 12% 256MB — — 0%
$ rf logs --service api --level error --since 1h
14:23:12 [ERROR] POST /api/orders 500 45ms
TypeError: Cannot read property 'id' of null
at createOrder (orders.ts:42)
$ rf traces show tr_d4e5f6
tr_d4e5f6 — 890ms — ERROR
├── [web] GET /checkout (45ms)
│ └── [api] createOrder (840ms)
│ ├── [db] SELECT * FROM... (790ms ⚠)
│ └── [cache] Redis GET (2ms)

One command for everything

rf metrics shows all services at a glance. rf logs streams live or searches historical. rf traces shows request flow. No dashboards to set up.

Structured logging

Output JSON from your app and RaidFrame parses it automatically. Fields become searchable and filterable. No logging library required.

Error grouping

Errors are automatically grouped, deduplicated, and linked to the deployment that introduced them. See frequency, affected endpoints, and stack traces.

Prometheus export

Export metrics to Grafana via the Prometheus-compatible endpoint. Build custom dashboards if you need them. rf metrics prometheus-endpoint to enable.

Alerts

Know before your users do.

Set alerts and go build. Don't watch dashboards.

Threshold alerts

Trigger when a metric crosses a threshold. CPU > 85% for 3 minutes. Error rate > 2% for 5 minutes. P99 latency > 1 second.

Anomaly detection

RaidFrame learns your traffic patterns and alerts on deviations. No threshold to set — unusual spikes or drops detected automatically.

Deployment alerts

Auto-notify on deploy start, success, failure, and rollback. Know immediately when a deploy goes out and if it caused problems.

Uptime monitoring

Monitor external endpoints every 30 seconds. Alert when your site goes down before users report it. rf alerts create --type uptime.

Multi-channel

Route alerts to Slack, email, PagerDuty, OpsGenie, or custom webhooks. Different channels for different severity levels.

Escalation policies

Notify Slack immediately. If not acknowledged in 15 minutes, page on-call via PagerDuty. After 30 minutes, email leadership.

Comparison

Replace your $200/mo Datadog bill.

FeatureDatadogNew RelicRaidFrame
Pricing$23/host/mo + $0.10/GB logs$0.30/GB ingestedIncluded
LogsSeparate productIncluded (100GB free)Included
Metrics$23/host/moIncludedIncluded
Tracing (APM)$36/host/mo$0.30/GBIncluded
AlertingIncludedIncludedIncluded
SetupInstall agent per hostInstall agentAutomatic
4 hosts, APM, 50GB logs~$236/mo~$100/mo$0
Custom metrics

Track what matters to your business.

app.ts
import { Metrics } from "@raidframe/sdk";
const metrics = new Metrics();
// Counter — track signups
metrics.increment("business.signups");
// Gauge — current MRR
metrics.gauge("business.mrr", 4500);
// Histogram — checkout duration
metrics.histogram("checkout.duration_ms", 340);

Custom metrics appear alongside system metrics. Use them as auto-scaling triggers or alert conditions.

Frequently asked questions

Does this replace Datadog?

For most teams, yes. Logs, metrics, traces, and alerts are included at no extra cost. No per-host pricing. No agent installation.

How long are logs retained?

3 days on Starter, 30 days on Pro, 90 days on Enterprise. Export to S3-compatible storage for longer retention.

Do I need to install an agent?

No. Metrics, logs, and traces are collected automatically. No APM agent, no sidecar container, no instrumentation for basic monitoring.

Is distributed tracing supported?

Yes. OpenTelemetry-compatible. Trace context is injected automatically. Use the OTEL SDK for richer trace spans.

Can I export metrics to Grafana?

Yes. Prometheus-compatible metrics endpoint. Connect Grafana and build custom dashboards with PromQL.

Does monitoring affect performance?

Negligible. Log collection adds less than 1ms per request. Metrics are sampled. Tracing overhead is under 2%.

See everything. Pay nothing extra.

Built-in observability. No Datadog bill required.