azist / azos

A to Z Sky Operating System / Microservice Chassis Framework
MIT License
213 stars 29 forks source link

DCF tracing #855

Closed itadapter closed 1 year ago

itadapter commented 1 year ago

We may not auto log DCF in every message as it is very expensive. We can add a combination of the following:

  1. DCF.ctors - maybe add auto logging as MessageType.TraceCallFlow. Log Call flow body as a separate log message, but this would log it every time which is expensive
  2. Add extra TraceCallFlow message in case of component writelog(error) to emit logging in case of exceptions only. Must prevent error logging flood with boolean flag
  3. AppComp.WriteLog - use CallFlow.ID for rel if passed-in rel is null
  4. Consider DCF.Compress() - to get rid of intermediary steps in beteen
  5. Consider NOT serializing null/default json fields in DCF