Recording program execution

US9852047B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9852047-B2
Application numberUS-201615065593-A
CountryUS
Kind codeB2
Filing dateMar 9, 2016
Priority dateMar 15, 2013
Publication dateDec 26, 2017
Grant dateDec 26, 2017

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.

Among other things, a method includes, at a computer system on which one or more computer programs are executing, receiving a specification defining types of state information, receiving an indication that an event associated with at least one of the computer programs has occurred, the event associated with execution of a function of the computer program, collecting state information describing the state of the execution of the computer program when the event occurred, generating an entry corresponding to the event, the entry including elements of the collected state information, the elements of state information formatted according to the specification, and storing the entry. The log can be parsed to generate a visualization of computer program execution.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method including: at a computer system on which one or more computer programs are executing: receiving a specification defining types of state information; receiving an indication that an event associated with at least a first of the one or more computer programs has occurred, the event associated with execution of a function of the first computer program; collecting state information describing the state of the execution of the first computer program when the event occurred; generating, during execution of the first computer program, an entry corresponding to the event, the entry including one or more elements of the collected state information, the one or more elements of state information formatted according to the specification; and storing the entry, wherein the entry contains: a first portion formatted according to a native format of a logging mechanism used when generating a log, the first portion including at least one of a timestamp and a debugger message, and a second portion formatted according to the specification and in a format other than the native format of the logging mechanism, the second portion including at least one element of the one or more elements of the state information, each of the at least one element of state information tagged based on tags defined by the specification. 2. The method of claim 1 , wherein the specification defines an identification of an instance of an object from which the function was executed. 3. The method of claim 1 , wherein the specification defines an identification of the function and defines an identification of a time at which the function was called. 4. The method of claim 3 , wherein the specification defines arguments passed to the function and defines variables associated with the function. 5. The method of claim 3 , wherein the specification defines at least one of an identification of variables passed to the function, output of the function, or another function that called the function. 6. The method of claim 1 , wherein the specification defines a format that is compatible with a facility that generates a visualization of execution of at least one of the one or more computer programs. 7. The method of claim 1 , wherein the specification is an XML specification. 8. The method of claim 1 , wherein at least some of the types of state information in the entry are identified by tags. 9. The method of claim 1 , including dynamically adjusting a level of logging during execution of at least one of the one or more computer programs, wherein different types of events are logged when different levels of logging are specified. 10. The method of claim 1 , including dynamically adjusting a level of detail of logging during execution of at least one of the one or more computer programs, wherein for the same type of event, different amounts of information are logged when different levels of details of logging are specified. 11. The method of claim 1 , including: receiving a first command and a second command, wherein the first command indicates a threshold for events that should be recorded; wherein the second command indicates a level of detail that should be recorded in each entry; and generating entries for events that satisfy the threshold for events that should be recorded, at the indicated level of detail. 12. The method of claim 1 , including: receiving a threshold for events that should be stored; and generating entries for events that satisfy the threshold when a function is executing. 13. The method of claim 1 , including: receiving a level of detail that should be recorded in each log entry; and generating entries for events at the level of detail when a function is executing. 14. A computer system configured to execute one or more computer programs, the computer system comprising: at least one hardware processor configured to perform: receiving a specification defining types of state information; receiving an indication that an event associated with at least a first of the one or more computer programs has occurred, the event associated with execution of a function of the first computer program; collecting state information describing the state of the execution of the first computer program when the event occurred; generating, during execution of the first computer program, an entry corresponding to the event, the entry including one or more elements of the collected state information, the one or more elements of state information formatted according to the specification; and storing the entry, wherein the entry contains: a first portion formatted according to a native format of a logging mechanism used when generating a log, the first portion including at least one of a timestamp and a debugger message, and a second portion formatted according to the specification and in a format other than the native format of the logging mechanism, the second portion including at least one element of the one or more elements of the state information, each of the at least one element of state information tagged based on tags defined by the specification. 15. A computer-readable hardware storage device storing instructions that, when executed by at least one processor, cause the at least one processor to perform: receiving a specification defining types of state information; receiving an indication that an event associated with at least a first of the one or more computer programs has occurred, the event associated with execution of a function of the first computer program; collecting state information describing the state of the execution of the first computer program when the event occurred; generating, during execution of the first computer program, an entry corresponding to the event, the entry including one or more elements of the collected state information, the one or more elements of state information formatted according to the specification; and storing the entry, wherein the entry contains: a first portion formatted according to a native format of a logging mechanism used when generating a log, the first portion including at least one of a timestamp and a debugger message, and a second portion formatted according to the specification and in a format other than the native format of the logging mechanism, the second portion including at least one element of the one or more elements of the state information, each of the at least one element of state information tagged based on tags defined by the specification.

Assignees

Inventors

Classifications

  • Debugging of software · CPC title

  • using diagnostics (G06F11/0703 takes precedence) · CPC title

  • by tracing the execution of the program · CPC title

  • for systems · CPC title

  • Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation · 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 US9852047B2 cover?
Among other things, a method includes, at a computer system on which one or more computer programs are executing, receiving a specification defining types of state information, receiving an indication that an event associated with at least one of the computer programs has occurred, the event associated with execution of a function of the computer program, collecting state information describing…
Who is the assignee on this patent?
Ab Initio Technology Llc
What technology area does this patent fall under?
Primary CPC classification G06F11/3636. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 26 2017 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).