Logging techniques for third party application data

US11036610B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11036610-B2
Application numberUS-201916671093-A
CountryUS
Kind codeB2
Filing dateOct 31, 2019
Priority dateMay 31, 2019
Publication dateJun 15, 2021
Grant dateJun 15, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments of the present disclosure present devices, methods, and computer readable medium for techniques for measuring operational performance metrics, and presenting these metrics through an application programming interface (API) for developers to access for optimizing their applications. Exemplary metrics can include central processing unit or graphics processing unit time, foreground/background time, networking bytes (per application), location activity, display average picture luminance, cellular networking condition, peak memory, number of logical writes, launch and resume time, frame rates, and hang time. Regional markers can also be used to measure specific metrics for in application tasks. The techniques provide multiple user interfaces to help developers recognize the important metrics to optimize the performance of their applications. The data can be normalized over various different devices having different battery size, screen size, and processing requirements. The user interfaces can provide an intelligent method for visualizing performance changes for significant changes in application versions.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising performing, by an electronic device: receiving, at a metrics routine, an identifier to indicate execution of a third party application on the electronic device; determining, by the metrics routine, one or more operational metrics to be measured; identifying one or more logging routines for capturing one or more operational metrics, wherein a particular logging routine is identified to collect a particular metric; providing commands from the metrics routine to the one or more logging routines to initiate capturing event data associated with the one or more operational metrics; capturing, by the one or more logging routines, the event data during execution of the third party application via the one or more logging routines; saving, by the one or more logging routines, the event data to a persistent storage; upon trigger, using an aggregation routine to retrieve and aggregate the event data for the third party application to measure the one or more operational metrics; and transmitting the one or more operational metrics over a network to a database. 2. The method of claim 1 , further comprising: determining central processing unit time as the one or more operational metrics to be measured; identifying a unix counter routine to collect central processing unit time, wherein a kernel aggregates central processing unit time for each process executing on the electronic device; aggregating by a logging routine the central processing unit time into discrete time intervals; and saving the aggregated central processing unit time to the persistent storage. 3. The method of claim 1 , further comprising: determining graphics processing unit time as the one or more operational metrics to be measured; identifying a unix counter routine to collect graphics processing unit time, wherein a kernel aggregates graphics processing unit time for each process executing on the electronic device; aggregating by a logging routine the graphics processing unit time into discrete time intervals; and saving the aggregated graphics processing unit time to the persistent storage. 4. The method of claim 1 , further comprising: determining cellular condition time as the one or more operational metrics to be measured, wherein the cellular condition time measures an elapsed time that the electronic device spends in one of a plurality of defined cellular conditions, wherein the defined cellular conditions comprise a type of network connection and network properties; identifying a cellular monitoring routine, wherein baseband firmware provides event based updates on current cellular condition for the electronic device; aggregating by a logging routine the cellular condition time per process; and saving the aggregated cellular condition time to the persistent storage. 5. The method of claim 1 , further comprising: determining an application mode time as the one or more operational metrics to be measured; identifying an application mode detection routine, wherein the application mode detection routine determines whether the third party application is running in a foreground or in a background; aggregating by a logging routine the application mode time per application; and saving the aggregated application mode time to the persistent storage. 6. The method of claim 1 , further comprising: determining location acquisition time as the one or more operational metrics to be measured; identifying a location acquisition routine, wherein the location acquisition routine measures time acquiring location for different accuracy levels; aggregating by a logging routine an elapsed time acquiring location by accuracy levels; and saving the aggregated location acquisition time to the persistent storage. 7. The method of claim 1 , further comprising: determining average pixel luminance as the one or more operational metrics to be measured; identifying an pixel luminance detection routine, wherein the pixel luminance detection routine measures an average of pixel luminance for a display of the electronic device; aggregating by a logging routine the average pixel luminance by application; and saving the aggregated average pixel luminance to the persistent storage. 8. The method of claim 1 , further comprising: determining network transfer bytes as the one or more operational metrics to be measured; identifying a data transfer routine, wherein the data transfer routine measures data transfer over a network; aggregating by a logging routine the network transfer bytes by application; and saving the aggregated network transfer bytes to the persistent storage. 9. The method of claim 1 , further comprising: determining memory consumption data as the one or more operational metrics to be measured; identifying a memory usage routine, wherein the memory usage routine measures peak and average memory consumption by the third party application; aggregating by a logging routine the memory consumption data by application; and saving the memory consumption data to the persistent storage. 10. The method of claim 1 , further comprising: determining application response time as the one or more operational metrics to be measured; identifying a hangtracer routine to measure minutes of unresponsive time of the third party application; aggregating by a logging routine the application response time by application; and saving the aggregated application response time to the persistent storage. 11. The method of claim 1 , further comprising: determining application launch time as the one or more operational metrics to be measured; identifying a launch time routine, wherein the launch time routine measures an elapsed time between receiving a selection of an application icon and drawing a first visible pixel on a display of the electronic device; aggregating by a logging routine application launch time by application; and saving the application launch time to the persistent storage. 12. The method of claim 1 , further comprising: determining a number of logical writes as the one or more operational metrics to be measured; identifying storage monitoring routine, wherein the storage monitoring routine measures the number of logical writes of a storage device of the electronic device; aggregating by a logging routine application the number of logical writes into discrete time intervals; and saving the number of logical writes to the persistent storage. 13. The method of claim 1 , further comprising: executing an application programming interface on the electronic device, the application programming interface provides for a customized interval for the one or more logging routines; saving a start marker and an end marker in a log storage on the electronic device; and capturing one or more operational metrics between the start marker and the end marker. 14. A computing device, comprising: one or more memories; and one or more processors in communication with the one or more memories and configured to execute instructions stored in the one or more memories for performing operations comprising: receiving, at a metrics routine, an identifier to indicate execution of a third party application on the computing device; determining, by the metrics routine, one or more operational metrics to be measured; identifying one or more logging routines for capturing one or more operational metrics, wherein a particular logging routine is identified to collect a particular metric; providing commands from the metrics routine to the one or more logging routines to initiate capturing event data associated

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11036610B2 cover?
Embodiments of the present disclosure present devices, methods, and computer readable medium for techniques for measuring operational performance metrics, and presenting these metrics through an application programming interface (API) for developers to access for optimizing their applications. Exemplary metrics can include central processing unit or graphics processing unit time, foreground/bac…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/3409. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 15 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).