Decreased Performance due to 'debug(...)' statements in production

Ouverte
#369 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
javascript
Domaine
backend

Piste de recherche

Commencez par localiser la méthode addFact et l’appel debug(...) indiqués dans l’issue, puis examinez comment le débogage est configuré ailleurs dans le package. Déterminez comment désactiver ce logging en production et vérifiez le chemin addFact avec le débogage activé et désactivé ; le travail est terminé lorsque la surcharge signalée est évitée sans supprimer les sorties de débogage utiles.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Hi @CacheControl
Hope your doing well 😄
First I'd like to thank you for the work done, this is a really useful package !

I'd like to point out a performance issue we are facing in production, there's a debug statement that is run while the addFact function is executed which cause a 2 seconds delay

  addFact (id, valueOrMethod, options) {
    let factId = id
    let fact
    if (id instanceof Fact) {
      factId = id.id
      fact = id
    } else {
      fact = new Fact(id, valueOrMethod, options)
    }
    debug(`engine::addFact id:${factId}`) // <--- This one
    this.facts.set(factId, fact)
    return this
  }

Here's our CPU Profiling

Screenshot 2024-07-11 at 11 40 17

Is there a way to disable the debug statements ? Otherwise it could be nice to add an option to disable them
Thanks !

If you would like, I would be glad to open a PR to address the following issue.

Have a nice day 😄

Langage dominant
JavaScript
Étoiles
3.1k
Forks
507
Métriques de merge des PR
Aucune PR mergée en 30 j

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de CacheControl/json-rules-engine

Toutes les issues de CacheControl/json-rules-engine

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.