magento / magento2-phpstorm-plugin

PHPStorm Plugin for Magento 2
Open Software License 3.0
436 stars 102 forks source link

Add statistic to the project #812

Open bohdan-harniuk opened 2 years ago

bohdan-harniuk commented 2 years ago

Is your feature request related to a problem? Please describe.

It would be great to have analytics connected to the project.

It can give us few benefits that I can see from my point of view at the moment:

Describe the solution you'd like (*)

Add triggers for the existent features that would indicate how many times each feature is used by unique user of the plugin. Send this data to any of the statistic gathering dashboards. Review and analyse it about once per week/month.

When a feature is used we need to send the data with the name of the feature, context where it is used (for an example, plugin generation can be called as from the context menu, as from the generation context menu - CMD+N, so we need to identify from where each feature is called or just to name it differently), anonymised unique user identifier (without any personal information).

Action Name Action Identifier Send Data
Create a new Magento 2 Module create.module {uuid: <uuid>, event: create.module}
Create a new Observer for this event create.observer {uuid: <uuid>, event: create.observer}
Create a new Plugin for this method create.plugin.general {uuid: <uuid>, event: create.plugin.general}
Generate after plugin (generation menu) create.plugin.after {uuid: <uuid>, event: create.plugin.after}
Generate around plugin (generation menu) create.plugin.around {uuid: <uuid>, event: create.plugin.around}
Generate before plugin (generation menu) create.plugin.before {uuid: <uuid>, event: create.plugin.before}
Create a new Magento 2 View Model create.view_model.general {uuid: <uuid>, event: create.view_model.general }
Inject a new View Model for this block create.view_model.block {uuid: <uuid>, event: create.view_model.block}
Create a new Magento 2 Block create.block {uuid: <uuid>, event: create.block}
Create a new Magento 2 CLI Command create.cli_command {uuid: <uuid>, event: create.cli_command}
Create a new Magento 2 Controller create.controller {uuid: <uuid>, event: create.controller}
Create a new Magento 2 Cron Group create.cron.group {uuid: <uuid>, event: create.cron.group}
Create a new Magento 2 Cron Job create.cron.job {uuid: <uuid>, event: create.cron.job}
Create a new Magento 2 models create.model.default {uuid: <uuid>, event: create.model.default}
Create a new Magento 2 Data Model create.model.data_transfer_object {uuid: <uuid>, event: create.model.data_transfer_object}
Create a new declarative schema XML create.db.schema {uuid: <uuid>, event: create.db.schema}
Create a new Magento 2 email template create.email.template {uuid: <uuid>, event: create.email.template}
Create a new Magento 2 Entity create.entity.general {uuid: <uuid>, event: create.entity.general}
Create a new Magento 2 GraphQL Resolver create.graph_q_l.resolver {uuid: <uuid>, event: create.graph_q_l.resolver}
Create a new Magento 2 Message Queue create.rabbit_message_queue.message {uuid: <uuid>, event: create.rabbit_message_queue.message}
Create a new Magento 2 UI Component Form create.ui.form {uuid: <uuid>, event: create.ui.form}
Create a new Magento 2 UI Component Grid create.ui.grid {uuid: <uuid>, event: create.ui.grid }
Create a new Magento 2 Web API XML declaration create.web_api.declaration {uuid: <uuid>, event: create.web_api.declaration}
Create a new Magento 2 Web API interface create.web_api.interface {uuid: <uuid>, event: create.web_api.interface}
Create a new Magento 2 Preference create.preference {uuid: <uuid>, event: create.preference}
Override this template in a project theme create.template.override {uuid: <uuid>, event: create.template.override}
Run The Upgrade Compatibility Tool run.uct.general {uuid: <uuid>, event: create.uct.general}

We expect to get the output like this:

Screenshot 2021-11-30 at 11 11 41

Where:

Additional context

We need to find out how to gather such information:

m2-assistant[bot] commented 2 years ago

Hi @bohdan-harniuk. Thank you for your report. To speed up processing of this issue, make sure that you provided sufficient information.

Add a comment to assign the issue: @magento I am working on this


Iamwade commented 2 years ago

@magento I am working on this

coderimus commented 2 years ago

Hello @sivaschenko @bohdan-harniuk @Iamwade From my point of view as this project started as an open-source it is logical to share any kind of statistic with the community of engineers. What do you think about storing such info and representing it in the biterg.io service?

bohdan-harniuk commented 2 years ago

Hello, @coderimus!

It seems, that the biterg.io service is used for the GitHub/GitLab projects analytic data visualisation, not for the event based data analytics visualisation. https://bitergia.com/resources/#usecases

Could you please help me with understanding how we can use the biterg.io service to proceed with the desired data visualisation?

Regards,