Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve Error Logging During Connection Establishment #514

Open
matifali opened this issue Dec 16, 2024 · 0 comments
Open

Improve Error Logging During Connection Establishment #514

matifali opened this issue Dec 16, 2024 · 0 comments
Labels
upstream An upstream issue of JetBrains or other dependency.

Comments

@matifali
Copy link
Member

matifali commented Dec 16, 2024

Problem Description

When establishing a connection via the Coder Registry module that uses the URI handler or Coder JetBrains Gateway Plugin wizard, users are presented with insufficient error logs when the connection fails. This makes it difficult to troubleshoot and identify the root cause. A few example errors are given below.

Image

Image

Current Issues:

The logs can be collected from the Collect Logs button and suggest repeated retries but do not guide users on the next steps.

java.lang.Throwable: Failed to retrieve IDEs (attempt 4; will retry in 49718 ms)
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:376)
at com.coder.gateway.views.steps.CoderWorkspaceProjectIDEStepView$init$1$ides$2.invoke(CoderWorkspaceProjectIDEStepView.kt:242)
at com.coder.gateway.views.steps.CoderWorkspaceProjectIDEStepView$init$1$ides$2.invoke(CoderWorkspaceProjectIDEStepView.kt:206)
at com.coder.gateway.util.RetryKt.suspendingRetryWithExponentialBackOff(Retry.kt:62)
at com.coder.gateway.util.RetryKt$suspendingRetryWithExponentialBackOff$1.invokeSuspend(Retry.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at kotlinx.coroutines.internal.SoftLimitedDispatcher$Worker.run(SoftLimitedDispatcher.kt:125)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:608)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:873)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:763)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:750)
  • Lack of detailed error messages to guide users.
  • Logs are not surfaced or accessible during the connection process.

Desired Solution

Implement streaming logs that provide visibility into the connection process and allow copying logs. Similar to how the VSCode remote does.

Improving the error messaging and log visibility will:

  • Reduce user frustration by making failures more transparent.
  • Speed up troubleshooting for both users and support teams.
  • Enhance reliability and trust in the platform’s connection processes.

Upstream Issue: https://youtrack.jetbrains.com/issue/GTW-10251/Unactionable-Error-messages

@matifali matifali added the upstream An upstream issue of JetBrains or other dependency. label Dec 16, 2024
@matifali matifali changed the title Improve Error Messaging and Logging During Connection Establishment Improve Error Logging During Connection Establishment Dec 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
upstream An upstream issue of JetBrains or other dependency.
Projects
None yet
Development

No branches or pull requests

1 participant