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

Difference between two flow thread runs #27

Open
jpmonettas opened this issue Jun 21, 2022 · 2 comments
Open

Difference between two flow thread runs #27

jpmonettas opened this issue Jun 21, 2022 · 2 comments
Labels
enhancement New feature or request

Comments

@jpmonettas
Copy link
Member

Idea posted by @Folcon on clojurians slack. Leaving it here because I think it is interesting to explore it in the future:

Not sure if you want to support this, but being able to say, what is the path difference between these two runs, would be interesting.

So my thinking re use-case was when looking at / refactoring code in a library or codebase you have less familiarity with.Right now for example I've been looking at posh:
https://github.com/denistakeda/poshThere's a lot of stuff going on in there and it's doing a fair bit of caching, so figuring out exactly what is happening is non-trivial.
I'm trying to wrap my head around it. So one of the things I've been trying to do is run functions that hit different branches to see how they modify some state.Maybe a view where you can pin two runs and compare them somehow? I'm not sure what the equivalent for diff would be in this context. Or maybe support datafy / nav?One additional thing would be being able to apply a transform to some state, for example if I have a datascript db, I have some idea what subset of state I'm currently tracking, so being able to write something that does that would be awesome.Btw, the ns browser is really helpful =)...Also few issues for me using the existing UI:

The UI seems to have some updating bugs? For example if you right click on something, the right click sticks around until it's clicked on.
Please put the ns of the highlighted function somewhere, maybe next to the run count.
The run number vs count, you probably should inc the run number value, I was going through the count and it took me a few seconds to work out what you were doing as I kept trying to go to the run number displayed on the count [attached image to show what I'm referring to]

@jpmonettas jpmonettas added the enhancement New feature or request label Jun 21, 2022
@Folcon
Copy link

Folcon commented Jul 5, 2022

On a similar vein to this @jpmonettas, but it might be different concept is being able to get a list of keys / symbols etc that flow through the application, potentially mark keys / vars of interest and then collect those somehow to be able to compare runs against each other.

Basically I run some perhaps very complex code, perhaps several times, or different versions of the code as I'm trying to refactor it to improve performance, how can I easily compare different runs?

Hmm, sorry If I'm being vague / slow about this, I need to think about this some more while working on my code to consider this further.

PS: I think this discussion even though it focuses on typing, is super illuminating about gaps around observability in the ecosystem that might be good to think about =)...

@jpmonettas
Copy link
Member Author

Nice, thanks for that discussion link @Folcon .

I have some research in my TODOs list about execution derived types and documentation.
Given we can instrument an entire codebase, we can run functions (tests) to exercise the codebase and sample every function call and return value, then derive approximate types and documentation for every function from what we have sampled.

I'm imaging a process like this, added to CI can automatically generate functions "typed" documentation, with call examples for some 95% of the codebase.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants