Cela a l'air d'être confirmé par le rapport en question, disponible à l'URL http://www.boemre.gov/tarprojects/377.htm . Il y est question de "crude oil" i.e. du brut non raffiné. Petite pépite: BP n'est pas la seule compagnie pétrolière à faire partie des commanditaires, le rapport fait mention de 22 autres joyeux drilles.
Compilation de latrace 0.5.9
Attention, la compilation de latrace nécessite d'avoir flex, bison, et autoconf. Avoir le paquetage binutils-dev installé est optionnel. $ wget http://people.redhat.com/jolsa/latrace/dl/latrace-0.5.9.tar.(...)
$ tar xfj latrace-0.5.9.tar.bz2
$ cd latrace-0.5.9
$ aclocal && autoconf && ./configure && make && sudo make install
latrace est maintenant installé dans /usr/local.
Compilation d'un exécutable dynamique multithreadé
le fichier C suivant est tiré de l'échange de mail en lien sur la dépêche. $ cat > test.c << EOF
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
return 0;
}
EOF
$ gcc -o test test.c -lpthread
$ ./test
main PID 27180
In thread
thread PID 27180
In thread
thread PID 27180
threads joined
ltrace en action pour tracer les appels à sleep: $ ltrace -e sleep ./test
main PID 27228
In thread
thread PID 27228
+++ killed by SIGTRAP +++
Après avoir lu le man de ltrace, l'option -f permet de suivre les processus fils forkés : $ ltrace -e sleep -f ./test
main PID 27237
ltrace reste bloqué, vous pouvez le tuer avec ctrl+c, ctrl+z puis kill -9 %1.
À latrace de jouer maintenant : $ latrace -s sleep ./test
main PID 27204
In thread
thread PID 27204
In thread
thread PID 27204
27205 sleep [/lib/i686/cmov/libc.so.6]
27206 sleep [/lib/i686/cmov/libc.so.6]
threads joined
L'idée est de pouvoir obtenir des précisions sur le comportement d'un programme sans avoir accès au code source.
Les exécutables que tu peux trouver dans /usr/bin et /bin sous Linux sont majoritairement dynamiques. A chaque fois que tu lance un exécutable dynamique, le chargeur - dynamique - est appelé, pour résoudre les dépendances de bibliothèques. Ce chargeur offre dans ces versions les plus récentes un moyen de tracer l'appel de fonctions.
Le travail de latrace consiste à utiliser cette fonctionnalité du chargeur et afficher sous forme intelligible les données qu'il récupère.
Je confirme que ØMQ ne revendique pas la conformité au standard AMQP.
Mon idée initiale en citant iMatix n'était pas d'introduire le sujet AMQP, mais plutôt d'insister sur l'abandon d'AMQP jugé trop compliqué (cf http://linuxfr.org//2010/04/14/26732.html par exemple) pour promouvoir l'usage et de le développement de ØMQ.
J'ajouterais deux choses sur AMQP. La première est qu'apache software foundation détient en son sein une implémentation amqp répondant au doux nom de qpid. La deuxième est que ce dernière est la base choisie par redhat pour faire son implémentation http://www.redhat.com/mrg/messaging/ .
Dans le même acabit, msgbus fournit des fonctionnalités équivalentes: MoM basé sur du HTTP. Il est basé sur libevent pour le multiplexing d'I/O et la couche HTTP.
Sipro Lab Telecom a déjà retiré du Web la page des tarifs ? Je l'ai trouvée dans le cache de google, mais le site www.sipro.com n'a plus l'air d'être en forme ...
[^] # Re: Chimie
Posté par guillaume teissier . En réponse à la dépêche Prix IgNobel 2010. Évalué à 4.
# Les présentations du sharkfest'10 sont disponibles !
Posté par guillaume teissier . En réponse à la dépêche Le Sharkfest'10 vient de se terminer. Évalué à 2.
# pour ceux qui, comme saint thomas, ne croient que ce qu'ils voient
Posté par guillaume teissier . En réponse à la dépêche latrace, le traceur qui instrumente le chargeur dynamique. Évalué à 4.
Attention, la compilation de latrace nécessite d'avoir flex, bison, et autoconf. Avoir le paquetage binutils-dev installé est optionnel.
$ wget http://people.redhat.com/jolsa/latrace/dl/latrace-0.5.9.tar.(...)
$ tar xfj latrace-0.5.9.tar.bz2
$ cd latrace-0.5.9
$ aclocal && autoconf && ./configure && make && sudo make install
latrace est maintenant installé dans /usr/local.
Compilation d'un exécutable dynamique multithreadé
le fichier C suivant est tiré de l'échange de mail en lien sur la dépêche.
$ cat > test.c << EOF
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
void *thread(void *i)
{
pthread_t t2,t3;
printf("In thread\n");
printf("thread PID %d\n", getpid());
sleep(5);
pthread_exit(0);
}
int main(int argc, char **argv)
{
pthread_t t1, t2;
printf("main PID %d\n", getpid());
pthread_create(&t1, NULL, thread, NULL);
pthread_create(&t2, NULL, thread, NULL);
pthread_join(t1, NULL);
pthread_join(t2, NULL);
printf("threads joined\n");
return 0;
}
EOF
$ gcc -o test test.c -lpthread
$ ./test
main PID 27180
In thread
thread PID 27180
In thread
thread PID 27180
threads joined
ltrace en action pour tracer les appels à sleep:
$ ltrace -e sleep ./test
main PID 27228
In thread
thread PID 27228
+++ killed by SIGTRAP +++
Après avoir lu le man de ltrace, l'option -f permet de suivre les processus fils forkés :
$ ltrace -e sleep -f ./test
main PID 27237
ltrace reste bloqué, vous pouvez le tuer avec ctrl+c, ctrl+z puis kill -9 %1.
À latrace de jouer maintenant :
$ latrace -s sleep ./test
main PID 27204
In thread
thread PID 27204
In thread
thread PID 27204
27205 sleep [/lib/i686/cmov/libc.so.6]
27206 sleep [/lib/i686/cmov/libc.so.6]
threads joined
./test finished - exited, status=0
[^] # Re: Instrumenter ?
Posté par guillaume teissier . En réponse à la dépêche latrace, le traceur qui instrumente le chargeur dynamique. Évalué à 4.
L'idée est de pouvoir obtenir des précisions sur le comportement d'un programme sans avoir accès au code source.
Les exécutables que tu peux trouver dans /usr/bin et /bin sous Linux sont majoritairement dynamiques. A chaque fois que tu lance un exécutable dynamique, le chargeur - dynamique - est appelé, pour résoudre les dépendances de bibliothèques. Ce chargeur offre dans ces versions les plus récentes un moyen de tracer l'appel de fonctions.
Le travail de latrace consiste à utiliser cette fonctionnalité du chargeur et afficher sous forme intelligible les données qu'il récupère.
[^] # Re: Pas du AMQP
Posté par guillaume teissier . En réponse à la dépêche ØMQ, la messagerie inter-applications « nouvelle vague ». Évalué à 2.
Mon idée initiale en citant iMatix n'était pas d'introduire le sujet AMQP, mais plutôt d'insister sur l'abandon d'AMQP jugé trop compliqué (cf http://linuxfr.org//2010/04/14/26732.html par exemple) pour promouvoir l'usage et de le développement de ØMQ.
J'ajouterais deux choses sur AMQP. La première est qu'apache software foundation détient en son sein une implémentation amqp répondant au doux nom de qpid. La deuxième est que ce dernière est la base choisie par redhat pour faire son implémentation http://www.redhat.com/mrg/messaging/ .
[^] # Re: HandBaller
Posté par guillaume teissier . En réponse à la dépêche Nouvelle version de APE (Ajax Push Engine). Évalué à 3.
cf [http://code.google.com/p/msgbus/].
Je suis partant pour te filer un coup de main :D
# Tarifs non disponibles
Posté par guillaume teissier . En réponse à la dépêche Codec OpenSource BroadVoice. Évalué à 2.