Re: Point d'entrée

From: Jean-Christophe Arnu <arnu(at)paratronic(dot)fr>
To: Jean Arnaud <Jean(dot)Arnaud(at)inrialpes(dot)fr>
Cc: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: Point d'entrée
Date: 2006-08-08 12:22:31
Message-ID: 44D88207.5080202@paratronic.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Effectivement, je comprends mieux votre besoin. Dans ce cas, je vous
recommande de jeter un oeil à src/backend/tcop/postgresql.c fonctions
- exec_simple_query()
- exec_execute_message()
Ces deux fonctions sont utilisées dans le logging initial de
postgresql. Un petit hack à ce niveau vous permettra de transmettre le
start et le stop d'une requête et le passer à une de vos fonctions?

Cordialement,

Jean Arnaud m'expliquait (le 08.08.2006 12:28):

> Rebonjour,
>
> Ce sont en effet de bonnes solutions, mais j'ai fait mon propre outil
> de statistiques qui doit calculer des critères de performance du serveur.
> Sans avoir de très fortes contraintes temps-réel, le système doit être
> assez réactif. Je cherche donc plutot à modifier le source
> de PostGreSQL pour envoyer directement les informations à mon outil de
> statistiques.
>
> @+
>
> Jean-Christophe Arnu wrote:
>
>> Bonjour,
>> vous pouvez le faire avec PostgreSQL dans les logs. Je ne sais pas
>> si c'est exactement ce que vous voulez faire mais vous avez une
>> directive de configuration dans postgresql.conf qui s'appelle
>> log_duration qui lorsqu'elle est mise à true (conjointement à
>> log_statement) permet de savoir le temps pris pour une requête. Voici
>> l'URL de la doc pour la configuration.
>> http://docs.postgresqlfr.org/8.1/runtime-config-logging.html
>>
>> Par ailleurs, il existe un projet en ruby qui fait des stats sur les
>> requêtes à partir du log de postgresql lorsque ces options sont activées
>> : Practical Query Analysis : http://pgfoundry.org/projects/pqa/
>>
>> Cordialement
>>
>> Jean Arnaud m'expliquait (le 08.08.2006 10:18):
>>
>>
>>
>>> Jean-Christophe Arnu wrote:
>>>
>>>
>>>
>>>> Bonjour,
>>>> Pourriez vous nous en dire plus sur la finalité de votre question.
>>>> En effet, les requêtes arrivent au niveau du backend mais plusieurs
>>>> fonctions sont impliquées à des niveaux divers. S'il s'agit de
>>>> rajouter
>>>> des mots clés etc... il s'agira plus de certaines fonctions, s'il
>>>> s'agit
>>>> de faire d'autres opérations ça en sera d'autres. Avec cette
>>>> précision,
>>>> nous pourrons vous donner une réponse mieux ciblée.
>>>>
>>>> Cordialement,
>>>>
>>>> Jean Arnaud m'expliquait (le 07.08.2006 17:43):
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>> Bonjour,
>>>>>
>>>>> Je cherche à trouver la méthode traitant les requêtes arrivant au
>>>>> niveau d'un backend. Si quelqun est familier avec l'architecture de
>>>>> PostGreSQL cela me ferait gagner beaucoup de temps
>>>>>
>>>>> Merci
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>> Bonjour,
>>>
>>> Je cherche à instrumenter le code pour obtenir des informations sur la
>>> durée de traitement des requêtes. Je comptais donc chronometrer depuis
>>> l'arrivée de la requête jusqu'à l'envoi du résultat. Il me faut donc
>>> trouver une méthode qui sera appelée au début de chaque traitement de
>>> requête, et une autre à la fin. Je ne connais pas assez PostGreSQL
>>> pour savoir si cette approche est naive ou réellement envisageable ?
>>>
>>>
>>>
>>
>>
>>
>>
>
>

--
Jean-Christophe Arnu
Paratronic

In response to

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Jean Arnaud 2006-08-08 13:04:32 Re: Point d'entrée
Previous Message Jean Arnaud 2006-08-08 10:28:30 Re: Point d'entrée