#!/usr/bin/env ruby
require 'thrift'
require 'json'
$:.unshift File.join(File.dirname(__FILE__), '../lib/fluent/plugin/thrift')
require 'fb303_types'
require 'fb303_constants'
require 'facebook_service'
require 'scribe_types'
require 'scribe_constants'
require 'scribe'

host = 'localhost'
port = 1463

socket = Thrift::Socket.new host, port.to_i
transport = Thrift::FramedTransport.new socket
protocol = Thrift::BinaryProtocol.new transport, false, false
client = Scribe::Client.new protocol
transport.open

# 2011/09/02 Kazuki Ohta <kazuki.ohta@gmail.com>
# explicitly specify TCP_NODELAY for low-latency communication.
raw_sock = socket.to_io
raw_sock.setsockopt Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1

entry = LogEntry.new
entry.category = 'debug.hoge'
entry.message = {'a' => 'b'}.to_json
p client.Log([entry])

transport.close
