-
-
Notifications
You must be signed in to change notification settings - Fork 28
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
Browser tab changes not applied in real-time #171
Comments
Hi @velios. Glad you find FlowStorm useful! Yes this is not a bug, but how things work. When you start the JVM with "-Dclojure.storm.instrumentOnlyPrefixes=io.pedestal.interceptor.chain" then all functions in namespaces with that prefix will be compiled instrumented, so you can record them. When you start withtout the prefix, then all those functions will be compiled normally (like with the official compiler) and just adding a prefix with the browser doesn't change anything, just tells the compiler that whatever gets compiled from now on under those namespaces should be instrumented. What you need after adding the prefix is to reload those namespaces. Take a look at the |
Thx for answer, @jpmonettas I've read the documentation, but there are still questions that I have. Using the same example that I started with above. The general list of namespaces lists all the namespaces that I loaded into the project, and not just those that I asked to instrument. And it really gives me the ability to follow the documentation and reload the namespaces that I want to track. But at the same time it gives a feeling of some inconsistency. Because If this is due to performance issues, then for those who are not concerned about this, it is possible to make a configuration key so that there is no dialog window every time. Like this. This seems to be a different proposal, but functionality like on next screenshot also feels valuable. I drew examples only for the add pattern, but the same capabilities seem to be in demand for delete patterns. And it seems like it would provide useful visual feedback to better control what will be recorded next time. |
I think your proposal is great, I have also considered it. I just haven't implemented it yet because namespaces needs to be loaded in topological order, so I'll have to include or replicate some of the code in tools.namespace or clj-reload. |
I just implemented this to use clj-reload when it is on the classpath but just figured that clj-reload can currently only reload namespaces from files coming from your sources and not from libraries. My idea was to show an alert after changing a prefix saying that FlowStorm can automatically reload the namespaces for you if clj-reload was on the classpath. This way we don't need to maintain code for topologically re-loading namespaces (which also need ns dependencies parsing) and reloading inside FS codebase. |
Hello. First of all thx for amazing tool and that you find time to develop the project so dynamically.
Recently browser tab in ClojureStorm mode was improved. But the changes in this tab are not applied and I would like to know if this is intended. Let me give an example.
Let's say I created a simple pedestal application using the official guide.
lein new pedestal-service the-next-big-server-side-thing
Now I launch the application with the storm enabled.
Now i follow instructions and run app with
(def dev-serv (run-dev))
and visit example routelocalhost:8080
and seeHello world
message. All fine.My browser tab looks like this
Now I realized that I want to see the interceptors that work when the handler is called. I know I'm interested in the function
io.pedestal.interceptor.chain/try-f
, so i add nsio.pedestal.interceptor.chain
in browser tabAnd now my browser tab looks like this
But if i visit example route
localhost:8080
again I still don't see the functiontry-f
. Actually no one function from addedio.pedestal.interceptor.chain
ns. I tried pressing all the refresh buttons I saw, but nothing changed.But if before the start i add configuration
"-Dclojure.storm.instrumentOnlyPrefixes=io.pedestal.interceptor.chain"
and compeletly refresh project. All works as expected andtry-f
captured by flowstorm.The same is true for
skip ns
andskip regex
functionality.The text was updated successfully, but these errors were encountered: