On Fri, Aug 17, 2018 at 7:57 AM Daniel Beck <[email protected]> wrote:
>> Do you plan to implement this data collection in the core directly or in a 
>> plugin?
>
> Core (or core module).

Fine for the initial example of collecting system properties, but in
general this sort of collection will need to make use of plugin code.
For example, Pipeline developers might like to know things such as how
many `FlowNode`s are created per build on overage. This is currently
sent to `support-core` by `workflow-cps` but we would like to gather
this sort of thing anonymously. (Note that `support-core` already
includes an anonymization system.) I see no straightforward way to
gather such a metric without explicit support from one of the Pipeline
plugins. That implies an _API_ defined in core for transmitting data
but _implementations_ possibly spread across core and various plugins.

And this just highlights a fundamental question: how exactly do you
plan to collect this kind of information during a “specific time
frame”? You can add the collector logic to a core weekly release, or a
plugin release, and enable the server side for that statistic at the
same time; and then later turn off the server and remove the collector
logic from the next component release. But users update software on
whatever schedule they like, so lots of systems will not have the
right collector logic in place during the window in which it is
allowed to send data. Will that not bias the results toward
installations that update frequently? Do you care?

>> we need to review conflicts with JEP-308 (Telemetry API for evergreen)
>
> The client side of that is outside Jenkins itself, while mine would be 
> inside. This alone means it's practically independent.

Well, in terms of current implementation, but we would like to align
these things if at all possible so that developers of a given
statistic can collect it both from Evergreen systems or from (more or
less up to date) traditional installations as a single data stream.
After all, what you are describing is very much one of the key goals
of Evergreen (if not JEP-308 specifically):

https://github.com/jenkinsci/jep/blob/master/jep/300/README.adoc#connected

> ensure that Jenkins project developers receive useful error and usage 
> telemetry to drive further improvements in Jenkins

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr3j36t52_wKdJL3MGfXCB-wuNvU3JcLxwc3Ufb7XVFtqQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to