Feature #3553
openLogging facility: bounded record queue
0%
Description
The current implementation hardcodes the default unbounded_fifo_queue
for the asynchronous sink frontend of Boost.Log.
Boost.Log allows some compile-time customization via template arguments.
This task is to allow setting some upper bound on the logging queue length and test operations under different load conditions.
Updated by Alex Afanasyev over 8 years ago
- Blocked by Task #2513: Optimize multi-threaded logging using lock-free queue and separate thread added
Updated by Davide Pesavento over 8 years ago
- Subject changed from Use bounded logging queue for Boost.Log to Use bounded record queue for Boost.Log
- Category set to Core
Which overflow strategy should be used? drop or block?
Updated by Alex Afanasyev over 8 years ago
I would drop. Logging is, in my opinion, secondary to the actual forwarding function.
Updated by Davide Pesavento over 8 years ago
I agree in principle, but there's a not-so-small problem with Boost.Log drop_on_overflow
implementation: log records are dropped silently, which could be rather inconvenient if you're trying to debug something...
Updated by Alex Afanasyev over 8 years ago
Can be there a config-level option? Or, we can have different behavior for release and debug versions. For releases, we should definitely use drop_on_overflow
. Ideally, there should be some indication that the log was cut...
Updated by Davide Pesavento over 8 years ago
The behavior is decided by a template argument, so whatever we do, it must be a compile-time choice.
Ideally, there should be some indication that the log was cut...
100% agree. Unfortunately it doesn't currently seem possible with Boost.Log.
Updated by Davide Pesavento over 6 years ago
- Tracker changed from Task to Feature
- Project changed from NFD to ndn-cxx
- Subject changed from Use bounded record queue for Boost.Log to Support bounded record queue for Boost.Log
- Description updated (diff)
- Category changed from Core to Utils
Moving to ndn-cxx project since NFD logging is being reimplemented on top of ndn-cxx logging.
Updated by Davide Pesavento over 6 years ago
- Subject changed from Support bounded record queue for Boost.Log to Logging facility: bounded record queue
- Description updated (diff)