-
-
Notifications
You must be signed in to change notification settings - Fork 40
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
[FEATURE] Add execution statistics to Apalache #288
Comments
It would not be a problem for us to ping the INRIA server. However, the users might get worried that we are spying on them. Would it be more reasonable to have a joint announcements list, so people would be asked to subscribe to it when they use TLC, Apalache, the VScode extension, etc? |
Right. That makes sense in the Toolbox. We probably can add an opt-in option in the command-line. But I doubt anybody would trigger it :-) |
Prompting users to opt-in is the task of IDEs such as the Toolbox, VSCode, .... Like TLC, Apalache would simply report stats iff |
How about the following. We isolate all the statistics collection in a well-defined script called @shonfeder , what is your opinion? |
We will also have to add a page explaining what we collect and how we do that. The large part is already written by @lemmy: https://github.com/tlaplus/tlaplus/blob/master/tlatools/org.lamport.tlatools/src/util/ExecutionStatisticsCollector.md |
The approach sounds OK to me, but I don't know anything about this stuff and I'm not sure how the script will work to monitor the stats we want to collect. I've never implemented or facilitated any end-user telemetry before. Wrapping stuff in additional scripts doesn't seem ideal to me, tho I get that this is for the sake of isolating the Having a dedicated file for setting one flag seems non-ideal. Should we just have a more general configuration file with this as our first option? edited to correcter terminology |
What is the reason to re-write execution statistics/telemetry data collection? I created the issue, assuming that you would re-use the existing ExecutionStatisticsCollector and we change the wording in the Toolboxes (Eclipse & VSCode) to include Apalache and TLC. If you develop your own telemetry implementation, it is probably best to also separate the backend. Btw. I very much value my privacy, but I think the term "spying" shouldn't be used in this context. It is telemetry data, users have to explicitly opt-in, and the collected data is publicly shared--quite different to how spies operate. |
I don't think we have to invent our own telemetry. Just call yours in a different instance of java inside the script. |
IMO this leads to an infrastructure question: Do you expect the Toolboxes to launch Apalache via the |
I don't think so. We have the class called |
No, the Toolbox (Eclipse & VScode) simply creates the file |
I will check, whether we can quickly plug-in telemetry and add the opt-in option. |
See #415 |
@lemmy the opt-in message in Toolbox is talking about TLC. Could you also add a line that this opt-in works for Apalache (and probably other TLA+ tools) too? Otherwise, it may be seen as an unexpected behavior. |
It's perhaps best to replace |
Are all other items of the list going to apply? Total number of cores and cores assigned to TLC |
So far, here is what I managed to report:
We only enable/disable statistics in the apalache command line. There is no choice between ID and no ID. But if the ID is disabled in Toolbox, your code will respect it. |
This one is done. |
So far, I don't see Apalache stats in the data. |
There should be a few entries when I tried to run it on my computer. Apart from that, it is not released yet. |
It is showing up here: https://exec-stats.tlapl.us/ Can it be a parsing problem? E.g., our version string is longer than that of TLC. |
To keep the backend simple, can you please also report: result.put("osVersion", System.getProperty("os.version"));
result.put("jvmOffHeapMem", "0"); |
Added. Just have to wait until PR is built. |
There is at least one entry at exec-stats now and I see the apalache entry! |
Closing the issue. |
I and others have been setting |
Why would you collect stats for the github runs? |
Why not? It tells if users run our tools as part of automation and we can easily exclude the datapoints via |
@konnov asked during the TLA+ Community Event about worldwide TLA+ user numbers. TLC happens to collect execution statistics that give us a rough approximate. Does Apalache want to integrate it execution statistics collection as well? I'm happy to share all the technical details if sending statistics to INRIA is not a no-go. What's collected (for TLC) is listed at https://github.com/tlaplus/tlaplus/blob/master/tlatools/org.lamport.tlatools/src/util/ExecutionStatisticsCollector.md and the data is publicly shared.
slightly related: tlaplus/vscode-tlaplus#114
The text was updated successfully, but these errors were encountered: