Efficiently tracking code location of run-time events in system software
Assigneesalesforce.com, inc.
InventorAditya P. Gurajada
Life of this patent
Estimating the term…
Abstract
Methods, systems and computer program products for tracking, encoding and decoding the code-location of runtime events. The system receives an encoded identifier function call as a parameter for a first function included in at least one file in a plurality of files of a source code base. The system returns a compact encoded identifier generated by the encoded identifier function call during compilation of the plurality of files of the source code base. In response to receiving a runtime event's identifier from execution of the source code base, the system decodes the encoded identifier to trace back to a unique location of the first function in the source code base, thereby identifying the filename and line number where the event occurred.
Claims17
A method for tracking runtime events comprising:
- receiving, by a database system, an encoded identifier function call as a parameter for a first function included in at least one file in a plurality of files of a source code base;
- generating, by the database system, a filename index number for each respective file of the source code base during compilation of the source code base;
- returning, by the database system, an encoded identifier generated by the encoded identifier function call during compilation of the plurality of files of the source code base;
- decoding, by the database system, the encoded identifier to trace back to a location of the first function in the source code base in response to receiving a runtime event from execution of the source code base;
- and
- storing, by the database system, each returned unique encoded identifier in pre-allocated storage memory associated with the source code base.
A computer program product comprising computer-readable program code to be executed by one or more processors when retrieved from a non-transitory computer-readable medium, the program code including instructions to:
- receive an encoded identifier function call as a parameter for a first function included in at least one file in a plurality of files of a source code base;
- generate a filename index number for each respective file of the source code base during compilation of the source code base;
- return an encoded identifier generated by the encoded identifier function call during compilation of the plurality of files of the source code base;
- and
- decode the encoded identifier to trace back to a location of the first function in the source code base in response to receiving a runtime event from execution of the source code base;
- and
- store each returned unique encoded identifier in pre-allocated storage memory associated with the source code base.
A system comprising:
- one or more processors;
- and
- a non-transitory computer readable medium storing a plurality of instructions, which when executed, cause the one or more processors to:
- receive an encoded identifier function call as a parameter for a first function included in at least one file in a plurality of files of a source code base;
- generate a filename index number for each respective file of the source code base during compilation of the source code base;
- return an encoded identifier generated by the encoded identifier function call during compilation of the plurality of files of the source code base;
- and
- decode the encoded identifier to trace back to a location of the first function in the source code base in response to receiving a runtime event from execution of the source code base;
- and
- store each returned unique encoded identifier in pre-allocated storage memory associated with the source code base.
Dependencies are inferred from the claim text.