Skip to content
This repository has been archived by the owner on May 2, 2024. It is now read-only.

Support developer telemetry via Plugin API v1 #21

Closed
kdmccormick opened this issue Jan 27, 2022 · 5 comments
Closed

Support developer telemetry via Plugin API v1 #21

kdmccormick opened this issue Jan 27, 2022 · 5 comments

Comments

@kdmccormick
Copy link
Collaborator

kdmccormick commented Jan 27, 2022

Context

Old context, from edX: The edX Arch team has invested time in implementing Devstack metrics, with the intention of rolling most of that effort into the Tutor system. Current metrics enable us to understand which Devstack commands are used and how long each of them take.

We would like to avoid adding telemetry to Tutor itself. However, the a plugin against the Tutor API v1 should be capable of collecting data and exporting it.

Acceptance

The v1 Plugin API should provide hooks for 2U to implement some sort of developer experience tracking mechanism if that's something they still want to do.

@regisb
Copy link

regisb commented Feb 4, 2022

I strong dislike all uses of telemetry, especially in open source products. So I would very much like to avoid adding telemetry to tutor itself. Measuring user engagement should be possible by creating a dedicated plugin that will parse sys.argv and report to some backend -- but I'd rather not be the one to implement that...

@kdmccormick
Copy link
Collaborator Author

I agree. I would not want to be the one to implement this either. I am inclined to close this issue (it's from a while ago).

If a request for telemetry comes in again from a stakeholder, perhaps then we point them to the plugin API so that they could build a tracking plugin for their own employees to install.

@regisb for my enrichment, does the current plugin API provide a way to intercept every tutor ... command invocation? I thought they were limited to handling tutor <plugin_name> .... Are you thinking they'd just import tutor.cli and monkey-patch from there?

@kdmccormick kdmccormick added the discovery Pre-work to determine if an idea is feasible label Feb 14, 2022
@kdmccormick kdmccormick changed the title As a maintainer of Tutor and employer of Tutor users, I want to measure developer experience of Tutor. Could telemetry be added via the plugin API? Feb 14, 2022
@kdmccormick kdmccormick changed the title Could telemetry be added via the plugin API? Support developer telemetry via Plugin API v1 Feb 14, 2022
@kdmccormick kdmccormick added plugin and removed old labels Feb 14, 2022
@kdmccormick
Copy link
Collaborator Author

Blocked by the Plugin API v1 TEP, tracked here: #32.

@kdmccormick kdmccormick moved this from Ungroomed to Blocked in Tutor DevEnv Adoption (OLD BOARD) Feb 14, 2022
@kdmccormick kdmccormick removed for:plugin-api-v1 discovery Pre-work to determine if an idea is feasible labels Feb 22, 2022
@kdmccormick
Copy link
Collaborator Author

The hooks framework, as proposed in https://github.com/overhangio/tutor/pulls/599, would certainly lend itself towards a telemetry plugin. Additional Actions would need to be exposed by the Plugins V1 API, such as SERVICE_STARTED, SERVICE_STOPPED, IMAGES_PULLED, etc.

@kdmccormick
Copy link
Collaborator Author

Gonna close this. If 2U would like to implement telemetry, and the existing hooks weren't sufficient, then they could propose additional hooks.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants