GraphJSON vs Datadog: Product Events or Observability?

Datadog is a broad observability platform; GraphJSON is a focused JSON event analytics product. Compare the workflows and learn when the tools belong together.

JR4 min read

GraphJSON and Datadog can both ingest structured logs, draw dashboards, and send alerts. That feature overlap hides a more important difference: Datadog is an observability platform for understanding software systems, while GraphJSON is an event analytics platform for understanding product, customer, and business behavior.

Choose based on the questions your team asks most often, not the fact that both products can make a line chart.

The short version#

Question Better starting point
Why is this service returning 500s? Datadog
Which trace made this request slow? Datadog
Are container memory limits too low? Datadog
Where do users leave our onboarding funnel? GraphJSON
How does weekly retention differ by plan? GraphJSON
Can we embed a usage dashboard for each customer? GraphJSON

Many companies need both categories. Infrastructure telemetry and business events have different owners, retention rules, query patterns, and audiences.

Datadog is built around system observability#

Datadog brings together infrastructure metrics, application performance monitoring, traces, logs, real-user monitoring, synthetic tests, security products, and incident workflows. The value is correlation: move from a latency alert to the affected service, trace, host, deployment, and related logs.

Its Log Management product collects and processes logs, supports live tail and search, creates metrics from logs, and connects them to traces and infrastructure. That is a deep operational surface for teams responsible for production reliability.

Datadog is usually the better fit when:

  • you need agents and integrations across hosts, containers, and cloud services
  • traces, metrics, and logs must connect in one incident workflow
  • SRE or platform teams own the primary use case
  • you need mature infrastructure monitors and on-call integrations
  • security and operational telemetry share the same platform

That breadth is valuable, but it also means configuration, concepts, and billing dimensions across several product families.

GraphJSON is built around application events#

GraphJSON starts with a JSON fact your product emits:

{
  "event": "report_completed",
  "account_id": "acct_42",
  "plan": "pro",
  "duration_ms": 1840,
  "rows": 12840
}

You send it with an HTTP request. Every field becomes available for filtering, grouping, visualization, and ClickHouse SQL. From the same event stream you can build a conversion funnel, retention curve, account usage dashboard, alert, or customer-facing embed.

GraphJSON is usually the better fit when:

  • product and business events are the primary data
  • developers want a plain HTTP ingestion API rather than an agent
  • arbitrary SQL over raw event payloads matters
  • dashboards need to be embedded in your product
  • pricing and retention should follow stored event volume
  • a small team wants one focused workflow

It is not a distributed tracing system, infrastructure inventory, or full incident-management suite.

The data model changes the questions#

An observability event is commonly organized around services, hosts, environments, trace ids, severity, and deployment context. A product event is commonly organized around users, accounts, plans, lifecycle steps, revenue, and features.

The payloads may both be JSON, but their analytical grain is different:

  • Observability asks, “What happened inside the system around this failure?”
  • Product analytics asks, “What did people do, in what order, and what happened next?”

Forcing both into one taxonomy can make ownership and retention confusing. High-volume debug logs often need short retention; durable purchase or activation events may remain useful for years.

Querying: purpose-built language or full SQL#

Datadog’s explorers and dashboard widgets provide queries tailored to its telemetry model. They are powerful for filtering logs, aggregating metrics, correlating traces, and investigating incidents.

GraphJSON exposes ClickHouse SQL over the event table. That matters when the analysis needs a join, window function, conditional aggregate, nested JSON extraction, or a query the visual interface was not designed to express.

The tradeoff is guidance. A purpose-built observability workflow can lead an operator from alert to root cause faster than a blank SQL notebook. Full SQL is valuable when the question does not fit a predefined report.

Embedding is a product requirement, not a dashboard export#

An internal operations dashboard and a customer-facing analytics feature have different security requirements.

GraphJSON can generate embed URLs on your server and apply dynamic filters for the authenticated viewer. You define the dashboard once, then enforce an account_id or user_id filter for each customer. The personalized dashboards guide covers the isolation pattern.

If your goal is an internal NOC screen, Datadog dashboards may already be ideal. If analytics must become part of your application, GraphJSON is designed for that delivery path.

When to use both#

A clean division often looks like:

  1. Send infrastructure metrics, traces, and diagnostic logs to Datadog.
  2. Send meaningful domain events to GraphJSON.
  3. Include a stable request or trace id on selected events when cross-reference is useful.
  4. Apply independent retention and access policies to each stream.

A checkout failure may begin in Datadog as a trace and appear in GraphJSON as a drop in purchase_completed. One explains the software failure; the other shows the customer impact.

How to decide#

Pick Datadog first when the job is production observability across a distributed system. Pick GraphJSON first when the job is analyzing and sharing JSON events from the product. Use both when reliability and product behavior are both important enough to deserve a purpose-built workflow.

To see the GraphJSON path end to end, follow the five-minute quickstart. For operational events, read Structured Logging 101.

JR

Written by JR

Founder and builder of GraphJSON.