elasticsearch/logstash — pull request #1405 by colinsurprenant (2014-05-26 22:24:59+00:00)
Title: replace json parsers with JrJackson and Oj

I did benchmarks for both a *typical* event json document of 1.3Kb and a huge 45Kb document as the ones seen in Concur's use-case.

1.3Kb json doc: from ~16k/sec to ~30k/sec
45Kb json doc : from 850/sec to ~3.5k/sec

my bechmark is using a generator input config
```ruby
input {
generator {
message => "stdin"
count => 500000
codec => json
}
}
output {
stdout {
codec => dots
}
}
```
and TPS measured using
```sh
cat file.json | (sleep 10; cat -) | bin/logstash -f bench.conf | pv -Wbar > /dev/null
```

Here are the changes summary:
- new `LogStash::Json` class as abstraction for everything json
- new `LogStash::Timestamp` class to solve a Ruby Time + JrJackson serialization problem and cleanup everything timestamp related
- refactored/cleanedup `LogStash::Inputs::Elasticsearch` input and added a basic spec