ultra hacks to make debug handler work in proxy

This commit is contained in:
Asim Aslam 2019-12-02 14:55:35 +00:00
parent 3356b83f24
commit 91e9c0cb62
3 changed files with 19 additions and 13 deletions

View File

@ -7,8 +7,8 @@ import (
"time"
"github.com/micro/go-micro/debug/log"
proto "github.com/micro/go-micro/debug/proto"
"github.com/micro/go-micro/server"
)
var (
@ -46,7 +46,12 @@ func (d *Debug) Stats(ctx context.Context, req *proto.StatsRequest, rsp *proto.S
return nil
}
func (d *Debug) Logs(ctx context.Context, req *proto.LogRequest, stream proto.Debug_LogsStream) error {
func (d *Debug) Logs(ctx context.Context, stream server.Stream) error {
req := new(proto.LogRequest)
if err := stream.Recv(req); err != nil {
return err
}
var options []log.ReadOption
since := time.Unix(req.Since, 0)
@ -90,7 +95,7 @@ func (d *Debug) Logs(ctx context.Context, req *proto.LogRequest, stream proto.De
return nil
}
func (d *Debug) sendRecord(record log.Record, stream proto.Debug_LogsStream) error {
func (d *Debug) sendRecord(record log.Record, stream server.Stream) error {
metadata := make(map[string]string)
for k, v := range record.Metadata {
metadata[k] = v

View File

@ -16,8 +16,6 @@ import (
"github.com/micro/go-micro/server"
"github.com/micro/go-micro/util/log"
"github.com/micro/go-micro/util/wrapper"
pb "github.com/micro/go-micro/debug/proto"
)
type service struct {
@ -143,9 +141,12 @@ func (s *service) Stop() error {
func (s *service) Run() error {
// register the debug handler
pb.RegisterDebugHandler(s.opts.Server,
s.opts.Server.Handle(
s.opts.Server.NewHandler(
handler.DefaultHandler,
server.InternalHandler(true))
server.InternalHandler(true),
),
)
// start the profiler
// TODO: set as an option to the service, don't just use pprof

View File

@ -5,7 +5,6 @@ import (
"context"
"sync"
proto "github.com/micro/go-micro/debug/proto"
"github.com/micro/go-micro/debug/handler"
"github.com/micro/go-micro/proxy"
"github.com/micro/go-micro/server"
@ -40,10 +39,11 @@ func (s *Server) ServeRequest(ctx context.Context, req server.Request, rsp serve
func New(name string, p proxy.Proxy) *Server {
// only register this once
once.Do(func() {
proto.RegisterDebugHandler(
server.DefaultServer,
server.DefaultRouter.Handle(
server.DefaultRouter.NewHandler(
handler.DefaultHandler,
server.InternalHandler(true),
),
)
})