summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Clear child data when opening the pipes.cow-pipeantirez2016-09-191-0/+2
| | | | | | This is important both to reset the magic to 0, so that it will not match if the structure is not explicitly set, and to initialize other things we may add like counters and such.
* Child -> Parent pipe for COW info transferring.antirez2016-09-196-3/+132
|
* zmalloc: Make fp var non local to fix build.antirez2016-09-191-2/+3
|
* zmalloc: zmalloc_get_smap_bytes_by_field() modified to work for any PID.antirez2016-09-195-12/+24
| | | | The goal is to get copy-on-write amount of the child from the parent.
* redis-cli: "allocator-stats" -> "malloc-stats".antirez2016-09-191-1/+1
| | | | | It was changed in Redis but not in redis-cli. Thanks to @oranagra for signaling.
* Typo fixed from MEMORY DOCTOR output.oran-memory-profilingantirez2016-09-161-1/+1
|
* Surround allocator name with quotes in MEMORY DOCTOR output.antirez2016-09-161-1/+1
|
* MEMORY DOCTOR initial implementation.antirez2016-09-164-8/+104
|
* Provide percentage of memory peak used info.antirez2016-09-163-1/+13
|
* add zmalloc used mem to DEBUG SDSLENoranagra2016-09-162-3/+7
|
* Memory related subcommands of DEBUG moved to MEMORY.antirez2016-09-163-41/+43
|
* Group MEMORY command related APIs together in the source code.antirez2016-09-161-53/+53
|
* objectComputeSize(): skiplist nodes have different sizes.antirez2016-09-151-6/+6
| | | | | | The size of the node depends on the node level, however it is not stored into the node itself, is an implicit information, so we use zmalloc_size() in order to compute the sorted set size.
* MEMORY command: HELP + dataset percentage (like in INFO).antirez2016-09-153-8/+20
|
* MEMORY USAGE: SAMPLES option added + fixes to size computation.antirez2016-09-151-18/+27
| | | | | | | | | The new SAMPLES option is added, defaulting to 5, and with 0 being a special value to scan the whole set of elements. Fixes to the object size computation were made since the original PR assumed data structures still contaning robj structures, while now after the lazyfree changes, are all SDS strings.
* INFO: new memory reporting fields added.antirez2016-09-151-1/+15
|
* C struct memoh renamed redisMemOverhead. API prototypes added.antirez2016-09-152-26/+28
|
* MEMORY OVERHEAD refactored into a generic API.antirez2016-09-151-73/+130
|
* dict.c: dictReplaceRaw() -> dictAddOrFind().antirez2016-09-143-4/+4
| | | | What they say about "naming things" in programming?
* Trim comment to 80 cols.antirez2016-09-141-1/+1
|
* Apply the new dictUnlink() where possible.antirez2016-09-143-8/+9
| | | | | Optimizations suggested and originally implemented by @oranagra. Re-applied by @antirez using the modified API.
* dict.c: introduce dictUnlink().oranagra2016-09-143-11/+45
| | | | | | | | | | | | | | | | | | | | Notes by @antirez: This patch was picked from a larger commit by Oran and adapted to change the API a bit. The basic idea is to avoid double lookups when there is to use the value of the deleted entry. BEFORE: entry = dictFind( ... ); /* 1st lookup. */ /* Do somethjing with the entry. */ dictDelete(...); /* 2nd lookup. */ AFTER: entry = dictUnlink( ... ); /* 1st lookup. */ /* Do somethjing with the entry. */ dictFreeUnlinkedEntry(entry); /* No lookups!. */
* MEMORY OVERHEAD implemented (using Oran Agra initial implementation).antirez2016-09-133-2/+104
| | | | | | | | | | This code was extracted from @oranagra PR #3223 and modified in order to provide only certain amounts of information compared to the original code. It was also moved from DEBUG to the newly introduced MEMORY command. Thanks to Oran for the implementation and the PR. It implements detailed memory usage stats that can be useful in both provisioning and troubleshooting memory usage in Redis.
* objectComputeSize(): estimate collections sampling N elements.antirez2016-09-133-31/+51
| | | | | | | | | | For most tasks, we need the memory estimation to be O(1) by default. This commit also implements an initial MEMORY command. Note that objectComputeSize() takes the number of samples to check as argument, so MEMORY should be able to get the sample size as option to make precision VS CPU tradeoff tunable. Related to: PR #3223.
* Adding objectComputeSize() function.oranagra2016-09-121-0/+113
|
* Optimize repeated keyname hashing.oranagra2016-09-125-59/+56
| | | | | (Change cherry-picked and modified by @antirez from a larger commit provided by @oranagra in PR #3223).
* Merge pull request #3492 from wyxustcsa09/fix-memorySalvatore Sanfilippo2016-09-091-1/+1
|\ | | | | fix memory error on module unload
| * fix memory error on module unloadwyx2016-09-091-1/+1
| |
* | Merge branch 'unstable' of github.com:antirez/redis into unstableantirez2016-09-099-139/+247
|\ \
| * \ Merge branch 'aofrdb' into unstableantirez2016-09-098-137/+236
| |\ \
| | * | RDB AOF preamble: test it in the aofrw unit.aofrdbantirez2016-08-241-49/+52
| | | |
| | * | Document RDB preamble in AOF rewrites in redis.conf.antirez2016-08-241-0/+14
| | | |
| | * | RDB AOF preamble: WIP 4 (Mixed RDB/AOF loading).antirez2016-08-112-6/+33
| | | |
| | * | RDB AOF preamble: WIP 3 (RDB loading refactoring).antirez2016-08-111-29/+38
| | | |
| | * | RDB AOF preamble: WIP 2.antirez2016-08-095-28/+37
| | | |
| | * | RDB AOF preamble: WIP 1.antirez2016-08-094-35/+72
| | | |
| * | | fix the fix for the TCP binding.antirez2016-09-091-10/+15
| | | | | | | | | | | | | | | | This commit attempts to fix a problem with PR #3467.
| * | | fix tcp binding when IPv6 is unsupportedoranagra2016-09-092-10/+14
| | | |
* | | | Example modules: Add C99 standard to cflags.antirez2016-09-091-2/+2
|/ / /
* | | debug.c: no need to define _GNU_SOURCE, is defined in fmacros.h.antirez2016-09-091-1/+0
| | |
* | | crash log - improve code dump with more info and called symbols.antirez2016-09-091-20/+59
| | |
* | | crash log - add hex dump of function codeoranagra2016-09-081-0/+22
| |/ |/|
* | dict.c benchmark minor improvements.antirez2016-09-071-1/+19
| |
* | dict.c benchmark: mixed del/insert benchmark.antirez2016-09-071-0/+11
| |
* | dict.c benchmark: finish rehashing before testing lookups.antirez2016-09-071-0/+5
| |
* | dict.c benchmark improvements.antirez2016-09-071-4/+27
| |
* | dict.c benchmark: take optional count argument.antirez2016-09-071-3/+11
| |
* | dict.c benchmark.antirez2016-09-072-1/+60
| |
* | Fix rdb.c var types when calling rdbLoadLen().antirez2016-09-011-3/+3
| | | | | | | | | | | | | | | | Technically as soon as Redis 64 bit gets proper support for loading collections and/or DBs with more than 2^32 elements, the 32 bit version should be modified in order to check if what we read from rdbLoadLen() overflows. This would only apply to huge RDB files created with a 64 bit instance and later loaded into a 32 bit instance.
* | sds: don't check for impossible string size in 32 bit systems.antirez2016-09-011-0/+3
| |