High-speed trace functionality in an on-demand services environment
Assigneesalesforce.com, inc.
InventorMark Wilding
Life of this patent
Estimating the term…
Abstract
Techniques and architectures to provide trace functionality. Trace record data is received from a plurality of client threads executed by one or more processors. The trace record data is stored in a plurality of chunks maintained in an in-use list. The in-use list has a chunk for individual use by the corresponding client threads. Chunks in the in-use list are moved to a completed queue when a chunk in the in-use list is substantially full. A chunk from a free list is placed in the in-use list to replace removed chunks. The chunks from the completed queue are stored in at least one memory device.
Claims24
A system comprising:
- at least one memory device;
- and
- one or more processors coupled with the at least one memory device, the one or more processors to:
- receive database statement data from a plurality of client threads executed by the one or more processors,
- cause the database statement data to be stored in a plurality of chunks maintained in an in-use list, the in-use list having a chunk for individual use by the corresponding client threads,
- cause chunks in the in-use list to be moved to a completed queue when a chunk in the in-use list is substantially full,
- cause a chunk from a free list to be placed in the in-use list to replace removed chunks,
- cause the chunks from the completed queue to be stored in the at least one memory device.
A method to provide trace database statement monitoring functionality, the method comprising:
- receiving database statement data from a plurality of client threads executed by one or more processors;
- causing the database statement data to be stored in a plurality of chunks maintained in an in-use list, the in-use list having a chunk for individual use by the corresponding client threads;
- causing chunks in the in-use list to be moved to a completed queue when a chunk in the in-use list is substantially full;
- causing a chunk from a free list to be placed in the in-use list to replace removed chunks;
- and
- causing the chunks from the completed queue to be stored in at least one memory device.
A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, cause the one or more processors to:
- receive database statement data from a plurality of client threads executed by the one or more processors;
- cause the database statement data to be stored in a plurality of chunks maintained in an in-use list, the in-use list having a chunk for individual use by the corresponding client threads;
- cause chunks in the in-use list to be moved to a completed queue when a chunk in the in-use list is substantially full;
- cause a chunk from a free list to be placed in the in-use list to replace removed chunks;
- cause the chunks from the completed queue to be stored in at least one memory device.
Dependencies are inferred from the claim text.