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

Telemetry Plugin support in DevWorkspaces (workspaces started with the DevWorkspace engine) #20090

Closed
ibuziuk opened this issue Jul 7, 2021 · 18 comments
Labels
area/dashboard area/devworkspace-operator area/telemetry Issues related to Che telemetry feature kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. severity/P1 Has a major impact to usage or development of the system. sprint/current status/analyzing An issue has been proposed and it is currently being analyzed for effort and implementation approach
Milestone

Comments

@ibuziuk
Copy link
Member

ibuziuk commented Jul 7, 2021

Is your task related to a problem? Please describe.

As part of this task, we need to make sure that the telemetry plugin that is possible to enable for Che 7 workspaces can be re-used, or need to be adapted, for the DevWorkspaces - https://www.eclipse.org/che/docs/che-7/extensions/telemetry/

Describe the solution you'd like

It should be possible to enable telemetry plugin for all DevWorkspaces running on a cluster.
Currently, in Che 7 plugin the can be enabled via

spec:
  server:
    customCheProperties:
      CHE_WORKSPACE_DEVFILE_DEFAULT__EDITOR_PLUGINS: 'eclipse/che-machine-exec-plugin/7.32.0,https://your-web-server/meta.yaml'

Describe alternatives you've considered

N/A

Additional context

telemetry - https://www.eclipse.org/che/docs/che-7/extensions/telemetry/
Devfile v2 and IDE plug-ins - https://che.eclipseprojects.io/2021/06/23/@florent.benoit-devfile-v2-and-ide-plug-ins.html

@ibuziuk ibuziuk added kind/task Internal things, technical debt, and to-do tasks to be performed. area/telemetry Issues related to Che telemetry feature area/devworkspace-operator labels Jul 7, 2021
@che-bot che-bot added the status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. label Jul 7, 2021
@ibuziuk
Copy link
Member Author

ibuziuk commented Jul 7, 2021

@sleshchenko I have created this issue in order to start the discussion regarding telemetry for the new type of workspaces. Basically, before the DevWorkspace becomes a default engine we need to make sure that the telemetry plugin can be enabled for this type of workspace. In case you already have some input on the telemetry https://www.eclipse.org/che/docs/che-7/extensions/telemetry/ for DevWorskapce, please share it in the issue

@ibuziuk ibuziuk added severity/P1 Has a major impact to usage or development of the system. and removed status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. labels Jul 7, 2021
@ibuziuk ibuziuk changed the title Telemetry for DevWorkspaces (workspaces started with the DevWorkspace operator) Telemetry for DevWorkspaces (workspaces started with the DevWorkspace engine) Jul 7, 2021
@ibuziuk ibuziuk added kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. status/analyzing An issue has been proposed and it is currently being analyzed for effort and implementation approach and removed kind/task Internal things, technical debt, and to-do tasks to be performed. severity/P1 Has a major impact to usage or development of the system. labels Jul 7, 2021
@flacatus flacatus added the severity/P1 Has a major impact to usage or development of the system. label Jul 8, 2021
@amisevsk
Copy link
Contributor

Is there a sample (testing) meta.yaml or similar for the telemetry plugin? If there is, then I can help in preparing a devfile 2.0-formatted version of it (as a DevWorkspaceTemplate CR), which we can use to start testing telemetry in DevWorkspaces.

A URL that serves the DWT maps fairly nicely onto how plugins are defined for DevWorkspaces. For example, it's possible to add the Che-Theia editor to a DevWorkspace using the yaml below:

spec:
  template:
    components:
      - name: theia
        plugin:
          uri: https://che-plugin-registry-main.surge.sh/v3/plugins/eclipse/che-theia/next/devfile.yaml

a similar approach could be used to get the telemetry plugin.

@amisevsk amisevsk changed the title Telemetry for DevWorkspaces (workspaces started with the DevWorkspace engine) Telemetry Plugin support in DevWorkspaces (workspaces started with the DevWorkspace engine) Jul 21, 2021
@sleshchenko
Copy link
Member

The current blocker for this to make it live - provision telemetry plugin info as an environment variable into all other containers since devfile 2.x spec does not provide such an ability.
Possible ways:

  1. using variable mechanism from devfile 2.x spec.

pros:

  • it's mechanism from devfile 2.x spec;

cons:

  • all components which needs telemetry info, should be adapted to:
    • be ready that value can be empty;
    • inject it into their containers with using of variable;
  1. introduce a special attribute on devworkspace level, which would behave as workspaceEnv from devfile 1.x, if it's present in devfile - it's propagated to all the containers of dev workspace;

pros:

  • Che components do not need to be adapted;

cons:

  • it's devworkspace specific feature we may introduce while it may make sense to keep close to devfile 2.x as much as possible.

@amisevsk please review and let me know if there is a place for inaccuracy or I missed anything.

@sleshchenko
Copy link
Member

it's done from DWO point of view.
Now dashboard needs to support default plugin from URL and maybe should provision it for existing DW instances?

@dkwon17
Copy link
Contributor

dkwon17 commented Dec 6, 2021

Hello, after a discussion with @benoitf , the default plugins that are specified using a v2 devfile uri can be added to new devworkspaces by creating a devworkspace template from the v2 devfile, and referencing the template on newly created devworkspaces.

The devworkspace templates should be managed on the che-operator side, is that right? Every time the CR is updated with new default plugins, the devworkspace templates would be created accordingly by the che-operator?

Also, should the default plugins be also injected on workspace start too, instead of only on workspace create?

@amisevsk
Copy link
Contributor

amisevsk commented Dec 6, 2021

For managing default plugin templates, we can do what the Web Terminal Operator does in order to avoid maintaining DWTs across the cluster. If we create DevWorkspaceTemplates in a known namespace (WTO uses its current namespace) and add the annotation

controller.devfile.io/allow-import-from: "*"

then these DWTs can be used in any workspace on the cluster via

spec:
  template:
    components:
      - name: my-default-plugin
        plugin:
          kubernetes:
            name: k8s-dwt-object-name
            namespace: k8s-dwt-namespace

@benoitf
Copy link
Contributor

benoitf commented Dec 21, 2021

moving issue to 7.42 milestone as this issue is part of the endgame

@l0rd
Copy link
Contributor

l0rd commented Feb 3, 2022

Moving to 7.44 as 7.43 has been released.

@ibuziuk
Copy link
Member Author

ibuziuk commented Mar 9, 2022

@dkwon17 going to close the issue since the initial plugin is contributed to the https://github.com/che-incubator/devworkspace-telemetry-woopra-plugin

Documentation is tracked as part of the https://github.com/che-incubator/devworkspace-telemetry-woopra-plugin

@l0rd
Copy link
Contributor

l0rd commented Mar 14, 2022

@dkwon17 @ibuziuk do we need to backport something to 7.44 to be able to use the plugin in hosted che once we switch to devworkspace? I am assuming we don't as the plugin will be downloaded from the upstream registry but asking to make sure I am not wrong.

@dkwon17
Copy link
Contributor

dkwon17 commented Mar 14, 2022

@l0rd , yes, we don't need to backport anything.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/dashboard area/devworkspace-operator area/telemetry Issues related to Che telemetry feature kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. severity/P1 Has a major impact to usage or development of the system. sprint/current status/analyzing An issue has been proposed and it is currently being analyzed for effort and implementation approach
Projects
None yet
Development

No branches or pull requests

9 participants