Recording CPU Time for Sample of Computing Thread Based on CPU use State of Activity Associated with the Sample

US2017220446A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2017220446-A1
Application numberUS-201715489208-A
CountryUS
Kind codeA1
Filing dateApr 17, 2017
Priority dateDec 12, 2014
Publication dateAug 3, 2017
Grant date

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.

Computing threads can be sampled such that the samples hit each activity with a probability proportional to a time period of that activity. Therefore, the sampling can advantageously account for all activities, including activities that are smaller than the applicable sampling interval.

First claim

Opening claim text (preview).

1 - 20 . (canceled) 21 . A method comprising: determining, by at least one processor, that a sample of a plurality of samples indicates a particular subroutine of a plurality of subroutines that is not being serviced for a particular time period by a central processing unit operatively coupled to the at least one processor, the plurality of samples being associated with a computing thread characterizing a portion of the plurality of subroutines; recording, by the at least one data processor, the particular time period in a stack frame specific to a prior sample of the plurality of samples, the prior sample indicating a prior subroutine of the plurality of subroutines that was serviced by the central processing unit; and retrieving, by the at least one processor, the particular time period from the stack frame to generate a report. 22 . The method of claim 21 , wherein a probability of at least one sample of the plurality of samples being taken within each subroutine of the plurality of subroutines is proportional to a time period of the subroutine. 23 . The method of claim 21 , wherein the plurality of subroutines is a part of a computer program that executes an enterprise resource planning application. 24 . The method of claim 21 , wherein each subroutine of the plurality of subroutines is a function call within a computer program. 25 . The method of claim 21 , further comprising: receiving, by the at least one processor, the computing thread prior to the determining that the sample indicates the particular subroutine that is not serviced by the central processing unit. 26 . The method of claim 21 , wherein the report comprises the particular subroutine, an identification of the prior subroutine, and a total number of samples for which time periods associated with the central processing unit are recorded in stack frames of prior samples. 27 . The method of claim 21 , further comprising: displaying, by the at least one processor, the report on a graphical user interface. 28 . The method of claim 21 , wherein the stack frame is a first data structure that stores data associated with the prior subroutine, the stack frame being a part of a call stack, the call stack being a second data structure that stores data associated with the computing thread. 29 . A non-transitory computer program product storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising: determining that a sample of a plurality of samples associated with a computing thread characterizing a portion of a plurality of subroutines indicates a particular subroutine of the plurality of subroutines that is not being serviced for a particular time period by a central processing unit operatively coupled to the at least one processor; recording the particular time period in a stack frame specific to a prior sample of the plurality of samples, the prior sample indicating a prior subroutine of the plurality of subroutines that was serviced by the central processing unit; and retrieving the particular time period from the stack frame to generate a report. 30 . The non-transitory computer program product of claim 29 , wherein a probability of at least one sample of the plurality of samples being taken within each subroutine of the plurality of subroutines is proportional to a time period of the subroutine. 31 . The non-transitory computer program product of claim 30 , wherein the plurality of subroutines is a part of a computer program that executes an enterprise resource planning application. 32 . The non-transitory computer program product of claim 30 , wherein each subroutine of the plurality of subroutines is a function call within a computer program. 33 . The non-transitory computer program product of claim 29 , wherein the operations further comprise receiving the computing thread prior to the determining that the sample indicates the particular subroutine that is not serviced by the central processing unit. 34 . The non-transitory computer program product of claim 29 , wherein the report comprises the particular subroutine, an identification of the prior subroutine, and a total number of samples for which time periods associated with the central processing unit are recorded in stack frames of prior samples 35 . A system comprising: a call stack including a plurality of stack frames associated with a plurality of samples associated with a computing thread characterizing a portion of a plurality of subroutines; at least one processor to determine that a sample of the plurality of samples indicates a particular subroutine of the plurality of subroutines that is not being serviced for a particular time period by a central processing unit operatively coupled to the at least one processor, the at least one processor configured to record the particular time period in a stack frame of the plurality of stack frames that is specific to a prior sample of the plurality of samples, the prior sample indicating a prior subroutine of the plurality of subroutines that was serviced by the central processing unit, the at least one processor configured to retrieve the particular time period from the stack frame to generate a report. 36 . The system of claim 35 , wherein a probability of at least one sample of the plurality of samples being taken within each subroutine of the plurality of subroutines is proportional to a time period of the subroutine. 37 . The system of claim 35 , wherein: the plurality of subroutines is a part of a computer program that executes an enterprise resource planning application; and each subroutine of the plurality of subroutines is a function call within a computer program. 38 . The system of claim 35 , wherein the at least one processor is configured to receive the computing thread prior to the determining that the sample indicates the particular subroutine that is not serviced by the central processing unit. 39 . The system of claim 35 , wherein the report comprises the particular subroutine, an identification of the prior subroutine, and a total number of samples for which time periods associated with the central processing unit are recorded in stack frames of prior samples. 40 . The system of claim 35 , wherein the at least one processor is configured to display the report on a graphical user interface.

Assignees

Inventors

Classifications

  • to test CPU or processors · CPC title

  • for performance assessment · CPC title

  • Performance evaluation by tracing or monitoring · CPC title

  • where the assessed time is active or idle time · CPC title

  • Event-based monitoring · CPC title

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 US2017220446A1 cover?
Computing threads can be sampled such that the samples hit each activity with a probability proportional to a time period of that activity. Therefore, the sampling can advantageously account for all activities, including activities that are smaller than the applicable sampling interval.
Who is the assignee on this patent?
Sap Se
What technology area does this patent fall under?
Primary CPC classification G06F11/3423. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Aug 03 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).