Jira (PUP-8024) Only load module translations when necessary
Title: Message Title John Duarte updated an issue Puppet / PUP-8024 Only load module translations when necessary Change By: John Duarte QA Risk Assessment: Needs Assessment No Action Add Comment This message was sent by Atlassian JIRA (v7.7.1#77002-sha1:e75ca93) -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-bugs/JIRA.214593.150714744.9061.1571669401464%40Atlassian.JIRA.
Jira (PUP-8024) Only load module translations when necessary
Title: Message Title Maggie Dreyer updated an issue Puppet / PUP-8024 Only load module translations when necessary Change By: Maggie Dreyer Release Notes: Not Needed Add Comment This message was sent by Atlassian JIRA (v7.0.2#70111-sha1:88534db) -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at https://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/d/optout.
Jira (PUP-8024) Only load module translations when necessary
Title: Message Title Kenn Hussey commented on PUP-8024 Re: Only load module translations when necessary Michael Smith please provide release notes for this issue, if needed. Thanks! Add Comment This message was sent by Atlassian JIRA (v7.0.2#70111-sha1:88534db) -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at https://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/d/optout.
Jira (PUP-8024) Only load module translations when necessary
Title: Message Title Eric Delaney commented on PUP-8024 Re: Only load module translations when necessary After trying to verify that I could produce the problem, I talked with Maggie. The original problem here was that the modules where configuring the config.yaml file incorrectly which caused a slow down. We've ask the modules team to correct the config.yaml file and we've changed the puppet server to not use the config.yaml file at all. So this issue should be addressed. Add Comment This message was sent by Atlassian JIRA (v7.0.2#70111-sha1:88534db) -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at https://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/d/optout.
Jira (PUP-8024) Only load module translations when necessary
Title: Message Title Eric Delaney updated an issue Puppet / PUP-8024 Only load module translations when necessary Change By: Eric Delaney Sprint: Platform Core Grooming KANBAN Add Comment This message was sent by Atlassian JIRA (v7.0.2#70111-sha1:88534db) -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at https://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/d/optout.
Jira (PUP-8024) Only load module translations when necessary
Title: Message Title Eric Delaney updated an issue Puppet / PUP-8024 Only load module translations when necessary Change By: Eric Delaney Sub-team: Coremunity Add Comment This message was sent by Atlassian JIRA (v7.0.2#70111-sha1:88534db) -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at https://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/d/optout.
Jira (PUP-8024) Only load module translations when necessary
Title: Message Title Josh Cooper assigned an issue to Eric Delaney Puppet / PUP-8024 Only load module translations when necessary Change By: Josh Cooper Assignee: Eric Delaney Add Comment This message was sent by Atlassian JIRA (v7.0.2#70111-sha1:88534db) -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at https://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/d/optout.
Jira (PUP-8024) Only load module translations when necessary
Title: Message Title Josh Cooper commented on PUP-8024 Re: Only load module translations when necessary Now that PUP-8026 and PUP-8013 are fixed, let's re-run the benchmark and see if the issues are resolved. Add Comment This message was sent by Atlassian JIRA (v7.0.2#70111-sha1:88534db) -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at https://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/d/optout.
Jira (PUP-8024) Only load module translations when necessary
Title: Message Title Maggie Dreyer commented on PUP-8024 Re: Only load module translations when necessary This might be sufficiently covered by the work for PUP-8026 and PUP-8013. Add Comment This message was sent by Atlassian JIRA (v7.0.2#70111-sha1:88534db) -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at https://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/d/optout.
Jira (PUP-8024) Only load module translations when necessary
Title: Message Title Kenn Hussey updated an issue Puppet / PUP-8024 Only load module translations when necessary Change By: Kenn Hussey Fix Version/s: PUP 5.3.4 Add Comment This message was sent by Atlassian JIRA (v7.0.2#70111-sha1:88534db) -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at https://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/d/optout.
Jira (PUP-8024) Only load module translations when necessary
Title: Message Title Maggie Dreyer updated an issue Puppet / PUP-8024 Only load module translations when necessary Change By: Maggie Dreyer Currently, we attempt to initialize translations machinery for all modules as soon as they are loaded, despite the fact in many contexts we do not need to display any translations (e.g. {{module list}}). We do this even for modules that do not have any translation files or marked strings.We also attempt to cache translations after they're loaded, but not associated with any existing cache lifetimes. So the only way to cause a translation to be reloaded is to restart the process.We should add a function to {{module.rb}} that loads a module's translations, then call it before we think we need module translations to be displayed (e.g. before compilation, or when running a puppet application). We should not load translations for things like file serving, in order to avoid doing unnecessary work. We should see if these optimizations are sufficient to reduce the performance impact before doing anything more drastic.*Notes on decoupling module naming from locales/config.yaml project name*From comment below:{quote}As part of this, we should remove the requirement that the module have metadata (relies on forge_name) and remove the coupling of metadata naming and locales/config.yaml's project_name.{quote}Benchmarks in puppet have shown a non-trivial performance degradation if there is a mismatch between the module's metadata name, and the locales/config.yaml's project_name:With matching names:{code}mkdir -p /var/folders/0_/6qt793gx6w706cq1q9kc0w78gq/T/many_modules20171009-2426-1l58rtz user system totalrealRun 13.70 0.46 4.17 ( 4.171436)Run 22.84 0.13 2.97 ( 2.974983)Run 32.89 0.12 3.01 ( 3.016188)Run 42.91 0.13 3.04 ( 3.036231)Run 52.77 0.15 2.92 ( 2.932649)Run 62.80 0.12 2.92 ( 2.910116)Run 73.24 0.11 3.35 ( 3.359197)Run 82.76 0.15 2.91 ( 2.909707)Run 93.26 0.15 3.41 ( 3.414169)Run 10 3.69 0.14 3.83 ( 3.835340)> total:30.86 1.66 32.53 ( 32.560017)> avg: 3.086000 0.166000 3.253000 ( 3.256002){code}with mismatched names:{code}mkdir -p /var/folders/0_/6qt793gx6w706cq1q9kc0w78gq/T/many_modules20171009-2350-11p565v user system totalrealRun 13.68 0.46 4.15 ( 4.157170)Run 23.30 0.25 3.55 ( 3.552481)Run 33.18 0.25 3.43 ( 3.430290)Run 43.40 0.26 3.66 ( 3.662123)Run 53.69 0.31 4.00 ( 4.010465)Run 63.60 0.26 3.86 ( 3.866366)Run 73.32 0.25 3.57 ( 3.571592)Run 83.61 0.32 3.93 ( 3.943484)Run 93.56 0.31 3.87 ( 3.866563)Run 10 3.99 0.26 4.25 ( 4.247610)> total:35.33 2.93 38.27 ( 38.308143)> avg: 3.533000 0.293000 3.827000 ( 3.830814){code}Note ~ 6 second cumulative runtime increase Note that a further implication
Jira (PUP-8024) Only load module translations when necessary
Title: Message Title Maggie Dreyer updated an issue Puppet / PUP-8024 Only load module translations when necessary Change By: Maggie Dreyer Currently, we attempt to initialize translations machinery for all modules as soon as they are loaded, despite the fact in many contexts we do not need to display any translations (e.g. {{module list}}). We do this even for modules that do not have any translation files or marked strings.We also attempt to cache translations after they're loaded, but not associated with any existing cache lifetimes. So the only way to cause a translation to be reloaded is to restart the process.We should add a function to {{module.rb}} that loads a module's translations, then call it before we think we need module translations to be displayed (e.g. before compilation, or when running a puppet application). We should not load translations for things like file serving, in order to avoid doing unnecessary work. We should see if these optimizations are sufficient to reduce the performance impact before doing anything more drastic. *Notes on decoupling module naming from locales/config.yaml project name*From comment below:{quote}As part of this, we should remove the requirement that the module have metadata (relies on forge_name) and remove the coupling of metadata naming and locales/config.yaml's project_name.{quote}Benchmarks in puppet have shown a non-trivial performance degradation if there is a mismatch between the module's metadata name, and the locales/config.yaml's project_name:With matching names:{code}mkdir -p /var/folders/0_/6qt793gx6w706cq1q9kc0w78gq/T/many_modules20171009-2426-1l58rtz user system totalrealRun 13.70 0.46 4.17 ( 4.171436)Run 22.84 0.13 2.97 ( 2.974983)Run 32.89 0.12 3.01 ( 3.016188)Run 42.91 0.13 3.04 ( 3.036231)Run 52.77 0.15 2.92 ( 2.932649)Run 62.80 0.12 2.92 ( 2.910116)Run 73.24 0.11 3.35 ( 3.359197)Run 82.76 0.15 2.91 ( 2.909707)Run 93.26 0.15 3.41 ( 3.414169)Run 10 3.69 0.14 3.83 ( 3.835340)> total:30.86 1.66 32.53 ( 32.560017)> avg: 3.086000 0.166000 3.253000 ( 3.256002){code}with mismatched names:{code}mkdir -p /var/folders/0_/6qt793gx6w706cq1q9kc0w78gq/T/many_modules20171009-2350-11p565v user system totalrealRun 13.68 0.46 4.15 ( 4.157170)Run 23.30 0.25 3.55 ( 3.552481)Run 33.18 0.25 3.43 ( 3.430290)Run 43.40 0.26 3.66 ( 3.662123)Run 53.69 0.31 4.00 ( 4.010465)Run 63.60 0.26 3.86 ( 3.866366)Run 73.32 0.25 3.57 ( 3.571592)Run 83.61 0.32 3.93 ( 3.943484)Run 93.56 0.31 3.87 ( 3.866563)Run 10 3.99 0.26 4.25 ( 4.247610)> total:35.33 2.93 38.27 ( 38.308143)> avg: 3.533000 0.293000 3.827000 ( 3.830814){code}Note ~ 6 second cumulative runtime increase Note that a further
Jira (PUP-8024) Only load module translations when necessary
Title: Message Title Maggie Dreyer updated an issue Puppet / PUP-8024 Only load module translations when necessary Change By: Maggie Dreyer Summary: Delay loading Only load module translations until 'translate' is used for that module when necessary Add Comment This message was sent by Atlassian JIRA (v6.4.14#64029-sha1:ae256fe) -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at https://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/d/optout.