Artificial intelligence and tracing-enabled automated healing for mobile device deployments
Certain aspects of the present disclosure provide techniques for automatically healing a product flow for a mobile application. The techniques include an auto-healer capable of performing one or more actions, such as healing a product flow or generating an alert for a product flow, in response to determining an issue with the health status of the product flow. The health status can be determined from metrics included in a signal sent from mobile devices executing a mobile application including the product flow and hosted on a mobile application distribution platform. The metrics may be collected at flags or checkpoints in the mobile application and sent to a metrics server. In some cases, artificial intelligence may be used to analyze the metrics to determine health status issues or anomalies.
1 . A method of healing a product flow for a mobile application, comprising:
executing, by one or more user devices, a mobile application including a product flow, wherein the product flow includes a flag point comprising a switch configured to enable or disable a corresponding application component;
determining, by a healing module, a health status of the product flow based on evaluating resource utilization for the one or more user devices executing the mobile application using a machine learning model trained through an iterative supervised learning process using training data comprising past resource utilization values associated with ground truth labels;
in response to the health status of the product flow indicating a problem with the corresponding application component, producing, by the healing module, a healed product flow by disabling the corresponding application component using the switch; and
executing, by one or more user devices, the mobile application with the healed product flow.
2 . The method of claim 1 , wherein the healing module determines a subflow of the product flow related to the corresponding application component, and wherein the producing of the healed product flow further comprises redirecting the product flow from the subflow to a different subflow.
3 . The method of claim 1 , wherein the flag point has analytics logging.
4 . The method of claim 1 , wherein the mobile application is reviewed by and published on a mobile application distribution platform.
5 . The method of claim 1 , further comprising receiving one or more threshold values during configuration of the product flow and updating the threshold values based on the health status of the product flow.
6 . The method of claim 1 , wherein the healing module comprises a collection of stability rules for the product flow.
7 . The method of claim 1 , wherein the product flow is one of a plurality of product flows, and wherein the method further comprises determining a health status of the plurality of product flows based on evaluating corresponding resource utilization for a plurality of user devices executing the mobile application.
8 . The method of claim 7 , wherein determining the health status of the plurality of product flows comprises detecting an anomaly in the corresponding resource utilization.
9 . The method of claim 1 , further comprising generating an alert in response to the health status of the product flow indicating the problem.
10 . A non-transitory computer readable storage medium comprising instructions, that when executed by one or more processors of a computing system, cause the computing system to:
execute, by one or more user devices, a mobile application including a product flow, wherein the product flow includes a flag point comprising a switch configured to enable or disable a corresponding application component;
determine, by a healing module, a health status of the product flow based on evaluating resource utilization for the one or more user devices executing the mobile application using a machine learning model trained through an iterative supervised learning process using training data comprising past resource utilization values associated with ground truth labels;
in response to the health status of the product flow indicating a problem with the corresponding application component, produce, by the healing module, a healed product flow by disabling the corresponding application feature using the switch; and
execute, by one or more user devices, the mobile application with the healed product flow.
11 . The non-transitory computer readable storage medium of claim 10 , wherein the healing module determines a subflow of the product flow related to the corresponding application component, and wherein the producing of the healed product flow further comprises redirecting the product flow from the subflow to a different subflow.
12 . The non-transitory computer readable storage medium of claim 10 , wherein the flag point has analytics logging.
13 . The non-transitory computer readable storage medium of claim 10 , wherein the mobile application is reviewed by and published on a mobile application distribution platform.
14 . The non-transitory computer readable storage medium of claim 10 , wherein the instructions further cause the system to:
receive one or more threshold values during configuration of the product flow and update the threshold values based on the health status of the product flow.
15 . The non-transitory computer readable storage medium of claim 10 , wherein the healing module comprises a collection of stability rules for the product flow.
16 . The non-transitory computer readable storage medium of claim 10 , wherein
the product flow is a product flow of a plurality of product flows;
and
the instructions further cause the system to determine a health status of the plurality of product flows based on evaluating corresponding resource utilization for a plurality of user devices executing the mobile application.
17 . The non-transitory computer readable storage medium of claim 16 , wherein determining the health status of the plurality of product flows comprises detecting an anomaly in the corresponding resource utilization.
18 . The non-transitory computer readable storage medium of claim 10 , wherein the instructions further cause the system to generate an alert in response to the health status of the product flow indicating a problem.
19 . A system comprising:
a mobile application distribution platform;
a healing module; and
a user device in networked communication with the healing module, the user device executing a mobile application received from the mobile application distribution platform, and the mobile application including a product flow, wherein the product flow includes a flag point comprising a switch configured to enable or disable a corresponding application component; and wherein:
the healing module comprises a memory having executable instructions stored thereon; and
one or more processors configured to execute the executable instructions to cause the healing module to:
determine a health status of the product flow based on evaluating resource utilization for the user device executing the mobile application using a machine learning model trained through an iterative supervised learning process using training data comprising past resource utilization values associated with ground truth labels; and
in response to the health status of the product flow indicating a problem with the corresponding application component, produce a healed product flow by disabling the corresponding application feature using the switch, wherein the user device executes the mobile application with the healed product flow.
20 . The system of claim 19 , wherein the user device is a user device of a plurality of user devices executing a plurality of mobile applications received from a plurality of platforms, the plurality of mobile applications includes a plurality of product flows validated by the healing module, and the healing module receives one or more signals from the plurality of user devices.