in src/Library/Library.cs [124:158]
public void Run()
{
if (this.IsRunning)
{
throw new InvalidOperationException(
FormattableString.Invariant($"Can't Run the library, it's already running"));
}
try
{
try
{
this.istioMixerInput?.Start();
}
catch (Exception e)
{
Diagnostics.LogError(
FormattableString.Invariant($"Could not start the gRPC Istio's Mixer channel. {e.ToString()}"));
throw new InvalidOperationException(
FormattableString.Invariant($"Could not start the gRPC Istio's Mixer channel. {e.ToString()}"), e);
}
}
catch (Exception)
{
// something went wrong, so stop both inputs to ensure consistent state
this.EmergencyShutdownAllInputs();
throw;
}
this.IsRunning = true;
Task.Run(async () => await this.TraceStatsWorker().ConfigureAwait(false));
}