Giter Site home page Giter Site logo

Comments (7)

aviramha avatar aviramha commented on May 25, 2024 1

It could be that we're attached to the debugger as well, making it a bit slower.
I'd try to use the extension to see if it helps.

from mirrord.

aviramha avatar aviramha commented on May 25, 2024

Thanks for reporting this! This seems to happen because of idle_timeout. The internal proxy component (part that runs on your machine) aggregates "layer" (the part that loads into your local process) connections. When there are no connections for a said duration, it cleans up. I assume the issue is that sometimes the reload time > idle_timeout which means that until the new connection is established the internal proxy already dies.
You can control that timeout by setting

"internal_proxy": {"idle_timeout": 10}

The timeout is in seconds, and by default it is 5 seconds. Can you try increasing it and seeing if it happens again?

from mirrord.

vanduc2514 avatar vanduc2514 commented on May 25, 2024

Actually I increased the idle_timeout to 1200 (20 minutes) but the issue can still be reproduced. It usually happens if I have a compilation error in my VSCode IDE when writing some code. I use autosave feature of VSCode and the IDE compile the code everytime the file is saved automatically.

Also, the performance in VSCode is greatly impact, much slower, compare to using mirrord exec bash then run the Quarkus application in the terminal. So I guess because Quarkus is executed using launch configuration in VSCode, so the application is executed by mirrord but from a process that VSCode created. VSCode can control mirrord from its spawned process, hence it can kill mirrord execution.

I haven't tried with manul saving (manual compilation) in VSCode but I doubt it will work, since there is less synchronization happening.

from mirrord.

aviramha avatar aviramha commented on May 25, 2024

Can you attach the same log as above reproduced with the new idle timeout please?

from mirrord.

vanduc2514 avatar vanduc2514 commented on May 25, 2024

Sure, this is the trace log

internal_proxy.log

And the configuration is

"internal_proxy": {
        "log_destination": "/tmp/internal_proxy.log",
        "log_level": "mirrord=trace",
        "idle_timeout": 1200
}

from mirrord.

aviramha avatar aviramha commented on May 25, 2024

I see it fails on accessing /workspace because it tries to read it from remote.
Can you try to add it to local path?

{
  "feature": {
    "fs": {
      "mode": "read",
      "local": ["/workspace.+"]
    }
  }
}

from mirrord.

vanduc2514 avatar vanduc2514 commented on May 25, 2024

I tried with the above configuration, Quarkus process did not get killed this time but the performance of VSCode is much slower or freeze for code completion, suggestion, compare to not using that configuration. Sometimes the VSCode debugger is even terminated while I write some code.

Increasing the memory of Java language server helped with the slowing / freezing of VSCode (not entirely) but I don't need to do that if I use mirrord to open a new shell and run Quarkus in development mode within that shell.

Do you think using the mirrord VSCode extension can help with this issue ?

from mirrord.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.