man-group / dapr-sidekick-dotnet

Dapr Sidekick for .NET - a lightweight lifetime management component for Dapr
Apache License 2.0
175 stars 21 forks source link

Why Newtonsoft Json.NET dependency is required? #18

Closed fbridger closed 3 years ago

fbridger commented 3 years ago

First of all, I want to say thanks for open sourcing DAPR Sidekick. I am very interested in leveraging it.

One question that I have is related to the Newtonsoft Jason.NET library and understand why this is required. I have used this library a lot in the past but I've found a lot of benchmarks comparing different Json libraries and it seems that it's performance is one the main disadvantages.

Thanks again to all of the MAN Group team members for developing this package.

badgeratu commented 3 years ago

When we run daprd we pass the parameter --log-as-json so that all log messages emitted by the Dapr sidecar can be easily parsed and re-generated as structured logging methods via the Microsoft.Extensions.Logging framework. We use Newtonsoft.Json purely for this parsing purpose. I agree that for very high-performance scenarios the newer System.Text.Json is much more efficient with far fewer allocations, for what we're doing though I think it's a reasonable choice.

fbridger commented 3 years ago

Thanks Simon for your reply!

BTW: I loved your presentation about how MAN Group evolve their platform in the DAPR Community Call.