-
Notifications
You must be signed in to change notification settings - Fork 9
[Datadog] "Sparse Data" Fill Logic #3
Copy link
Copy link
Open
Labels
asset:alertsAlert, monitor, and rule migration assetsAlert, monitor, and rule migration assetscapabilitiesNew translator capability — new panel type, query construct, or Kibana featureNew translator capability — new panel type, query construct, or Kibana featurephase:6Phase 6 - Full-stack assetsPhase 6 - Full-stack assetssource:datadogDatadog source migrationDatadog source migrationworkstream:asset-coverageNon-dashboard assets and broader migration coverageNon-dashboard assets and broader migration coverage
Description
Activity
Metadata
Metadata
Assignees
Labels
asset:alertsAlert, monitor, and rule migration assetsAlert, monitor, and rule migration assetscapabilitiesNew translator capability — new panel type, query construct, or Kibana featureNew translator capability — new panel type, query construct, or Kibana featurephase:6Phase 6 - Full-stack assetsPhase 6 - Full-stack assetssource:datadogDatadog source migrationDatadog source migrationworkstream:asset-coverageNon-dashboard assets and broader migration coverageNon-dashboard assets and broader migration coverage
In Datadog, .fill(zero) or .fill(last) is handled at the query level. Elastic's bucket_script or gap_policy behaves differently. If you are comparing two sparse metrics using division, the logic often breaks during migration.
{ "name": "Error Rate with Sparse Data Handling", "type": "query alert", "query": "avg(last_5m):default_zero(sum:api.errors{*} / sum:api.requests{*}) > 0.05", "message": "High error rate detected. Note: default_zero used to prevent null-pointer logic. {{value}}", "options": { "thresholds": { "critical": 0.05 } } }