diff --git a/commands/pilosa-cruncher/cruncher.go b/commands/pilosa-cruncher/cruncher.go index deab217f3..70769042e 100644 --- a/commands/pilosa-cruncher/cruncher.go +++ b/commands/pilosa-cruncher/cruncher.go @@ -16,6 +16,7 @@ var ( ) func main() { + defer log.Flush() exitStatus, err := panicwrap.BasicWrap(panicHandler) if err != nil { // Something went wrong setting up the panic wrapper. Unlikely, @@ -46,6 +47,6 @@ func main() { func panicHandler(output string) { // output contains the full output (including stack traces) of the // panic. Put it in a file or something. - log.Warn("The child panicked:\n\n", output) + log.Critical("The child panicked:\n\n", output) os.Exit(1) } diff --git a/core/etcd.go b/core/etcd.go index 302510ac6..406181580 100644 --- a/core/etcd.go +++ b/core/etcd.go @@ -4,6 +4,7 @@ import ( "errors" "fmt" log "github.com/cihub/seelog" + "os" "pilosa/config" "pilosa/db" "pilosa/util" @@ -31,10 +32,12 @@ func (self *TopologyMapper) Setup() { if ok && ee.ErrorCode == 100 { // node does not exist resp, err = self.service.Etcd.CreateDir(db_path, 0) if err != nil { - log.Warn(err) + log.Critical(err) + os.Exit(-1) } } else { - log.Warn(err) + log.Critical(err) + os.Exit(-1) } } //need to lock the world @@ -395,7 +398,8 @@ func (self *ProcessMapper) getnode(u *util.GUID) *Node { func crash_on_error(err error) { if err != nil { - log.Warn(err) + log.Critical(err) + os.Exit(-1) } } diff --git a/core/service.go b/core/service.go index 3c9e8b6f5..836c7f7c0 100644 --- a/core/service.go +++ b/core/service.go @@ -93,11 +93,14 @@ func (service *Service) init_id() { id = util.RandomUUID() if err != nil { log.Critical("problem generating uuid") + os.Exit(-1) + } } else { id, err = util.ParseGUID(id_string) if err != nil { log.Critical("Service id not valid:", id_string) + os.Exit(-1) } } service.Id = &id diff --git a/transport/tcp.go b/transport/tcp.go index 1b2e98d93..dcaccddb6 100644 --- a/transport/tcp.go +++ b/transport/tcp.go @@ -5,6 +5,7 @@ import ( "fmt" log "github.com/cihub/seelog" "net" + "os" "pilosa/config" "pilosa/core" "pilosa/db" @@ -130,7 +131,8 @@ func (self *TcpTransport) listen() { port_string := fmt.Sprintf(":%d", self.port) l, e := net.Listen("tcp", port_string) if e != nil { - log.Warn("Cannot bind to port! ", self.port) + log.Critical("Cannot bind to port! ", self.port) + os.Exit(-1) } for { conn, err := l.Accept() diff --git a/util/statd.go b/util/statd.go index 571ea3b56..a65b4c9ab 100644 --- a/util/statd.go +++ b/util/statd.go @@ -20,8 +20,8 @@ var ( ) func init() { - timer = make(chan args, 100) - count = make(chan string, 100) + timer = make(chan args, 32768) + count = make(chan string, 32768) end = make(chan bool) stat_config := config.GetStringDefault("statsd_server", "127.0.0.1:8125") log.Warn("New Stats", stat_config) @@ -31,6 +31,7 @@ func init() { select { case ci := <-timer: stats.Gauge(ci.stat, ci.delta, ci.rate) + stats.Timing(ci.stat, ci.delta, ci.rate) case stat := <-count: stats.Inc(stat, 1, 1.0) case <-end: @@ -44,7 +45,8 @@ func init() { func SendTimer(stat string, delta int64) { pstat := "pilosa." + stat - timer <- args{pstat, delta, 1.0} + milli := delta / time.Millisecond + timer <- args{pstat, milli, 1.0} } func SendInc(stat string) { pstat := "pilosa." + stat