OrleansDashboard icon indicating copy to clipboard operation
OrleansDashboard copied to clipboard

Log stream and HostSelf = false

Open expertsender-marcinsynak opened this issue 2 years ago • 2 comments

Is it possible to get Log Stream if dashboard is hosted in a separate application? I'm guessing not, since all examples explicitly hide it using HideTrace = true option.

I tried enabling it on both silo and dashboard app but all I get is the header and "You are connected to the Orleans Dashboard log streaming service" message.

When dashboard is hosted together with silo, log stream works without issues.

The Tracing feature is simply plugging into the logging provider of the dashboard host and forwards any logging messages to clients. If this dashboard is running in a separate process then indeed, this will not log the silo output.

Although its certainly possible to implement this feature and it should be quite trivial to do so, I would vote in favor of getting rid of this tracing feature altogether. It's great for demo purposes but there are some serious concerns with it, such as it buffering any log messages for each connected client. e.g. one bad actor could therefore hypothetically trigger an SystemOutOfMemory exception

So yes, you could get this feature to work but you'll have to customize the DashboardLogger intance, I would not recommend to do so as there are plenty of other tools available to monitor the output of your processes.

koenbeuk avatar Oct 24 '21 19:10 koenbeuk

I have the same opinion. It is a great feature for debugging but not very useful for production as you only get the stream from one random node anyway.

But I would keep it like this and make HideTrace=true the default.

SebastianStehle avatar Oct 24 '21 20:10 SebastianStehle