Customer.io Observability
Overview
Implement comprehensive observability for Customer.io integrations including Prometheus metrics, structured logging, distributed tracing, and Grafana dashboards.
Prerequisites
-
Customer.io integration deployed
-
Monitoring infrastructure (Prometheus, Grafana, etc.)
-
Log aggregation system
Key Metrics
Metric Type Description
customerio_api_latency_ms
Histogram API call latency
customerio_api_requests_total
Counter Total API requests
customerio_api_errors_total
Counter API error count
customerio_email_sent_total
Counter Emails sent
customerio_email_bounced_total
Counter Email bounces
customerio_webhook_received_total
Counter Webhooks received
Instructions
Step 1: Set Up Metrics Collection
Register Prometheus counters and histograms for API latency, request counts, error counts, email delivery, and webhook events.
Step 2: Create Instrumented Client
Wrap the Customer.io client to automatically record timing, success/error counters on every identify and track call.
Step 3: Implement Structured Logging
Use pino for JSON structured logging with PII redaction. Log all Customer.io operations with operation type, user ID, result, and sanitized data.
Step 4: Add Distributed Tracing
Use OpenTelemetry spans for all Customer.io operations with proper status codes and exception recording.
Step 5: Build Grafana Dashboard
Create panels for API latency percentiles (p50/p95/p99), request rate by operation, error rate percentage, and email delivery funnel.
Step 6: Configure Alerting Rules
Set up Prometheus alerts for high error rate (>5%), high p99 latency (>5s), high bounce rate (>5%), and webhook processing failures.
For detailed implementation code and configurations, load the reference guide: Read(${CLAUDE_SKILL_DIR}/references/implementation-guide.md)
Error Handling
Issue Solution
Missing metrics Check metric registration
High cardinality Reduce label values
Log volume too high Adjust log level
Resources
-
Prometheus Best Practices
-
OpenTelemetry Node.js
Next Steps
After observability setup, proceed to customerio-advanced-troubleshooting for debugging.
Output
-
Configuration files or code changes applied to the project
-
Validation report confirming correct implementation
-
Summary of changes made and their rationale
See monitoring implementation details for output format specifications.
Examples
Basic usage: Apply customerio observability to a standard project setup with default configuration options.
Advanced scenario: Customize customerio observability for production environments with multiple constraints and team-specific requirements.