spring-cloud-sleuth と GCP サポートをアプリケーションに統合しました。負荷がかかると、アプリは再起動されるまでスパンの報告を突然停止します。
私が見ることができる唯一のトレース関連のログは、次の例外です:
Unexpected error flushing spans java.lang.IllegalStateException: timeout waiting for onClose. timeoutMs=5000, resultSet=false
at zipkin2.reporter.stackdriver.internal.AwaitableUnaryClientCallListener.await(AwaitableUnaryClientCallListener.java:49)
at zipkin2.reporter.stackdriver.internal.UnaryClientCall.doExecute(UnaryClientCall.java:50)
at zipkin2.Call$Base.execute(Call.java:380)
at zipkin2.Call$Mapping.doExecute(Call.java:237) at zipkin2.Call$Base.execute(Call.java:380)
at zipkin2.reporter.AsyncReporter$BoundedAsyncReporter.flush(AsyncReporter.java:285)
at zipkin2.reporter.AsyncReporter$Flusher.run(AsyncReporter.java:354)
at java.base/java.lang.Thread.run(Unknown Source)
この例外は、トレースが終了する頃に数回発生し、その後は二度と発生しません (何かが永久に壊れたかのように)。
spring-cloud-gcp の問題 (こちらを参照) を読みましたが、これは少数の実行スレッドに関連している可能性があるため、スレッド数を (4 から) 8 に構成済みです。