mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
add id to all call invocation logs
This commit is contained in:
@@ -180,6 +180,7 @@ func (a *agent) Submit(callI Call) error {
|
||||
|
||||
call := callI.(*call)
|
||||
ctx := call.req.Context()
|
||||
|
||||
span, ctx := opentracing.StartSpanFromContext(ctx, "agent_submit")
|
||||
defer span.Finish()
|
||||
|
||||
@@ -485,8 +486,7 @@ func (s *hotSlot) exec(ctx context.Context, call *call) error {
|
||||
}
|
||||
|
||||
// link the container id and id in the logs [for us!]
|
||||
// TODO go is broke idk why logrus.Fields doesn't work
|
||||
common.Logger(ctx).WithField("container_id", s.container.id).WithField("id", call.ID).Info("starting call")
|
||||
common.Logger(ctx).WithField("container_id", s.container.id).Info("starting call")
|
||||
|
||||
// swap in the new id and the new stderr logger
|
||||
s.container.swap(stderr)
|
||||
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/fnproject/fn/api/common"
|
||||
"github.com/fnproject/fn/api/id"
|
||||
"github.com/fnproject/fn/api/models"
|
||||
"github.com/go-openapi/strfmt"
|
||||
@@ -250,6 +251,10 @@ func (a *agent) GetCall(opts ...CallOpt) (Call, error) {
|
||||
c.ds = a.ds
|
||||
c.mq = a.mq
|
||||
|
||||
ctx, _ := common.LoggerWithFields(c.req.Context(),
|
||||
logrus.Fields{"id": c.ID, "app": c.AppName, "route": c.Path})
|
||||
c.req = c.req.WithContext(ctx)
|
||||
|
||||
return &c, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -10,8 +10,10 @@ import (
|
||||
|
||||
"github.com/fnproject/fn/api"
|
||||
"github.com/fnproject/fn/api/agent"
|
||||
"github.com/fnproject/fn/api/common"
|
||||
"github.com/fnproject/fn/api/models"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
type runnerResponse struct {
|
||||
@@ -60,6 +62,10 @@ func (s *Server) serve(c *gin.Context, appName, path string) {
|
||||
|
||||
// TODO we could add FireBeforeDispatch right here with Call in hand
|
||||
model := call.Model()
|
||||
{ // scope this, to disallow ctx use outside of this scope. add id for handleErrorResponse logger
|
||||
ctx, _ := common.LoggerWithFields(c.Request.Context(), logrus.Fields{"id": model.ID})
|
||||
c.Request = c.Request.WithContext(ctx)
|
||||
}
|
||||
|
||||
if model.Type == "async" {
|
||||
// TODO we should push this into GetCall somehow (CallOpt maybe) or maybe agent.Queue(Call) ?
|
||||
|
||||
Reference in New Issue
Block a user