Home

Bucky est un outil de monitoring open source permettant d’envoyer facilement des données de performances de vos pages web à statsd, graphite ou OpenTSDB.

Bucky est un outil de monitoring open source permettant d'envoyer facilement des données de performances de vos pages web à statsd, graphite ou OpenTSDB.

Monitorer les performances de ses pages est indispensable si vous souhaitez améliorer vos webperfs. Il vous faut savoir quelles sont les pages, les fonctions, les appels ajax qui ne sont pas suffisamment performants.

Pour les personnes familières à Statsd ou OpenTSDB, vous n’aurez aucun mal à coupler Bucky à votre plateforme de monitoring.

En effet, Bucky va permettre d’ajouter dans ses pages web un script JS qui enverra des infos précises sur les performances de vos pages web.

1.<script src="bucky.js" data-bucky-host="/bucky" data-bucky-page data-bucky-requests></script>

Aujourd’hui, les navigateurs modernes embarquent beaucoup d’informations sur les performances d’une page web. Il est possible des les récupérer notamment grâce à l’API performance.timing.navigation.

Bucky va récupérer ces infos et les envoyer automatiquement sur votre statsd grâce à la ligne JS suivante:

1.Bucky.sendPagePerformance('destination.des.stats')

Il ne pose pas de problème sur les navigateurs plus anciens qui ne supporte pas l’API.

Voici un exemple de résultat obtenu avec cette commande:

pages.contactDetail.timing.connectEnd: "172.000|ms"
pages.contactDetail.timing.connectStart: "106.000|ms"
pages.contactDetail.timing.domComplete: "1029.000|ms"
pages.contactDetail.timing.domContentLoadedEventEnd: "1019.000|ms"
pages.contactDetail.timing.domContentLoadedEventStart: "980.000|ms"
pages.contactDetail.timing.domInteractive: "980.000|ms"
pages.contactDetail.timing.domLoading: "254.000|ms"
pages.contactDetail.timing.domainLookupEnd: "106.000|ms"
pages.contactDetail.timing.domainLookupStart: "106.000|ms"
pages.contactDetail.timing.fetchStart: "103.000|ms"
pages.contactDetail.timing.loadEventEnd: "1030.000|ms"
pages.contactDetail.timing.loadEventStart: "1029.000|ms"
pages.contactDetail.timing.navigationStart: "0.000|ms"
pages.contactDetail.timing.requestStart: "173.000|ms"
pages.contactDetail.timing.responseEnd: "243.000|ms"
pages.contactDetail.timing.responseStart: "235.000|ms"
pages.contactDetail.timing.secureConnectionStart: "106.000|ms"

Vous souhaitez monitorer vos requêtes ajax ? Pas de problème, Bucky va s’interfacer avec XMLHttpRequest si vous spécifiez l’instruction suivante:

1.Bucky.requests.monitor('my.project.requests')

Et vous obtiendrez ce type de données:

contacts.web.prod.requests.api.hubapi.automation.v2.workflows.get: "656.794|ms"
contacts.web.prod.requests.api.hubapi.automation.v2.workflows.get.2xx: "1|c"
contacts.web.prod.requests.api.hubapi.automation.v2.workflows.get.200: "1|c"
contacts.web.prod.requests.api.hubapi.automation.v2.workflows.get.headers: "436.737|ms"
contacts.web.prod.requests.api.hubapi.automation.v2.workflows.get.receiving: "0.182|ms"
contacts.web.prod.requests.api.hubapi.automation.v2.workflows.get.sending: "0.059|ms"
contacts.web.prod.requests.api.hubapi.automation.v2.workflows.get.waiting: "206.035|ms"

Bucky vous permettra aussi de créer vos propres monitoring de temps d’exécution ou de compteurs.

La documentation est plutôt simple et claire, donc n’hésitez pas à y faire un tour.

Site Officiel

Publicités

Laisser un commentaire

Choisissez une méthode de connexion pour poster votre commentaire:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s