Allow using of external plugins with environment variables

Change-Id: I4960fc1b7f263d875ff7b56fb26293d8da375a80
Reviewed-on: http://review.couchbase.org/26545
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Only allocate iops after instance

If an error occurs between iops initialization and input validation,
the iops structure may leak

Change-Id: I67357c8320ccea4df8bcb3c73414ecca02d987ba
Reviewed-on: http://review.couchbase.org/26546
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
[cbc] Fix observe output formatting

Change-Id: I24be98a67929ab6b0c211cb697da933b30c9ee7a
Reviewed-on: http://review.couchbase.org/26575
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Allow to set SET/GET ratio

Change-Id: Ied37b6138c7a5430773b0ac467a5a22631e1e3b4
Reviewed-on: http://review.couchbase.org/26746
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Allow to set minimum and maximum size of payload

Change-Id: I910d576aaed9b9474001ff4b28d8fdb6798c2190
Reviewed-on: http://review.couchbase.org/26748
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
GET/SET Ratio is in integer percents (fixes helpstring)

Change-Id: I81a3f59ce5966693f43655ed4b887f168b5a363b
Reviewed-on: http://review.couchbase.org/26750
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Let pillowfight to be a dumb client

Change-Id: I1ef7421160b21b897349a61cdb6af9972883c414
Reviewed-on: http://review.couchbase.org/26753
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
pillowfight: timestamp messages in timings mode

Change-Id: I6ab6648535a88ad659a73f353099041ab3a9aae2
Reviewed-on: http://review.couchbase.org/26773
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Simplify build script compile src/gethrtime.c for all platforms

Instead of having a lot of ifs in the Makefile.am etc
we can just compile the file for all platforms and protect
the content with an ifndef in the file

Change-Id: I03d9c77c39b4e29b4c83cf68911a0ace97d44c23
Reviewed-on: http://review.couchbase.org/26775
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
Do not call connect for dumb pillowfight

Change-Id: Ie4d8b0121d9c8b0ef7f39db7644128efad6d9369
Reviewed-on: http://review.couchbase.org/26780
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Always use fixed notation for timestamps in pillowfight

Change-Id: I7384b59c44f87bbc8ccae88cc7eac042488365c5
Reviewed-on: http://review.couchbase.org/26781
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Allow to execute any 'cbc-XXX' binary in PATH like 'cbc XXX'

Change-Id: I78ed98d27c95f49f24f83191b7bdc86e22c94e1e
Reviewed-on: http://review.couchbase.org/26784
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Make pillowfight part of the package

Change-Id: Id3d2b2eee3255fa23e347d015ef300a99c06af57
Reviewed-on: http://review.couchbase.org/26785
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
CCBC-209 Add support for building with CMake on win32

Building with CMake is still in an experimental state.

Change-Id: Id0abc2ab05fe1c82a154776052a9b47145251774
Reviewed-on: http://review.couchbase.org/26795
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
Add support for building pillowfight on win32

Currently it is a single threaded implementation

Change-Id: I1c9f71085a25c2235aa72ebd7d21ac9a1ef5bf72
Reviewed-on: http://review.couchbase.org/26817
Tested-by: Trond Norbye <trond.norbye@gmail.com>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Allow db.c to exit gracefully on receiving a signal

Some profilers (such as google profiler) won't generate a report if the
application was terminated abnormally

Change-Id: I3cd67363100859dabe17506fa1d8bb41b96a5c53
Reviewed-on: http://review.couchbase.org/26912
Tested-by: Mordechai Nunberg <mnunberg@haskalah.org>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Don't create custom iops in db

This allows us to test against other event loops using the default
environment variables for such things.

Change-Id: I065b51a0d7c7037c26ca4cba94630408939bdf1d
Reviewed-on: http://review.couchbase.org/26913
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Mordechai Nunberg <mnunberg@haskalah.org>
CCBC-213: Unify connection routines

The basic idea is to unify the structures for the connections used for
all our objects which depend on their own TCP connections. This is a
work in progress, though it does pass all unit tests without issue
(though integration tests are needed). Constructive comments
appreciated.

The history here was largely borrowed from another rewrite

Change-Id: Iffa9e7b0d8787ae42731f2716d9dc4e9f8f8a314
Abstract io notification requests

This basically wraps the update_event functions

Change-Id: I35f0b00ebf75e182cf4545a36f7b602ebf1b0cd2
Unify read/write functions and refactor them from parsers

- Now our parsing code is sectioned out from our I/O functions. Parsers
  work with a ringbuffer (or similar) structure, and the I/O functions
  are unified in the 'io/readwrite.c' file.

Change-Id: I3e0c87372dc308b99f6aa2de3c96284cbf6b42f1