Skip to content

Instantly share code, notes, and snippets.

View dkuebric's full-sized avatar

Dan Kuebrich dkuebric

View GitHub Profile
@dkuebric
dkuebric / gist:1529242
Created December 28, 2011 19:16
multi-mechanize/reddit: forms, cookies, and comments
import mechanize
import urllib
BASE_URL = 'http://my-reddit'
THREAD = BASE_URL + '/r/reddit/particular-thread'
class Transaction(object):
def __init__(self):
self.user = 'redditor'
self.pass = 'password'
@dkuebric
dkuebric / client.py
Created January 22, 2016 18:19
AppNeta TraceView - Tracing Example - ZeroMQ Client
import oboe
import pickle
import time
import zmq
def instrumented_rpc(socket, message):
""" Example instrumented RPC method."""
keys = {'IsService': True, 'RemoteURL': 'tcp://localhost:5556'}
oboe.log_entry('RPC-Client', keys=keys)
@dkuebric
dkuebric / server.py
Created January 22, 2016 18:19
AppNeta TraceView - Tracing Example - ZeroMQ Server
import oboe
import pickle
import time
import zmq
def run_server():
print('Distributed tracing server: receive request, sleep, reply')
zmq_context = zmq.Context()
socket = zmq_context.socket(zmq.REP)
@dkuebric
dkuebric / solarium patch.php
Last active December 19, 2015 01:48
quick patch to provide tracing coverage to Solarium
<?php
public function execute($request, $endpoint)
{
if (is_callable('oboe_log')) {
oboe_log('Solarium', 'entry', array('IsService'=>'1'));
}
$client = $this->getZendHttp();
$client->resetParameters();
@dkuebric
dkuebric / trace.py
Created May 13, 2013 18:49
starting tracing in python code
import oboe
from oboeware import loader
# load monkey-patched instrumentation for supported modules
loader.load_inst_modules()
# say this is the entry point for your mod_python code
def handle_request(headers, **other_stuff):
# start a trace based on incoming X-Trace HTTP header from Apache/nginx if available
oboe.start_trace('mod_python', xtr=headers['X-Trace'])
@dkuebric
dkuebric / gist:5301243
Created April 3, 2013 13:33
sampling stats
import math
import matplotlib
import matplotlib.pyplot as plt
def confidence_for_sampling(pop_size=1000, con_level=0.99, sample_rate=0.1):
if con_level not in (0.99, 0.95):
raise Exception("don't know those zvals")
zval = 1.96 if con_level == 0.95 else 2.58
variance = (pop_size * sample_rate) * (1 - sample_rate)
@dkuebric
dkuebric / LICENSE.txt
Created April 1, 2013 14:25
LICENSE.txt
* This software includes portions of Javassist from
http://www.csg.ci.i.u-tokyo.ac.jp/~chiba/javassist/ under the Apache
License, Version 2.0. A copy of the Apache License is included with
this distribution in the file Apache-2.0.txt.
* This software includes portions of the Google Guava Libraries from
http://code.google.com/p/guava-libraries/ under the Apache License,
Version 2.0. A copy of the Apache License is included with this
distribution in the file Apache-2.0.txt.
@dkuebric
dkuebric / gist:5079655
Created March 4, 2013 03:15
RUM wrapper
/**
* Wraps RUM methods using reflection.
* (works even if RUM classes are unavailable.)
*/
import java.lang.reflect.Method;
public class RUMWrapper {
@dkuebric
dkuebric / rg_dyno_sim.R
Last active December 14, 2015 00:09 — forked from toddwschneider/rg_dyno_sim.R
updated to generate+plot series comparing different #s of workers/node
run_simulation = function(router_mode = "naive",
reqs_per_minute = 9000,
simulation_length_in_minutes = 5,
dyno_count = 100,
choice_of_two = FALSE,
power_of_two = FALSE,
unicorn_workers_per_dyno = 0,
track_dyno_queues = FALSE) {
if(!(router_mode %in% c("naive", "intelligent"))) {
@dkuebric
dkuebric / gist:4540626
Last active December 11, 2015 03:49
test gist
import requests
requests.get("WABSITE 3.0")