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:
| Status | Condition | Color |
|---|---|---|
| Stable | Reconnection rate ≤ 5% and avg latency ≤ 50ms | Green |
| Some Instability | Reconnection rate 5–10% or avg latency 50–100ms | Yellow |
| Connection Issues | Reconnection rate > 10% or avg latency > 100ms | Red |
The banner also displays the active connection count, messages per second, and average latency.
Key Metrics
Four metric cards below the banner:
| Metric | Description |
|---|---|
| Active Connections | Current WebSocket connections, with total connections for the day in subtitle |
| Messages/Second | Real-time DDP message throughput |
| Avg Latency | Average round-trip time for DDP messages. Turns amber above 50ms. |
| Reconnections | Number 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.
| Column | Description |
|---|---|
| Connection ID | First 8 characters of the DDP connection identifier |
| Client | Client address and truncated user agent |
| Connected Since | When the connection was established, with duration |
| Messages | Total messages sent over this connection |
| Data Transfer | Total data sent/received in KB |
| Latency | Connection-specific latency, color-coded: green < 30ms, amber < 100ms, red >= 100ms |
| Status | Active 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:
| Event | Description |
|---|---|
| Subscribe | Client started a new subscription |
| Ready | Subscription initial data sent, ready for updates |
| Stop | Client or server stopped a subscription |
| Error | Subscription or method error occurred |
| No Sub | Server rejected a subscription (publication not found or access denied) |
| Added | Document added to a subscription's result set |
| Changed | Document modified in a subscription's result set |
| Removed | Document 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:
- Check the Activity Timeline for latency spikes
- Look for server-side errors in the Activity Feed
- Check your server's memory and CPU in the System Metrics tab
- Review your load balancer's WebSocket timeout settings
Slow Subscriptions
If subscriptions take a long time to become ready:
- Open the Connection Detail Dialog for an affected connection
- Expand the slow subscription to see its parameters
- Cross-reference with the Methods View for related query performance
- Check for missing indexes on the underlying collection
High Message Volume
If messages/second is unexpectedly high:
- Check the Message Types pie chart to see what type of messages dominate
- If
changedmessages are high, you may have overly broad subscriptions pushing too many updates - Review the Live Queries tab for observer efficiency
Next Steps
- Live Queries - Monitor reactive query observers
- Sessions View - See session-level DDP activity
- System Metrics - Correlate connection issues with server resources