mszenher/zipkin-tracer — pull request #1 by AimeeRose (2013-12-23 05:18:40+00:00)
Title: Add process tracer and specs

Zipkin::ProcessTracer class with methods ```#configure``` alias to ```#initialize``` in ```RackHandler``` and ```#start_new_trace``` alias to ```#call``` in RackHandler, should be called with a block of work.

```#trace_child``` and ```#trace_internal``` provide tracing of a block of work for as new spans inheriting from a parent span or not, respectively. Both use current process trace id.

```
ZipkinTracer::ProcessTracer
#configure
initializes a trace
requires a service name
requires a scribe server
#configure_sample_rate
when declared
when greater than 1.0 or less than 0.0
raises an error
raises an error
when between 0.0 and 1.0
returns the declared value
when undeclared
uses a default rate
trace processes
#start_new_trace
instantiates a new TRACEID
instantiates a new SPANID
pushes the trace id to the trace
yields to the block and stops tracing once the block is finished
#trace_internal_process
uses the current TRACEID as TRACEID
does not use a PARENTID
#trace_child
uses the current TRACEID as TRACEID
updates PARENTID using the current SPANID
creates a new SPANID
pushes the trace id to the trace
yields to the block and stops tracing once the block is finished
```