Method and system for throttling log messages for multiple entities
First Claim
1. A method for logging messages relating to a plurality of devices simultaneously supported by a device driver, the method comprising:
- allocating, by the device driver, a message buffer for each of the plurality of devices, wherein each message buffer is allocated to store log messages for a corresponding device;
generating a first warning log message in response to interacting with a first device in the plurality of devices;
flushing log messages in the message buffer corresponding to the first device to a log file upon generating the first warning log message in accordance with a log message throttling heuristic;
generating a second warning log message in response to interacting with a second device in the plurality of devices; and
flushing log messages in the message buffer corresponding to the second device to the log file upon generating the second warning log message in accordance with the log message throttling heuristic.
2 Assignments
0 Petitions
Accused Products
Abstract
A software module capable of simultaneously supporting multiple services provides log message throttling for each service with a separate “per service” log message buffer. When the software module is a device driver, for example, each device controlled by the device driver is allocated a message buffer to store descriptive log messages. Upon generation of a warning log message, descriptive log messages in the message buffer are flushed to a log file for review by an administrator. Furthermore, log message throttling may be implemented by only flushing the message buffer upon certain occurrences of warning log messages, such as in accordance with an exponential back-off algorithm.
-
Citations
20 Claims
-
1. A method for logging messages relating to a plurality of devices simultaneously supported by a device driver, the method comprising:
-
allocating, by the device driver, a message buffer for each of the plurality of devices, wherein each message buffer is allocated to store log messages for a corresponding device; generating a first warning log message in response to interacting with a first device in the plurality of devices; flushing log messages in the message buffer corresponding to the first device to a log file upon generating the first warning log message in accordance with a log message throttling heuristic; generating a second warning log message in response to interacting with a second device in the plurality of devices; and flushing log messages in the message buffer corresponding to the second device to the log file upon generating the second warning log message in accordance with the log message throttling heuristic. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable medium including instructions that, when executed by a processing unit of a computer system having a device driver capable of simultaneously supporting a plurality of devices, causes the processing unit to log messages relating to interactions between the device driver and the plurality of devices to a log file, by performing steps of:
-
allocating, by the device driver, a message buffer for each of the plurality of devices, wherein each message buffer is allocated to store log messages for a corresponding device; generating a first warning log message in response to interacting with a first device in the plurality of devices; flushing log messages in the message buffer corresponding to the first device to the log file upon generating the first warning log message in accordance with a log message throttling heuristic; generating a second warning log message in response to interacting with a second device in the plurality of devices; and flushing log messages in the message buffer corresponding to the second device to the log file upon generating the second warning log message in accordance with the log message throttling heuristic. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method for logging messages for a software module simultaneously supporting a plurality of services, the method comprising:
-
allocating a message buffer for each of the plurality of services, wherein each message buffer is allocated to store log messages for a corresponding service; generating a first warning log message in response to interacting with a first service in the plurality of services; flushing log messages in the message buffer corresponding to the first service to a log file upon generating the first warning log message in accordance with a log message throttling heuristic; generating a second warning log message in response to interacting with a second service in the plurality of services; and flushing log messages in the message buffer corresponding to the second service to the log file upon generating the second warning log message in accordance with the log message throttling heuristic. - View Dependent Claims (15, 16)
-
-
17. A method for logging messages for a software module simultaneously supporting a plurality of services, the method comprising:
-
allocating a message buffer for each of the plurality of services, wherein each message buffer is allocated to store log messages for a corresponding service; generating a first warning log message in response to interacting with a first service in the plurality of services; flushing log messages in the message buffer corresponding to the first service to a log file upon generating the first warning log message in accordance with a log message throttling heuristic; generating a second warning log message in response to interacting with a second service in the plurality of services; flushing log messages in the message buffer corresponding to the second service to the log file upon generating the second warning log message in accordance with the log message throttling heuristic; and for each of the plurality of services, maintaining a count of occurrences of warning log messages and a corresponding specified limit for the count. - View Dependent Claims (18, 19, 20)
-
Specification