ultra hacks to make debug handler work in proxy
This commit is contained in:
parent
3356b83f24
commit
91e9c0cb62
@ -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
|
||||
|
11
service.go
11
service.go
@ -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,
|
||||
handler.DefaultHandler,
|
||||
server.InternalHandler(true))
|
||||
s.opts.Server.Handle(
|
||||
s.opts.Server.NewHandler(
|
||||
handler.DefaultHandler,
|
||||
server.InternalHandler(true),
|
||||
),
|
||||
)
|
||||
|
||||
// start the profiler
|
||||
// TODO: set as an option to the service, don't just use pprof
|
||||
|
@ -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,
|
||||
handler.DefaultHandler,
|
||||
server.InternalHandler(true),
|
||||
server.DefaultRouter.Handle(
|
||||
server.DefaultRouter.NewHandler(
|
||||
handler.DefaultHandler,
|
||||
server.InternalHandler(true),
|
||||
),
|
||||
)
|
||||
})
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user