Detailed Plugin Usage Statistics

Hi there,

Is it possible to hook into more detailed information regarding plugin usage?

For instance when you release a plugin you are able to see the daily installs; However I'd like to see more detailed information such as daily un-installs, average usage time, java versions, IntelliJ versions, etc.

IntellIJ also supports a `productivity guide` section which seems to track a lot of detailed information too. I imagine I can add new features to this using the EP `productivityFeaturesProvider`.
However as a plugin developer, will I have access to this information from the user in some form?

Cheers,
Alan

10 comments

For most of the information you've mentioned, we're simply not gathering any statistics. For example, plugin uninstalls aren't reported to our servers. Average usage time is quite meaningless for most of the plugins.

At the moment, we have no plans to expose any additional statistics to plugin developers.

0

Dmitry,

regarding this issue, has something changed in the last 2 years? I would like to know if it is now possible to gain some insight into which features are used the most by the users of my plugin.
This would be very helpful since it

1. shows which features I should spend most of my free-time for implementing improvements or fixes
2. shows which features should probably be better documented/advertised since people might not know about them

(I'm pretty sure that a majority of the users of my plugin don't use IDEA for anything else. Although, I might be wrong about that)

Cheers
Patrick

0

No, not really. We're quite certain now that we aren't going to share any usage statistics collected through our mechanisms with developers of third-party plugins. On the other hand, you can implement your own usage tracking mechanism (for example, using Google Analytics) - this is fine with us and we're not going to block plugin developers from doing that.

0

Thanks for the clarification Dmitry. I'll probably look into google analytics.

0

For what it's worth, this is what I do with Cursive. I send stats back using a simple POST to my server and I've set up nginx to just log the POST data to a log file. I also have an additional consent UI pane mimicking the existing one.

0

A friend suggested to make a request to a non-existing page on my website, like halirutan.de/plugin-stats/used-$method and then look at the server stats where this will be logged as 404 error :^O

Could you point me to the implementation of that UI popup you are using? This all is not of top importance, but I still consider collecting some stats.

Cheers
Patrick

0

My plugin isn't open source, but the implementation of the config pane is very similar to com.intellij.internal.statistic.configurable.StatisticsConfigurationComponent which I more or less copied with some slight differences.

0

Does that refer only to the data collected by a third party plugin or is it possible to access also the data collected by IntelliJ? Where is Usage Statistics data stored on the local machine? Is it encrypted or is it "readable/parsable"?

0

You can access the statistics stored on your local machine; nothing is encrypted. The data is stored in XML files in the config directory. For more information, you can see the source code of the statistics subsystem here: https://github.com/JetBrains/intellij-community/tree/master/platform/platform-impl/src/com/intellij/internal/statistic

0

Thank you, that was very helpfull.
Since it was not trivial to find the directory on Mac, I am just adding the path here, for others that will want to access it as well: ~/Library/Preferences/IntelliJIdeaXX/options/feature.usage.statistics.xml.

0

Please sign in to leave a comment.