Skip to content

RUM-8042 Batch Blocked telemetry with generic aggregation #2230

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 8 commits into
base: develop
Choose a base branch
from

Conversation

maxep
Copy link
Member

@maxep maxep commented Mar 12, 2025

What and why?

Introduce a new telemetry metric for tracking batch upload issues. It replaces the previous "Upload Quality" telemetry with a more specific "Batch Blocked" metric that provides better visibility into upload failures. This change provides a telemetry format more suitable for graphing.

More context in RFC (internal)

How?

The implementation uses a generic metric telemetry aggregation to collect metric and report them when the application is pushed to background:

1. Metric Types:

  • Counter metrics for tracking increments (e.g., number of blocked batches)
  • Gauge metrics for tracking values (e.g., pending batches count)
  • Custom metric events for specific metrics

2. Metrics:

  • batch_blocked: Tracks the number of times batch uploads are blocked
  • pending_batches: Tracks the number of batches waiting to be uploaded
  • upload_cycle: Monitors count of upload cycle

Each metric supports configurable cardinalities for detailed analysis

4. Architecture:

  • Generic aggregation system that can handle different metric types
  • Flexible cardinality configuration for each metric
  • Separation between metric collection and aggregation

Review checklist

  • Feature or bugfix MUST have appropriate tests (unit, integration)
  • Make sure each commit and the PR mention the Issue number or JIRA reference
  • Add CHANGELOG entry for user facing changes
  • Add Objective-C interface for public APIs (see our guidelines [internal]) and run make api-surface)

@maxep maxep force-pushed the maxep/RUM-8042/batch-blocked-telemetry branch from 229b5b9 to 09a608a Compare March 13, 2025 09:11
@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented Mar 13, 2025

Datadog Report

Branch report: maxep/RUM-8042/batch-blocked-telemetry
Commit report: 2cab83e
Test service: dd-sdk-ios

✅ 0 Failed, 2423 Passed, 1485 Skipped, 3m 5.28s Total duration (1m 11.75s time saved)

@maxep maxep force-pushed the maxep/RUM-8042/batch-blocked-telemetry branch from 09a608a to f51cb4c Compare March 13, 2025 09:36
@maxep maxep marked this pull request as ready for review March 13, 2025 09:37
@maxep maxep requested review from a team as code owners March 13, 2025 09:37
mariedm
mariedm previously approved these changes Mar 13, 2025
Copy link
Member

@mariedm mariedm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGMT!

simaoseica-dd
simaoseica-dd previously approved these changes Mar 13, 2025
Copy link
Contributor

@simaoseica-dd simaoseica-dd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👌

Copy link
Contributor

@barboraplasovska barboraplasovska left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🏅

@maxep maxep dismissed stale reviews from barboraplasovska, simaoseica-dd, and mariedm via 5204914 March 14, 2025 16:59
@maxep maxep force-pushed the maxep/RUM-8042/batch-blocked-telemetry branch 3 times, most recently from aa1b8d9 to 31ae520 Compare March 17, 2025 11:22
Copy link
Member

@mariedm mariedm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a couple of small questions, otherwise LGMT!

Valpertui
Valpertui previously approved these changes Mar 17, 2025
@maxep maxep force-pushed the maxep/RUM-8042/batch-blocked-telemetry branch from 31ae520 to 564152b Compare March 24, 2025 14:43
@maxep maxep marked this pull request as draft March 26, 2025 17:41
@maxep maxep force-pushed the maxep/RUM-8042/batch-blocked-telemetry branch 8 times, most recently from de4fe5a to 0b556f7 Compare April 18, 2025 10:14
@maxep maxep force-pushed the maxep/RUM-8042/batch-blocked-telemetry branch 5 times, most recently from cd68fed to 04e471b Compare April 18, 2025 14:10
@maxep maxep changed the title RUM-8042 Replace Upload Quality with Batch Blocked telemetry RUM-8042 Batch Blocked telemetry with generic aggregation Apr 22, 2025
@maxep maxep force-pushed the maxep/RUM-8042/batch-blocked-telemetry branch 2 times, most recently from 3d0a7d7 to 4f1d95b Compare April 22, 2025 12:48
@maxep maxep force-pushed the maxep/RUM-8042/batch-blocked-telemetry branch from 4f1d95b to 2cab83e Compare April 24, 2025 12:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants