func (p *monitoringProcessorCollect) Process(seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { args := MonitoringCollectArgs{} if err = args.Read(iprot); err != nil { iprot.ReadMessageEnd() x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) oprot.WriteMessageBegin("collect", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush() return false, err } iprot.ReadMessageEnd() result := MonitoringCollectResult{} var retval Metrics var err2 error t0 := time.Now().UnixNano() if retval, err2 = p.handler.Collect(args.Metrics); err2 != nil { switch v := err2.(type) { case *ServiceNotAvailable: thrift.Metrics.Incr("Monitoring.collect.server.exceptions.*ServiceNotAvailable") result.ServiceUnavailable = v case *UnknownMetric: thrift.Metrics.Incr("Monitoring.collect.server.exceptions.*UnknownMetric") result.UnknownMetric = v default: thrift.Metrics.Incr("Monitoring.collect.server.success") x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing collect: "+err2.Error()) oprot.WriteMessageBegin("collect", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush() thrift.Metrics.Incr("Monitoring.collect.server.exceptions.application_error") return true, err2 } } else { thrift.Metrics.Incr("Monitoring.collect.server.success") result.Success = retval } t1 := time.Now().UnixNano() thrift.Metrics.Timing("Monitoring.collect.server", t1-t0) if err2 = oprot.WriteMessageBegin("collect", thrift.REPLY, seqId); err2 != nil { err = err2 } if err2 = result.Write(oprot); err == nil && err2 != nil { err = err2 } if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { err = err2 } if err2 = oprot.Flush(); err == nil && err2 != nil { err = err2 } if err != nil { return } return true, err }
func (p *baseServiceProcessorAliveSince) Process(seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { args := BaseServiceAliveSinceArgs{} if err = args.Read(iprot); err != nil { iprot.ReadMessageEnd() x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) oprot.WriteMessageBegin("aliveSince", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush() return false, err } iprot.ReadMessageEnd() result := BaseServiceAliveSinceResult{} var retval int64 var err2 error t0 := time.Now().UnixNano() if retval, err2 = p.handler.AliveSince(); err2 != nil { x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing aliveSince: "+err2.Error()) oprot.WriteMessageBegin("aliveSince", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush() thrift.Metrics.Incr("BaseService.aliveSince.server.exceptions.application_error") return true, err2 } else { thrift.Metrics.Incr("BaseService.aliveSince.server.success") result.Success = &retval } t1 := time.Now().UnixNano() thrift.Metrics.Timing("BaseService.aliveSince.server", t1-t0) if err2 = oprot.WriteMessageBegin("aliveSince", thrift.REPLY, seqId); err2 != nil { err = err2 } if err2 = result.Write(oprot); err == nil && err2 != nil { err = err2 } if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { err = err2 } if err2 = oprot.Flush(); err == nil && err2 != nil { err = err2 } if err != nil { return } return true, err }
func (p *BaseServiceProcessor) Process(iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { name, _, seqId, err := iprot.ReadMessageBegin() if err != nil { return false, err } if processor, ok := p.GetProcessorFunction(name); ok { return processor.Process(seqId, iprot, oprot) } iprot.Skip(thrift.STRUCT) iprot.ReadMessageEnd() x11 := thrift.NewTApplicationException(thrift.UNKNOWN_METHOD, "Unknown function "+name) oprot.WriteMessageBegin(name, thrift.EXCEPTION, seqId) x11.Write(oprot) oprot.WriteMessageEnd() oprot.Flush() return false, x11 }