History log of /memcached-1.4.29/logger.h (Results 1 – 10 of 10)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: 1.6.32, 1.6.31, 1.6.30, 1.6.29, 1.6.28, 1.6.27, 1.6.26, 1.6.25, 1.6.24, 1.6.23, 1.6.22, 1.6.21, 1.6.20, 1.6.19, 1.6.18, 1.6.17, 1.6.16, 1.6.15, 1.6.14, 1.6.13, 1.6.12, 1.6.11, 1.6.10, 1.6.9, 1.6.8, 1.6.7, 1.6.6, 1.6.5, 1.6.4, 1.6.3, 1.6.2, 1.6.1, 1.6.0, 1.5.22, 1.5.21, 1.5.20, 1.5.19, 1.5.18, 1.5.17, 1.5.16, 1.5.15, 1.5.14, 1.5.13, 1.5.12, 1.5.11, 1.5.10, 1.5.9, 1.5.8, 1.5.7, 1.5.6, 1.5.5, 1.5.4, 1.5.3, 1.5.2, 1.5.1, 1.5.0, 1.4.39, 1.4.38, 1.4.37, flash-with-wbuf-stack, 1.4.36, 1.4.35, 1.4.34, 1.4.33, 1.4.32, 1.4.31, 1.4.30, 1.4.29, 1.4.28, 1.4.27, 1.4.26
# c7fbcceb 16-Jun-2016 dormando <[email protected]>

logger endpoints for first release

swapping "RAWCMDS" for internal hooks on when items are fetched or stored.

This doesn't map 1:1 with commands, ie: a store is internally a fetch then
store, so tw

logger endpoints for first release

swapping "RAWCMDS" for internal hooks on when items are fetched or stored.

This doesn't map 1:1 with commands, ie: a store is internally a fetch then
store, so two log lines are generated. An ascii multiget one make one log line
per key fetched.

It's a good place to start. Need to come back and refactor parts of logger.c
again, then convert all prints in the codebase to log entries.

show more ...


# cb8257e3 16-Jun-2016 dormando <[email protected]>

convert eviction log to new process

add LOGGER_LOG() macro wrapper for callers.

eviction logging is now using the "more final" method, where data is copied
into structs embedded into the per-worker

convert eviction log to new process

add LOGGER_LOG() macro wrapper for callers.

eviction logging is now using the "more final" method, where data is copied
into structs embedded into the per-worker circular buffer. This moves the
expensive snprintf calls to the background thread, and also allows making the
logging format switchable.

also switched the format to key=value. it's still largely readable but much
easier to parse.

show more ...


# 0503b5e2 13-Jun-2016 dormando <[email protected]>

some global stats for bg logger

four obvious ones. have a handy place to do the summarization when the logger
wakes up for its run, avoiding the locks.


# efa436fe 13-Jun-2016 dormando <[email protected]>

improve 'watch' command processing a little

moves to its own function, respods "OK\r\n" to client, allows multiple
arguments for multiple flags. Needs more thought before adding sampling.


# 1b03a9c6 13-Jun-2016 dormando <[email protected]>

poll() smarter when full, print skipped count

When lines are skipped to a watcher, a [skipped: n] is printed before
resuming. Also polls full watcher directly once, and will wait until the
outer loo

poll() smarter when full, print skipped count

When lines are skipped to a watcher, a [skipped: n] is printed before
resuming. Also polls full watcher directly once, and will wait until the
outer loop to re-poll.

Think the routine can be simplified... it works so will leave it and revisit
later.

show more ...


# a4f8b982 12-Jun-2016 dormando <[email protected]>

use one bipbuffer per watcher. remove iovec code.

after the previous commit's exercise, this greatly simplifies the writing
process. The buffers are large but can be tuned with performance testing.

use one bipbuffer per watcher. remove iovec code.

after the previous commit's exercise, this greatly simplifies the writing
process. The buffers are large but can be tuned with performance testing.

Lines are now rendered into scratch space, and if event flags (eflags) match
for a watcher, copy the bytes into that watcher's specific buffer.

In most realistic cases, watchers will be watching different streams of
information. While this does require a minimum of one memcpy instead of
directly writing into the bipbuf as before, it removes all of the loops and
management of iovecs required for filtering events on the write-to-socket end.

show more ...


# d5f7f89a 12-Jun-2016 dormando <[email protected]>

remove "logger chunks", add individualized streams

Stop doing a multi-reader circular buffer structure on top of a circular
buffer. Also adds individualized streams based off of the central buffer.

remove "logger chunks", add individualized streams

Stop doing a multi-reader circular buffer structure on top of a circular
buffer. Also adds individualized streams based off of the central buffer.

Sadly this requires managing iovecs and dealing with partial writes into said
iovecs. That makes things very complicated. Since it's not clear to me how to
simplify it too much (as of this writing), one of the next commits should
remove iovecs and instead give each watcher its own circular buffer. The
parser thread will copy watched events into each buffer.

The above would only be slower for the case of many watchers watching the same
event streams. Given all of the extra loops required for managing the iovecs,
and the more complicated syscall handling, it might even be the same speed to
manage multiple buffers anyway.

I completed this intermediary change since it simplifies the surrounding code
and was educational to fiddle with iovecs again.

show more ...


# 6a4e8e1f 10-Jun-2016 dormando <[email protected]>

switch from bit fields to bit manipulation

can't compare bit fields en-masse, which makes things too difficult.


# 73407543 25-Nov-2015 dormando <[email protected]>

manage logger watcher flags.

very temporary user control. allows to watch either fetchers or evictions, but
not both, and always with timestamps.


Revision tags: 1.4.25
# 916fff36 18-Nov-2015 dormando <[email protected]>

initial logger code.

Logs are written to per-thread buffers. A new background thread aggregates the
logs, further processes them, then writes them to any "watchers".

Logs can have the time added to

initial logger code.

Logs are written to per-thread buffers. A new background thread aggregates the
logs, further processes them, then writes them to any "watchers".

Logs can have the time added to them, and all have a GID so they can be put
back into strict order.

This is an early preview. Code needs refactoring and a more complete set of
options. All watchers are also stuck viewing the global feed of logs, even if
they asked for different data.

As of this commit there's no way to toggle the "stderr" watcher.

show more ...