| name | canva-observability |
| description | Set up observability for Canva Connect API integrations with metrics, traces, and alerts.
Use when implementing monitoring for Canva API operations, setting up dashboards,
or configuring alerting for Canva integration health.
Trigger with phrases like "canva monitoring", "canva metrics",
"canva observability", "monitor canva", "canva alerts", "canva tracing".
|
| allowed-tools | Read, Write, Edit |
| version | 1.5.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","design","canva"] |
| compatibility | Designed for Claude Code |
Canva Observability
Overview
Instrument Canva Connect API calls with metrics, traces, and structured logging. Track latency, error rates, rate limit headroom, and export job completion times.
Key Metrics
| Metric | Type | Labels | Description |
|---|
canva_api_requests_total | Counter | method, endpoint, status | Total API calls |
canva_api_duration_seconds | Histogram | method, endpoint | Request latency |
canva_api_errors_total | Counter | endpoint, error_code | Error count |
canva_export_duration_seconds | Histogram | format | Export completion time |
canva_token_refresh_total | Counter | status | Token refresh attempts |
canva_rate_limit_remaining | Gauge | endpoint | Rate limit headroom |
Prometheus Instrumentation
import { Registry, Counter, Histogram, Gauge } from 'prom-client';
const registry = new Registry();
const requestCounter = new Counter({
name: 'canva_api_requests_total',
help: 'Total Canva Connect API requests',
labelNames: [, , ],
: [registry],
});
requestDuration = ({
: ,
: ,
: [, ],
: [, , , , , , , ],
: [registry],
});
rateLimitGauge = ({
: ,
: ,
: [],
: [registry],
});
exportDuration = ({
: ,
: ,
: [],
: [, , , , , , ],
: [registry],
});