Observability & Monitoring
To maintain pricing accuracy and keep background jobs running smoothly, the pricing engine includes robust logging, error tracking, and rate drift detection tools.
📝 Logging Hierarchy & Standards
The pricing engine uses NestJS's structured logging framework with four severity levels:
1. Logger.log() (General Info)
- Logs major milestones in the estimation pipeline (e.g. audience resolution, quote generation, and successful PDF compilation).
- Example:
Estimate generated in 42ms — KQ-2026-00042 — total: 1045.50
2. Logger.warn() (Warnings)
- Logs non-critical issues that do not fail the calculation but require administrator attention.
- Examples:
- Missing country codes falling back to
OTHER(suggests incomplete contact imports). - Platform fee rules falling back to the hardcoded
25%rule (suggests misconfigured default rules in the database).
- Missing country codes falling back to
3. Logger.error() (Errors)
- Logs critical failures that abort estimation requests or fail background worker jobs.
- Includes full stack traces and contextual metadata (e.g.
vendorId,quotationId, andjobAttempts). - Examples:
- Empty audience target selections.
- Puppeteer Docker connection timeouts.
4. Logger.debug() (Debug)
- Logs detailed transaction diagnostics (e.g. Redis cache hits/misses, row locking operations, and discount calculations).
📈 Pricing Drift & Deviation Tracking
Because Meta updates its pricing tables regularly, calculations must be monitored for drift against actual Meta delivery records.
Drift Auditing Pipeline
Post-Campaign Invoicing (Meta Webhook)
│
▼
Compare Actual Meta Billings
│
▼
Load Quotation snapshotId
│
▼
Compute Absolute Pricing Discrepancy
[ Abs(Estimate - Actual) ]
│
▼
Within Threshold Check? (e.g., 2%)
├── Yes ──> Silently Log OK
└── No ──> Trigger Alert
If actual billings deviate from estimations by more than 2%, the system logs a high-priority warning. This allows administrators to quickly identify outdated pricing rates or configuration drifts in the database.