MetricKit Metric Payload Split

In MetricKit, a metric payload comes in with a time range which usually means it contains multiple launches/sessions. How can we relate things that will change between launches or sessions such as pid and lowPowerModeEnabled from the metadata. Will there be multiple payloads for each unique value or is there some other way to use this?

Thank you for your post. Currently, MetricKit does not provide access to that information. However, the team finds the concept intriguing and would be delighted to receive an enhancement request from you to build that capability.

If you'd like us to consider adding the necessary functionality, please file an enhancement request using Feedback Assistant. Once you file the request, please post the FB number here.

If you're not familiar with how to file enhancement requests, take a look at Bug Reporting: How and Why?

Albert Pascual
  Worldwide Developer Relations.

Glad to hear they're open to new ideas. However, I don't think I was clear about my ask, trying again... :)

I’m trying to understand the scope of an MXMetricPayload versus some of its per-run fields.

Specifically, the payload includes pid and lowPowerModeEnabled. Are these fields guaranteed to describe the same execution whose metrics the payload represents, or can a payload aggregate across multiple launches/time windows?

Concretely:

  • If pid == 100, does that imply the payload only covers the run with PID 100?
  • If lowPowerModeEnabled can change during a run, is the value in the payload a snapshot (at launch? at collection?) or a derived/aggregated value?
  • If a payload can span multiple runs, how are scalar fields like pid and lowPowerModeEnabled determined?
MetricKit Metric Payload Split
 
 
Q