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

Asks users to activate TLC execution statistics #114

Closed
lemmy opened this issue Oct 21, 2019 · 21 comments
Closed

Asks users to activate TLC execution statistics #114

lemmy opened this issue Oct 21, 2019 · 21 comments
Assignees
Labels
enhancement New feature or request good first issue Good for newcomers
Milestone

Comments

@lemmy
Copy link
Member

lemmy commented Oct 21, 2019

The Toolbox nudges users to activate execution statistics to guide TLC development (see screenshot below). Please add similar functionality to the vscode TLA+ editor. Technically, a file called esc.txt is dropped into ~/.tlaplus/ whose first line is either a random identifier, "RANDOM_IDENTIFIER", or "NO_STATISTICS" (see https://github.com/tlaplus/tlaplus/blob/master/tlatools/src/util/ExecutionStatisticsCollector.java).

Screenshot from 2019-10-21 13-18-55

The statistics are publicly available: https://exec-stats.tlapl.us/tlaplus.csv

@alygin
Copy link
Contributor

alygin commented Oct 22, 2019

Sure.

@alygin alygin added enhancement New feature or request good first issue Good for newcomers labels Oct 22, 2019
@alygin alygin added this to the v1.3.0 milestone Oct 22, 2019
@lemmy
Copy link
Member Author

lemmy commented Oct 23, 2019

The "toolbox" field has been modeled as a boolean but should change to indicate the actual IDE. I suggest we make this a sub-parameter of TLC's -tool parameter, i.e. -tool 2 causes TLC to report 2 in exec stats.

@alygin
Copy link
Contributor

alygin commented Nov 30, 2019

@lemmy, the implementation is in the v1.3 pre-release.

As for the TLC -tool option, I agree that it would be nice to distinguish various TLA+ IDE's by providing different values. But wouldn't a string value (like "toolbox", "vscode-tlaplus", or some kind of mnemonic, like "TB" or "VSC") be more convenient?

@lemmy
Copy link
Member Author

lemmy commented Nov 30, 2019

Would it be difficult for the extension to set a Java system property (e.g. -Dtlc2.TLC.tool=vscode)?

@alygin
Copy link
Contributor

alygin commented Nov 30, 2019

Not difficult at all.
Does TLC already handle this property?

@lemmy
Copy link
Member Author

lemmy commented Nov 30, 2019

No, but I have to think about how to best migrate the current reporting (evolve existing DB schema, ...).

Given that this is not a user but a developer feature, it doesn't make sense to make it available through the command line. Let's thus use -Dtlc2.TLC.toolName=vscode which TLC will ignore until support is implemented.

@lemmy
Copy link
Member Author

lemmy commented Nov 30, 2019

Actually, I like "tlc2.TLC.ide" better.

@lemmy
Copy link
Member Author

lemmy commented Dec 1, 2019

Added with tlaplus/tlaplus@fe63662. I suggest you include the TLC nightly build in the final 1.3.0 extension release?

Metabase:
Screenshot from 2019-11-30 16-08-32

@alygin
Copy link
Contributor

alygin commented Dec 1, 2019

I suggest you include the TLC nightly build in the final 1.3.0 extension release?

Is it stable enough?

alygin added a commit that referenced this issue Dec 1, 2019
@lemmy
Copy link
Member Author

lemmy commented Dec 1, 2019

Yes, TLC development is very conservative.

@alygin
Copy link
Contributor

alygin commented Dec 1, 2019

Added to the latest v1.3 pre-release.

@lemmy
Copy link
Member Author

lemmy commented Dec 1, 2019

There is a typo "plublicly" in the settings label: Allows you to send the TLC usage statistics to the plublicly available database. You can find more details on what is shared here.

Do you want me to create an exec-stats.md file in the https://github.com/tlaplus/tlaplus repo that lists the shared information?

@lemmy
Copy link
Member Author

lemmy commented Dec 1, 2019

Should the drop-down in the settings show if a user has opted-in or not?? Here it shows "doNotShare" even though I have a ~/.tlaplus/esc.txt file with an identifier.

@alygin
Copy link
Contributor

alygin commented Dec 1, 2019

There is a typo

Thanks, fixed.

Do you want me to create an exec-stats.md?

Yeah, I think it would be more appropriate to have a page like this in the tlaplus/tlaplus repo, since it is the source of truth for such information. I'll change the link as soon as such page is available.

Should the drop-down in the settings show if a user has opted-in or not?

Actually, I thought I couldn't update configuration settings programmatically, but it looks like there's a method for that, so yes, I'll do that.

@lemmy
Copy link
Member Author

lemmy commented Dec 1, 2019

@alygin
Copy link
Contributor

alygin commented Dec 1, 2019

All fixes are available in the latest pre-release.

@alygin
Copy link
Contributor

alygin commented Jan 4, 2020

@lemmy, I think I'll stick to the stable tla2tools.jar bundled with the extension. Using nightlies will be possible after implementing #134.

@alygin
Copy link
Contributor

alygin commented Jan 5, 2020

Just released v1.3 with statistics sharing, so I'm closing the issue. Please, feel free to reopen it if sharing doesn't work as expected.

I'll put the -Dtlc2.TLC.ide=vscode option back when tla2tools 2.15 is released.

@alygin alygin closed this as completed Jan 5, 2020
@lemmy
Copy link
Member Author

lemmy commented Jan 5, 2020

There is no harm in passing -Dtlc2.TLC.ide=vscode to older TLC releases because it is ignored.

@alygin
Copy link
Contributor

alygin commented Jan 5, 2020

Yeah, I noticed that, but still decided to remove the option because some people look at the full TLC command line and they may be confused by this previously unknown option that actually does nothing at the moment.

@lemmy
Copy link
Member Author

lemmy commented May 30, 2020

The link to the file explaining the content of the stats has changed to: https://github.com/tlaplus/tlaplus/blob/master/tlatools/org.lamport.tlatools/src/util/ExecutionStatisticsCollector.md

lemmy pushed a commit to lemmy/vscode-tlaplus that referenced this issue Feb 19, 2021
lemmy pushed a commit to lemmy/vscode-tlaplus that referenced this issue Apr 5, 2021
lemmy pushed a commit to lemmy/vscode-tlaplus that referenced this issue Apr 5, 2021
lemmy pushed a commit to lemmy/vscode-tlaplus that referenced this issue Apr 5, 2021
lemmy pushed a commit to lemmy/vscode-tlaplus that referenced this issue Apr 5, 2021
lemmy pushed a commit to lemmy/vscode-tlaplus that referenced this issue Apr 5, 2021
lemmy pushed a commit to lemmy/vscode-tlaplus that referenced this issue Jun 10, 2021
lemmy pushed a commit to lemmy/vscode-tlaplus that referenced this issue Jun 10, 2021
lemmy pushed a commit to lemmy/vscode-tlaplus that referenced this issue Jun 10, 2021
lemmy pushed a commit to lemmy/vscode-tlaplus that referenced this issue Jun 10, 2021
lemmy pushed a commit to lemmy/vscode-tlaplus that referenced this issue Jun 10, 2021
lemmy pushed a commit to lemmy/vscode-tlaplus that referenced this issue Aug 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Development

No branches or pull requests

2 participants