Skip to content

Instantly share code, notes, and snippets.

View jburwell's full-sized avatar

John Burwell jburwell

View GitHub Profile
#!/bin/bash
set -e
MAINT_BRANCH="maint"
create_random_file() {
head -c $2 /dev/urandom > $1
}
@jburwell
jburwell / Account.java
Last active December 23, 2015 02:35
Null Object Pattern Example
public interface Account extends Nullable {
final static NULL = new NullAccount();
String getName();
String getDescription();
// Whether or not this account can be used to conduct business
boolean isActive();
"""
Test Metrics: Executes identical workloads across a multiple clusters with the same configurations.
Usage:
test_metrics.py [--num-runs=<num>] [--start-only=<instance, test case>]
Options:
-h --help Show this message.
--version Show version.
@jburwell
jburwell / Vagrantfile
Created May 28, 2015 16:42
A Vagrant configuration for Docker
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure(2) do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
{default, [
{giddyup_host, "localhost:5000"},
{giddyup_user, "user"},
{giddyup_password, "password"},
{rt_max_wait_time, 600000},
{rt_max_receive_wait_time, 600000},
{rt_retry_delay, 1000},
{rt_harness, rtdev},
{rt_stop_on_fail, false},
{rt_scratch_dir, "/Users/jburwell/tmp/riak-2.0_test_scratch"},
@jburwell
jburwell / keybase.md
Created March 17, 2015 17:29
keybase.md

Keybase proof

I hereby claim:

  • I am jburwell on github.
  • I am jburwell (https://keybase.io/jburwell) on keybase.
  • I have a public key whose fingerprint is 0235 C79E 8CEF 4635 5768 67BD 53DC 9F7E AD87 71BF

To claim this, I am signing this object:

@jburwell
jburwell / collectd.conf.template
Created November 19, 2014 14:34
Riak collectd Configuration Templates
#
# Config file for collectd(1).
# Please read collectd.conf(5) for a list of options.
# http://collectd.org/
#
##############################################################################
# Logging #
#----------------------------------------------------------------------------#
# Plugins which provide logging functions should be loaded first, so log #
@jburwell
jburwell / exometer_stats.json
Created August 6, 2014 21:52
Missing Exometer Stats
{"object_merge":0,"object_merge_total":0,"object_map_merge":0,"object_map_merge_total":0,"object_merge_time_mean":0,"object_merge_time_median":0,"object_merge_time_95":0,"object_merge_time_99":0,"object_merge_time_100":0,"vnode_map_update_time_mean":0,"vnode_map_update_time_median":0,"vnode_map_update_time_95":0,"vnode_map_update_time_99":0,"vnode_map_update_time_100":0,"vnode_gets":2099433,"vnode_gets_total":61899662,"vnode_puts":298254,"vnode_puts_total":8815441,"vnode_index_reads":0,"vnode_index_reads_total":0,"vnode_index_refreshes":0,"vnode_index_refreshes_total":0,"vnode_index_writes":0,"vnode_index_writes_total":0,"vnode_index_writes_postings":0,"vnode_index_writes_postings_total":0,"vnode_index_deletes":0,"vnode_index_deletes_total":0,"vnode_index_deletes_postings":0,"vnode_index_deletes_postings_total":0,"object_map_merge_time_mean":0,"object_map_merge_time_median":0,"object_map_merge_time_95":0,"object_map_merge_time_99":0,"object_map_merge_time_100":0,"node_gets":699813,"node_gets_total":20633221,"
@jburwell
jburwell / 00test_plan.md
Last active August 29, 2015 14:04
Metrics Performance Test Plan

As we review replacing Folsom with Exometer for metrics collection within Riak and Riak Core, we must verify that Exometer's performance overhead is less than or equal to Folsom. We also need to understand the impact of Exometer's measurements as load increases to ensure that its overhead remains constant. In order to measure their respective overhead, Riak will be configured in the following manner to isolate metrics collection operations from other Riak work (e.g. GETs, PUTs, DELETEs, handoffs, etc):

  • Ring size: 32
  • Backend: yessir
  • AAE, Search, Yokozuna, and Strong Consistency disabled

In order to measure overhead, one instance of Basho Bench (b_b) executed the metrics_punisher configuration attached to this gist against a Riak cluster. A second instance of b_b will simultaneously execute the stats_query configured attached to this gist against the cluster querying the stats endpoint. Based on discussions with Rus

@jburwell
jburwell / Vagrantfile
Created July 28, 2014 18:03
packagecloud.io missing curl error
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
$script = <<SCRIPT
wget https://packagecloud.io/install/repositories/basho/riak/script.deb -O /tmp/basho-repo.sh
bash /tmp/basho-repo.sh
SCRIPT