Skip to main content

DDP/WS View

Monitor Meteor's DDP WebSocket connections, message throughput, and subscription lifecycle events.

Overview

The DDP/WS tab gives you visibility into the WebSocket layer that powers Meteor's real-time data system. DDP (Distributed Data Protocol) handles method calls, subscriptions, and live data updates between clients and your server. This tab tracks connection health, message rates, latency, and provides a real-time activity feed of subscription events.

Connection Health Banner

At the top of the tab, a color-coded banner summarizes overall DDP health:

StatusConditionColor
StableReconnection rate ≤ 5% and avg latency ≤ 50msGreen
Some InstabilityReconnection rate 5–10% or avg latency 50–100msYellow
Connection IssuesReconnection rate > 10% or avg latency > 100msRed

The banner also displays the active connection count, messages per second, and average latency.

Key Metrics

Four metric cards below the banner:

MetricDescription
Active ConnectionsCurrent WebSocket connections, with total connections for the day in subtitle
Messages/SecondReal-time DDP message throughput
Avg LatencyAverage round-trip time for DDP messages. Turns amber above 50ms.
ReconnectionsNumber of client reconnections, with reconnection rate percentage. Turns red above 10.

DDP Message Types

A pie chart breaking down the types of DDP messages flowing through the server. Common message types include sub, unsub, method, ready, added, changed, removed, updated, and result. This helps you understand the composition of your DDP traffic -- for example, whether your app is subscription-heavy or method-heavy.

Connection Statistics

A list alongside the message type chart showing:

  • Bandwidth Usage - Total data transfer rate (formatted as B/s, KB/s, or MB/s)
  • Total Messages - Aggregate message count for the time range
  • Reconnection Rate - Percentage of connections that were reconnects
  • Unique Clients - Distinct client count

Active DDP Connections Table

Lists all currently active WebSocket connections. Click any row to open the Connection Detail Dialog.

ColumnDescription
Connection IDFirst 8 characters of the DDP connection identifier
ClientClient address and truncated user agent
Connected SinceWhen the connection was established, with duration
MessagesTotal messages sent over this connection
Data TransferTotal data sent/received in KB
LatencyConnection-specific latency, color-coded: green < 30ms, amber < 100ms, red >= 100ms
StatusActive or disconnected, with corresponding icon

Connection Detail Dialog

Click a connection row to open a dialog showing detailed information about that specific DDP connection.

Connection Metadata

  • Connection ID, client address, user agent
  • Connected timestamp and duration
  • Message count and data transfer totals

Active Subscriptions

Each subscription on the connection is displayed in an expandable accordion (the Subscription Inspector). The collapsed view shows:

  • Publication name
  • Status chip (Active / Stopped)
  • Response time in milliseconds

Expand a subscription to see:

  • Subscription parameters
  • Start and stop timestamps
  • Document count and data transfer metrics

This is useful for identifying subscriptions that are transferring large amounts of data or have slow ready times.

DDP Activity Timeline

A line chart showing three series over the selected time range:

  • Connections (blue, filled area) - Active connection count over time
  • Messages/s (green) - Message throughput
  • Latency (ms) (orange) - Average DDP latency

Use this chart to correlate connection spikes with latency increases or message volume changes.

Activity Feed

A real-time vertical timeline of DDP subscription lifecycle events. Each event shows:

  • Color-coded timeline dot with an icon indicating the event type
  • Type label (uppercase) - SUBSCRIBE, READY, STOP, ERROR, NOSUB, ADDED, CHANGED, REMOVED
  • Publication name and connection ID
  • Duration badge (when applicable) - how long the operation took
  • Timestamp with relative time (e.g. "2 minutes ago")

Event type details:

EventDescription
SubscribeClient started a new subscription
ReadySubscription initial data sent, ready for updates
StopClient or server stopped a subscription
ErrorSubscription or method error occurred
No SubServer rejected a subscription (publication not found or access denied)
AddedDocument added to a subscription's result set
ChangedDocument modified in a subscription's result set
RemovedDocument removed from a subscription's result set

The feed has a max height of 480px and scrolls. Click "Refresh" to reload the latest events.

Common Investigations

High Reconnection Rate

If reconnections are elevated:

  1. Check the Activity Timeline for latency spikes
  2. Look for server-side errors in the Activity Feed
  3. Check your server's memory and CPU in the System Metrics tab
  4. Review your load balancer's WebSocket timeout settings

Slow Subscriptions

If subscriptions take a long time to become ready:

  1. Open the Connection Detail Dialog for an affected connection
  2. Expand the slow subscription to see its parameters
  3. Cross-reference with the Methods View for related query performance
  4. Check for missing indexes on the underlying collection

High Message Volume

If messages/second is unexpectedly high:

  1. Check the Message Types pie chart to see what type of messages dominate
  2. If changed messages are high, you may have overly broad subscriptions pushing too many updates
  3. Review the Live Queries tab for observer efficiency

Next Steps