Графит + Дженкинс Уровень работы Метрики - PullRequest
0 голосов
/ 08 сентября 2018

Я пытаюсь получить метрики для каждой отдельной работы в Jenkins (у меня есть 100 с лишним вакансий).

Используя InfluxDB, я могу получить множество метрик (, например: номер сборки, сообщение о состоянии сборки, последняя успешная сборка, имя проекта и т. Д. ) для каждой сборки в каждом задании.

Я пытаюсь получить аналогичные метрики, используя Graphite на Jenkins, но я не смог найти способ сделать это.

Плагины, используемые на Jenkins:

  1. https://wiki.jenkins.io/display/JENKINS/InfluxDB+Plugin

  2. https://wiki.jenkins.io/display/JENKINS/Metrics+Graphite+Plugin

  3. https://wiki.jenkins.io/display/JENKINS/Prometheus+Plugin

Любая помощь приветствуется, спасибо:)

1 Ответ

0 голосов
/ 10 сентября 2018

TL; DR: можно было бы сделать, но, похоже, для этого потребуется работа, которую никто не взял на себя, которую я могу найти, и выясняется, что в целом эта особенность графита не должна использоваться чрезмерно, потому что графит кажется, не хранит его эффективно (хотя использование Jenkins кажется очень разумным)


Код для графического плагина довольно прост:

https://github.com/jenkinsci/metrics-graphite-plugin/blob/master/src/main/java/jenkins/metrics/impl/graphite/PluginImpl.java#L69

По-видимому, графит поддерживает метаданные начиная с версии 0.9.9 (очевидно, 6.10.11) (я не полностью осознавал это): https://graphite.readthedocs.io/en/latest/events.html

Но эти документы, по-видимому, подразумевают, что они отделены от фактических зарегистрированных метрик, поэтому похоже, что плагину потребуется сделать два запроса для добавления этих метаданных. Можно добавить это в плагин, но это, вероятно, значительно замедлит любой оператор журнала, использующий эту функцию.

Кроме того, библиотека , которую она использует , не поддерживает эти метаданные, насколько я могу судить, поэтому добавление этой функциональности, вероятно, должно быть выполнено с нуля.

Теги - еще одна особенность графита, которая, по-видимому, на самом деле редко применяется в библиотеках / плагинах, но также может быть изучена

...