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

Mergeup #2886

Merged
merged 17 commits into from
Oct 2, 2024
Merged

Mergeup #2886

merged 17 commits into from
Oct 2, 2024

Conversation

donoghuc
Copy link
Member

@donoghuc donoghuc commented Oct 2, 2024

No description provided.

puppetlabs-jenkins and others added 17 commits September 3, 2024 12:43
…bian-12-x-86-64-builds-and-testing-for-puppetserver-in-7-x

(SERVER-3390): Updated ezbake build version to support debian-12-x86_64 build for puppetserver in 7.x
We have triggered a nasty performance regression in the JVM[1] with some
of our Regex usage in the MetricsPuppetProfiler (particularly the
PuppetDB Patterns). Regardless of the performance regression, our Regex
usage is unnecessary and unneedlessly expensive (I believe it was
taking up ~3% of samples from JFR in an unrelated support escalation).

This patch moves from iterating over all metrics and doing regex matches
to pull out only those that match the desired pattern when metrics are
requested, to caching references to desired metrics in maps as they are
recorded. The keys of these maps should be the same as the match group
from the previous patterns.
Based on discussion with Austin Blatt these additional metrics could be
helpful in diagnosing issues with PuppetDB.

> The reports.process, catalog.save and facts.save metrics would likely be
> useful as they are the highest level metrics closest to "how long did the
> puppetdb terminus take?".
>
> puppetdb.payload.format would be good to include as well in case our json
> conversion is slow. We do have to do some string manipulation there, so it
> isn't just Ruby's to_json function.
>
> I'm less familiar with the terminus's use for querying, but I imagine
> puppetdb.query, puppetdb.facts.find, and puppetdb.facts.search would be
> good to include assuming those terminus functions are used somewhere.
clj-kondo version 2024.03.05 fixed a bug which suppressed the
:java-static-field-call warning in some cases. Linting is now erroring
in CI and this patch should resolve that issue.
(PE-38408) Remove expensive Regexes from puppet profiler Java impl
…pts-acceptance

(maint) Do not install docs and pin to 3.x when installing r10k in acceptance
* upstream/7.x:
  (maint) Do not install docs and pin to 3.x when installing r10k in acceptance
  (maint) update submodule versions and agent pin
  (maint) Address new clj-kondo issues
  (PE-38408) Add additional PuppetDB metrics
  (PE-38408) Remove expensive Regexes from puppet profiler Java impl
  (SERVER-3390): Updated ezbake build version to support debian-12-x86_64 build for puppetserver in 7.x
  (maint) update submodule versions and agent pin
  (maint) update submodule versions and agent pin
  (maint) update submodule versions and agent pin
  (maint) update submodule versions and agent pin
  (maint) update submodule versions and agent pin
  (maint) update submodule versions and agent pin
  (maint) update submodule versions and agent pin
@donoghuc donoghuc requested review from a team as code owners October 2, 2024 17:40
@justinstoller justinstoller merged commit 833484a into puppetlabs:main Oct 2, 2024
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants