Structured logging system
AssigneeHome Box Office, Inc.
InventorsNathan J. E. Furtwangler, Brandon C. Furtwangler, Tyler R. Furtwangler
Life of this patent
Estimating the term…
Abstract
The described technology is directed towards a structured logging technology in which events corresponding to program execution are received in a structured format and logged based upon filtering of those events. A log handler is associated with a filtering mechanism that determines whether each event matches filtering criteria and is thus to be logged by the log handler. The log handler provides matching logged events to an event sink, such as an analytic tool that consumes the events for analysis.
Claims20
A system, comprising:
- an event logger that receives event log entries that correspond to events generated during an execution of a program;
- and
- a server component that:
- determines a quantity of log handlers to employ for the program based on a determination of a rarity of a bug in the program, and
- selects one or more log handlers from a set of log handlers to meet the quantity of log handlers, each log handler configured to process event log entries that correspond to program execution, wherein the one or more log handlers comprise a first log handler having an associated filtering mechanism that selects only event log entries matching a specified set of one or more criterion to provide filtered event log entries, and first log handler data configured to provide data corresponding to the filtered event log entries to an event sink associated with the first log handler, wherein the event log entries comprise event information represented via a defined data structure comprising two or more fields, and wherein the one or more log handlers are selected from the set of log handlers at runtime based on a classification of a device that is utilized to execute the program.
A method implemented at least in part on at least one machine, comprising:
- receiving structured events that are generated during an execution of a program and comprise event log data represented via a defined data structure that comprises a first field indicative of a type of event and a second field indicative of the event data payload;
- determining a quantity of log handlers to employ for the program based on a determination of a rarity of a bug in the program;
- selecting one or more log handlers from a set of log handlers at runtime of the program to meet the quantity of log handlers and based on type data indicative of a type of a device that executes the program, wherein the one or more log handlers are employable to process the structured events;
- employing the one or more log handlers to facilitate filtering the events based upon type information within the first field to obtain only filtered events specified by the one or more log handlers;
- and
- outputting data corresponding to the filtered events to at least one event sink.
One or more machine-readable media having machine-executable instructions, which when executed perform steps, comprising:
- receiving structured events that are generated during an execution of a program and comprise event log data represented via a defined data structure that comprises a first field indicative of a type of event and a second field indicative of the event data payload;
- determining a quantity of log handlers to employ for the program based on a determination of a rarity of a bug in the program;
- selecting one or more log handlers from a set of log handlers at runtime of the program to meet the quantity of log handlers and based on type data indicative of a type of a device that executes the program, wherein the one or more log handlers are employable to process the structured events;
- employing the one or more log handlers to facilitate filtering the events based upon type information within the first field to obtain only filtered events specified by the one or more log handlers;
- and
- outputting data corresponding to the filtered events to at least one event sink.
Dependencies are inferred from the claim text.