IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Calculer le temps d'exécution d'une requête


Sujet :

Servlets/JSP Java

  1. #1
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 224
    Points : 116
    Points
    116
    Par défaut Calculer le temps d'exécution d'une requête
    Existe t-il un moyen de calculer un temps de réponse sur une requête dans le but d'avertir l'utilisateur si le réponse dépasse 1 minutes ?

    J'utilise les technologies suivantes : Hibernate, Oracle, JSP et la requête fait appel à une procédure stockées.
    Petit à petit, l'oiseau fait son nid !

  2. #2
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Bonjour.
    comme façon de faire, tu peux utiliser un Filtre (si tu utilises un container supportant le Servlet API 2.3 ou plus).
    Dans la méthode doFilter du filtre, tu récupère le temps T1 ou t'as reçu la requette, tu passes la main à la chaine des filtres, puis tu récupères T2 le temps du retour, et devine quoi ? la durée de la requete est T=T2-T1 !

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
     
    public class TimerFilter implements Filter {
     
      private FilterConfig config = null;
     
      public void init(FilterConfig config) throws ServletException {
        this.config = config;
      }
     
      public void destroy() {
        config = null;
      }
     
      public void doFilter(ServletRequest request, ServletResponse response,
                         FilterChain chain) throws IOException, ServletException {
        long before = System.currentTimeMillis();
        chain.doFilter(request, response);
        long after = System.currentTimeMillis();
     
        String name = "";
        if (request instanceof HttpServletRequest) {
          name = ((HttpServletRequest)request).getRequestURI();
        }
        config.getServletContext().log(name + ": " + (after - before) + "ms");
      }
    }
    N.B. Cet exemple est tiré de l'url suivant :
    http://www.servlets.com/soapbox/filters.html

    Bonne chance.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 22/06/2007, 12h10
  2. [MySQL] temps d'ouverture d'une connexion VS temps d'exécution d'une requête
    Par epoz dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 25/04/2007, 18h06
  3. [MySQL] Temps d'exécution d'une requête
    Par eon-of-the-scorn dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/07/2006, 11h06
  4. Réponses: 3
    Dernier message: 11/03/2006, 15h35
  5. Affichage du temps d'exécution d'une requête
    Par milka dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 22/03/2004, 17h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo