-
Notifications
You must be signed in to change notification settings - Fork 24
feat: new version and async appender #183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: tison <wander4096@gmail.com>
Signed-off-by: tison <wander4096@gmail.com>
Signed-off-by: tison <wander4096@gmail.com>
Signed-off-by: tison <wander4096@gmail.com>
Signed-off-by: tison <wander4096@gmail.com>
Signed-off-by: tison <wander4096@gmail.com>
Signed-off-by: tison <wander4096@gmail.com>
This reverts commit 9316c78.
Signed-off-by: tison <wander4096@gmail.com>
Signed-off-by: tison <wander4096@gmail.com>
#[derive(Debug)] | ||
pub struct Asynchronous { | ||
appends: Arc<[Box<dyn Append>]>, | ||
overflow: Overflow, | ||
state: AppendState, | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for @ SpriteOvO's spdlog-rs AsyncPoolSink
. I borrow most of the design while change the thread pool to a single background thread.
One open issue is about naming. Since async
is a keyword now, we'd better use a different name from Async here. Currently I use Asynchronous
, but I'd prefer a shorter name. Considering AsyncPool
, perhaps AsyncSingleThread
or other.
BTW we need to implement a clean up logic atexit, related to SpriteOvO/spdlog-rs#102
fn exit(&self) -> Result<(), Error> { | ||
// fastrace flush accesses thread-local storage, | ||
// which is not supported in atexit handlers | ||
Ok(()) | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@andylokandy Then we rely on the caller/application to call fastrace::flush
on exit, like what we do in ScopeDB.
This closes #145.