Java SE 8 est sûrement la version la plus importante et la plus impactante pour les développeurs. Deux ans après sa sortie, ce talk propose des retours sur les bonnes ou moins bonnes utilisations des principales fonctionnalités de Java 8. Une connaissance de ces fonctionnalités est requise.
Java SE 8 est sûrement la version la plus importante et la plus impactante pour les développeurs. Deux ans après sa sortie, ce talk propose des retours sur les bonnes ou moins bonnes utilisations des principales fonctionnalités de Java 8. Une connaissance de ces fonctionnalités est requise.
Les tests unitaires se sont pas limités au code des applications, des tests peuvent également être effectués sur les données et les schémas des bases de données.
Conférence donnée lors du meetup PostgreSQL le 22 juin 2016 à Nantes
This document provides information on managing your online presence and social media as an academic. It discusses social media platforms like Twitter and using hashtags for conferences. It also covers representing yourself online through platforms like ResearchGate, Academia.edu, and LinkedIn. Additionally, it addresses maintaining your digital identity, privacy settings, and author's rights when posting work online. The document aims to help academics create and manage their professional online profiles and digital identities.
Digital Humanities for Historians: An introductionlibrarianrafia
What is Digital Humanities (DH)?
What is Digital History?
What is Cliometrics?
What is the Spatial Turn?
What goes into creating a Digital Humanities project?
What are some of the resources available for DH?
What are some of the debates in DH?
Attribution-NonCommercial 2.5 Generic (CC BY-NC 2.5) for all original content in presentation.
Omeka is a free, open-source web-publishing platform that allows users to display collections of digital items online. It was created by the Roy Rosenzweig Center for History and New Media to help historical organizations build searchable digital collections and exhibits. The document introduces Omeka.net, the hosted version of Omeka that provides 500MB of free storage. It notes that users should pay attention to image sizes to avoid large file sizes that exceed the storage limit. Dublin Core is a standard for describing digital objects that Omeka uses to organize collection metadata in a way that is accessible and searchable.
The UTA Libraries offer digital humanities services including consultations and workshops through their Digital Humanities Librarian for both undergraduates and graduate students in collaboration with various programs. They provide subject guides and assistance with platforms like Omeka. Copyright consultations are available to ensure legal compliance when building and using digital collections. The libraries are expanding their digital collections through projects digitizing special collections materials on topics related to the borderlands such as the U.S.-Mexico War and Tejano Voices.
Using Omeka as a Gateway to Digital Projectslibrarianrafia
Digital Frontiers 2015 https://digital-frontiers.org/ Presentation on Omeka 9/18/2015
Presenters: Jeff Downing, Lynn Johnson, and Derek Reece (Digital Projects Librarians) and Rafia Mirza (Digital Humanities Librarian)
Slides for guest lecture on Silver Age of comics for Eng 3370 http://libguides.uta.edu/comics/3370 with @StephanieNNoell on 4/18/2014.
CC license applied for any original content.
Introduction to databases and metadata
Outline
What are databases?
What are the elements of databases?
What is metadata?
Why are they important for digital projects?
What is the internet?
What is a search engine?
What do search engines not search?
What if you are getting too many results?
What are filters?
What if the results are not relevant?
Faculty collaboration, memorandum of understanding, and open access
Presentation by: Jeff Downing, Digital Projects Librarian (downing@uta.edu) and Rafia Mirza, Digital Humanities Librarian (rafia@uta.edu)
Presented at CTLC Scholarly Communication Affinity Meeting, August 5th, 2016
Your Digital Identity: Social Media & Online Presencelibrarianrafia
This document provides information on managing your digital identity and online presence as a scholar. It discusses social media platforms like Twitter and how they can be used for professional purposes like networking at conferences. It also covers representing yourself online through platforms like Academia.edu, ResearchGate, and institutional repositories. Maintaining privacy and copyright over your work are also addressed. The goal is to help scholars strategically build and control their digital identity.
Goals of today’s workshop
Part 1: Create a Wordpress Site
Part 2: Customize your site.
Example: Modify your site to create a Teaching Portfolio
Part 3: Customize your blog
Part 3: Embedding code in your blog
Part 5: Delete a Wordpress Site
Este documento resume información sobre tres apellidos españoles: Galán, Fraga y estadísticas de apellidos en general. Proporciona el origen, significado y escudo de armas del apellido Galán, así como la descripción del blasón y origen del apellido Fraga. Finalmente, presenta una tabla de estadísticas de apellidos.
El documento habla sobre un nuevo modelo de auto volador creado por la compañía Terrafuga llamado TF-X. El TF-X es un vehículo con cuatro ruedas que puede despegar y aterrizar verticalmente como un pequeño planeador, transportando hasta cuatro personas. Terrafuga planea lanzar la primera versión comercial del TF-X para 2017.
Este documento describe las herramientas RSS y cómo funcionan. RSS permite que los usuarios reciban actualizaciones de sus sitios web favoritos de forma automática sin tener que visitarlos individualmente. Los usuarios se suscriben a los feeds RSS de los sitios relevantes y los lectores RSS como FeedDemon verifican periódicamente las actualizaciones y muestran el nuevo contenido a los usuarios. RSS facilita la gestión y distribución de información en la web.
As civilizações da Mesopotâmia desenvolveram a escrita cuneiforme na argila. Os egípcios criaram uma sociedade forte através das pirâmides e hieróglifos. Os gregos lançaram as bases da arte, ciência e filosofia ocidentais, enquanto os romanos se dedicaram ao direito e arquitetura como arcos de triunfo e mosaicos.
Les tests unitaires se sont pas limités au code des applications, des tests peuvent également être effectués sur les données et les schémas des bases de données.
Conférence donnée lors du meetup PostgreSQL le 22 juin 2016 à Nantes
This document provides information on managing your online presence and social media as an academic. It discusses social media platforms like Twitter and using hashtags for conferences. It also covers representing yourself online through platforms like ResearchGate, Academia.edu, and LinkedIn. Additionally, it addresses maintaining your digital identity, privacy settings, and author's rights when posting work online. The document aims to help academics create and manage their professional online profiles and digital identities.
Digital Humanities for Historians: An introductionlibrarianrafia
What is Digital Humanities (DH)?
What is Digital History?
What is Cliometrics?
What is the Spatial Turn?
What goes into creating a Digital Humanities project?
What are some of the resources available for DH?
What are some of the debates in DH?
Attribution-NonCommercial 2.5 Generic (CC BY-NC 2.5) for all original content in presentation.
Omeka is a free, open-source web-publishing platform that allows users to display collections of digital items online. It was created by the Roy Rosenzweig Center for History and New Media to help historical organizations build searchable digital collections and exhibits. The document introduces Omeka.net, the hosted version of Omeka that provides 500MB of free storage. It notes that users should pay attention to image sizes to avoid large file sizes that exceed the storage limit. Dublin Core is a standard for describing digital objects that Omeka uses to organize collection metadata in a way that is accessible and searchable.
The UTA Libraries offer digital humanities services including consultations and workshops through their Digital Humanities Librarian for both undergraduates and graduate students in collaboration with various programs. They provide subject guides and assistance with platforms like Omeka. Copyright consultations are available to ensure legal compliance when building and using digital collections. The libraries are expanding their digital collections through projects digitizing special collections materials on topics related to the borderlands such as the U.S.-Mexico War and Tejano Voices.
Using Omeka as a Gateway to Digital Projectslibrarianrafia
Digital Frontiers 2015 https://digital-frontiers.org/ Presentation on Omeka 9/18/2015
Presenters: Jeff Downing, Lynn Johnson, and Derek Reece (Digital Projects Librarians) and Rafia Mirza (Digital Humanities Librarian)
Slides for guest lecture on Silver Age of comics for Eng 3370 http://libguides.uta.edu/comics/3370 with @StephanieNNoell on 4/18/2014.
CC license applied for any original content.
Introduction to databases and metadata
Outline
What are databases?
What are the elements of databases?
What is metadata?
Why are they important for digital projects?
What is the internet?
What is a search engine?
What do search engines not search?
What if you are getting too many results?
What are filters?
What if the results are not relevant?
Faculty collaboration, memorandum of understanding, and open access
Presentation by: Jeff Downing, Digital Projects Librarian (downing@uta.edu) and Rafia Mirza, Digital Humanities Librarian (rafia@uta.edu)
Presented at CTLC Scholarly Communication Affinity Meeting, August 5th, 2016
Your Digital Identity: Social Media & Online Presencelibrarianrafia
This document provides information on managing your digital identity and online presence as a scholar. It discusses social media platforms like Twitter and how they can be used for professional purposes like networking at conferences. It also covers representing yourself online through platforms like Academia.edu, ResearchGate, and institutional repositories. Maintaining privacy and copyright over your work are also addressed. The goal is to help scholars strategically build and control their digital identity.
Goals of today’s workshop
Part 1: Create a Wordpress Site
Part 2: Customize your site.
Example: Modify your site to create a Teaching Portfolio
Part 3: Customize your blog
Part 3: Embedding code in your blog
Part 5: Delete a Wordpress Site
Este documento resume información sobre tres apellidos españoles: Galán, Fraga y estadísticas de apellidos en general. Proporciona el origen, significado y escudo de armas del apellido Galán, así como la descripción del blasón y origen del apellido Fraga. Finalmente, presenta una tabla de estadísticas de apellidos.
El documento habla sobre un nuevo modelo de auto volador creado por la compañía Terrafuga llamado TF-X. El TF-X es un vehículo con cuatro ruedas que puede despegar y aterrizar verticalmente como un pequeño planeador, transportando hasta cuatro personas. Terrafuga planea lanzar la primera versión comercial del TF-X para 2017.
Este documento describe las herramientas RSS y cómo funcionan. RSS permite que los usuarios reciban actualizaciones de sus sitios web favoritos de forma automática sin tener que visitarlos individualmente. Los usuarios se suscriben a los feeds RSS de los sitios relevantes y los lectores RSS como FeedDemon verifican periódicamente las actualizaciones y muestran el nuevo contenido a los usuarios. RSS facilita la gestión y distribución de información en la web.
As civilizações da Mesopotâmia desenvolveram a escrita cuneiforme na argila. Os egípcios criaram uma sociedade forte através das pirâmides e hieróglifos. Os gregos lançaram as bases da arte, ciência e filosofia ocidentais, enquanto os romanos se dedicaram ao direito e arquitetura como arcos de triunfo e mosaicos.
Oxalide Workshop #3 - Elasticearch, an overviewLudovic Piot
Après les 2 précédents ateliers Varnish, c’est au tour d’ElasticSearch de passer entre les mains Ludovic Piot (Oxalide) avec Edouard Fajnzilberg (Kernel42) . Ils ont déroulé le sujet avec les points de vue Syadmin et Dev.
Subject: Oxalide's workshop about an overview of elasticsearch.
Date: 10-mar-2016
Speakers: Edouard Fajnzilberg (Kernel42) and Ludovic Piot (Oxalide)
Language: french
Video capture: https://youtu.be/3bPoeVoUdFI
Main topics:
When do we use elasticsearch?
Why is it cool?
Introduction to Head plugin
Introduction to the REST API
Introduction to the Query DSL and the JSON document
How to configure a cluster?
How does it compare to a SGBD-R?
How does a reversed-index work?
An explaination of Lucene Segments
An explaination of the cluster architecture
An overview of the mappings (principles, dynamic mapping and templates)
An overview of the aggregations (buckets, metrics, multiple, nestable, sortable, aggregation types, use cases, pipelines)
An overview of the ecosystem (Sense, Logstash, Beats, Kibana, TimeLion, Marvel, Watcher, Shield, Head, Kopf, HQ, Inquisitor, BigDesk, SegmentSpy)
Oxalide Academy : Workshop #3 Elastic SearchOxalide
Atelier organisé par Oxalide (Ludovic Piot) et Kernel 42 (Edouard Fajnzilberg) à destination des niveaux débutants et intermédiaire. Le point de vue du Syadmin et du Dev en un seul atelier et avoir une vision globale du fonctionnement et de l'usage d'Elastic Search.
1/ Retour d'expérience sur la mise en place d'une message queue pour SoCloz - http://www.socloz.fr.
- première phase : job queue, résolu par la mise en place de beanstalk
- deuxième phase : pub/sub.
Alternatives évaluées : NSQ (en complément de beanstalk) et RabbitMQ.
Adéquation fonctionnelle : léger avantage pour beanstalk (job), égalité (pub/sub)
Simplicité : avantage pour beanstalk/NSQ
Durabilité : avantage RabbitMQ
2/ Etat des lieux des solutions de message queue
http://www.brownbaglunch.fr/baggers.html#Olivier_BAZOUD
Monitoring: regarder votre application à la loupe!
Regarder fonctionner votre application sous toutes les coutures.
Nous verrons comment alimenter Graphite, un excellent outil de métrologie, dans une architecture java (je peux m'adapter à vote langage): collectd, jmxtrans, metrics, statsd,.. afin de prendre des mesures au niveau du système, de l'applicatif, des batchs et du métier (KPI). Nous aborderons ensuite la corrélation tous ces métriques de façon très visuelle et comment réveiller vos sysadmins en cas d'urgence ;)
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...Normandy JUG
Ces nouvelles fonctionnalités introduites à partir de Java 7 nous permettent de parallèliser nos traitements simplement, voire gratuitement. Nous allons donc pouvoir utiliser pleinement nos multicoeurs avec un minimum d'efforts. Quels sont ces nouveaux patterns, quels gains en performance pouvons-nous en attendre, à quels nouveaux bugs serons-nous confrontés ? Une heure pour répondront à chacun de ces points, en introduisant les nouveaux problèmes et leurs solutions. Une heure pour comprendre comment nos habitudes de programmation vont devoir évoluer, et à quoi la programmation parallèle en Java ressemblera-t-elle demain.
SQLSaturday Paris 2014 - Monitoring et configuration SSASGUSS
Avant la mise en production d’une base SSAS, il faut s’attarder sur la question du paramétrage de l’instance. Nous présenterons donc les principales optimisations de configuration d’une instance SSAS que l’on déterminera à partir de relevés issus d’un monitoring efficace. Nous attacherons une importance particulière au modèle de gestions des threads. Il faut avoir une relative bonne connaissance des modes de fonctionnement du moteur AS (SE et FE) afin de pouvoir appréhender cette session. Session présentée lors du SQLSaturday Paris 2014
L'ORM de Django est particulièrement efficace, il permet au développeur de complètement abstraire la couche de stockage de données au point de pouvoir utiliser le même code avec SQLite, PostgreSQL ou d'autres bases plus exotiques encore. Lorsque les problèmes de performance surviennent faire le chemin inverse depuis la base vers le code devient un véritable chemin de croix. On verra dans cette présentation comment se faciliter la vie avec quelques outils et méthodes.
Développer une application scalable aujourd'hui est à la portée de tous, la tester pour lui faire supporter de 1 à 1 millions d'utilisateur est aussi simple, si on utilise Tsung. Après une présentation générale on entrera dans les arcanes des modules Erlang pour développer des tests de peformance riches en fonctionnalités
Si la facilité de développement est assurée avec Django, il n'en est pas de même pour la scabilité. L'utilisation abusive de certains modules comme Paginator peuvent vite se transformer en gouffre à IO. Il sera fait une démonstration de l'utilisation de fonctions comme bulk_create ou cursor.copy_from, vous ne ferez plus jamais un .save() dans une boucle sans y réfléchir.
Brown Bag Lunch sur inviation chez Novapost pour présenter les axes de réflexions pour la gestion de la montée en charge de PostgreSQL. Présentations de différents axes de travail afin d
Cas d'école et démarche suivie pour résoudre un problème de performance dans une base de données PostgreSQL. Présentation donnée au Meetup PostgreSQL Paris User Group le 16 avril 2014.
Présentation des tests de performance et de leur mise en pratique avec Tsung. Description du fonctionnement de Tsung de son mécanisme de base et de ses fonctions avancées.
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...OCTO Technology
Par Nicolas Bordier (Consultant numérique responsable @OCTO Technology) et Alaric Rougnon-Glasson (Sustainable Tech Consultant @OCTO Technology)
Sur un exemple très concret d’audit d’éco-conception de l’outil de bilan carbone C’Bilan développé par ICDC (Caisse des dépôts et consignations) nous allons expliquer en quoi l’ACV (analyse de cycle de vie) a été déterminante pour identifier les pistes d’actions pour réduire jusqu'à 82% de l’empreinte environnementale du service.
Vidéo Youtube : https://www.youtube.com/watch?v=7R8oL2P_DkU
Compte-rendu :
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Laurent Speyser
(Conférence dessinée)
Vous êtes certainement à l’origine, ou impliqué, dans un changement au sein de votre organisation. Et peut être que cela ne se passe pas aussi bien qu’attendu…
Depuis plusieurs années, je fais régulièrement le constat de l’échec de l’adoption de l’Agilité, et plus globalement de grands changements, dans les organisations. Je vais tenter de vous expliquer pourquoi ils suscitent peu d'adhésion, peu d’engagement, et ils ne tiennent pas dans le temps.
Heureusement, il existe un autre chemin. Pour l'emprunter il s'agira de cultiver l'invitation, l'intelligence collective , la mécanique des jeux, les rites de passages, .... afin que l'agilité prenne racine.
Vous repartirez de cette conférence en ayant pris du recul sur le changement tel qu‘il est généralement opéré aujourd’hui, et en ayant découvert (ou redécouvert) le seul guide valable à suivre, à mon sens, pour un changement authentique, durable, et respectueux des individus! Et en bonus, 2 ou 3 trucs pratiques!
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO Technology
En cette année 2024 qui s’annonce sous le signe de la complexité, avec :
- L’explosion de la Gen AI
-Un contexte socio-économique sous tensions
- De forts enjeux sur le Sustainable et la régulation IT
- Une archipélisation des lieux de travail post-Covid
Découvrez les Tech trends incontournables pour délivrer vos produits stratégiques.
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...OCTO Technology
par Claude Camus (Coach agile d'organisation @OCTO Technology) et Gilles Masy (Organizational Coach @OCTO Technology)
Les équipes infrastructure, sécurité, production, ou cloud, doivent consacrer du temps à la modernisation de leurs outils (automatisation, cloud, etc) et de leurs pratiques (DevOps, SRE, etc). Dans le même temps, elles doivent répondre à une avalanche croissante de demandes, tout en maintenant un niveau de qualité de service optimal.
Habitué des environnements développeurs, les transformations agiles négligent les particularités des équipes OPS. Lors de ce comptoir, nous vous partagerons notre proposition de valeur de l'agilité@OPS, qui embarquera vos équipes OPS en Classe Business (Agility), et leur fera dire : "nous ne reviendrons pas en arrière".
L'IA connaît une croissance rapide et son intégration dans le domaine éducatif soulève de nombreuses questions. Aujourd'hui, nous explorerons comment les étudiants utilisent l'IA, les perceptions des enseignants à ce sujet, et les mesures possibles pour encadrer ces usages.
Constat Actuel
L'IA est de plus en plus présente dans notre quotidien, y compris dans l'éducation. Certaines universités, comme Science Po en janvier 2023, ont interdit l'utilisation de l'IA, tandis que d'autres, comme l'Université de Prague, la considèrent comme du plagiat. Cette diversité de positions souligne la nécessité urgente d'une réponse institutionnelle pour encadrer ces usages et prévenir les risques de triche et de plagiat.
Enquête Nationale
Pour mieux comprendre ces dynamiques, une enquête nationale intitulée "L'IA dans l'enseignement" a été réalisée. Les auteurs de cette enquête sont Le Sphynx (sondage) et Compilatio (fraude académique). Elle a été diffusée dans les universités de Lyon et d'Aix-Marseille entre le 21 juin et le 15 août 2023, touchant 1242 enseignants et 4443 étudiants. Les questionnaires, conçus pour étudier les usages de l'IA et les représentations de ces usages, abordaient des thèmes comme les craintes, les opportunités et l'acceptabilité.
Résultats de l'Enquête
Les résultats montrent que 55 % des étudiants utilisent l'IA de manière occasionnelle ou fréquente, contre 34 % des enseignants. Cependant, 88 % des enseignants pensent que leurs étudiants utilisent l'IA, ce qui pourrait indiquer une surestimation des usages. Les usages identifiés incluent la recherche d'informations et la rédaction de textes, bien que ces réponses ne puissent pas être cumulées dans les choix proposés.
Analyse Critique
Une analyse plus approfondie révèle que les enseignants peinent à percevoir les bénéfices de l'IA pour l'apprentissage, contrairement aux étudiants. La question de savoir si l'IA améliore les notes sans développer les compétences reste débattue. Est-ce un dopage académique ou une opportunité pour un apprentissage plus efficace ?
Acceptabilité et Éthique
L'enquête révèle que beaucoup d'étudiants jugent acceptable d'utiliser l'IA pour rédiger leurs devoirs, et même un quart des enseignants partagent cet avis. Cela pose des questions éthiques cruciales : copier-coller est-il tricher ? Utiliser l'IA sous supervision ou pour des traductions est-il acceptable ? La réponse n'est pas simple et nécessite un débat ouvert.
Propositions et Solutions
Pour encadrer ces usages, plusieurs solutions sont proposées. Plutôt que d'interdire l'IA, il est suggéré de fixer des règles pour une utilisation responsable. Des innovations pédagogiques peuvent également être explorées, comme la création de situations de concurrence professionnelle ou l'utilisation de détecteurs d'IA.
Conclusion
En conclusion, bien que l'étude présente des limites, elle souligne un besoin urgent de régulation. Une charte institutionnelle pourrait fournir un cadre pour une utilisation éthique.
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
BBL chez Mappy autour de Tsung
1. Tsung - Mappy
Rodolphe Quiédeville
Principe et généralités
27 mars 2014
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 1 / 54
2. Tsung
début développement en 2001
écrit en Erlang
publié sous GNU GPL V2
projet Idealx initialement nommé IDX-Tsunami
test de serveur XMPP
version 1.5.0 stable, 1.6.0 en route pour la release
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 2 / 54
3. Caractéristiques
multi protocoles
scalable (validé à 10 Millions d’utilisateurs)
pas d’interface graphique
extensible par plugins
scenarios XML avec validation XSL
sondes de monitoring
modèle Stochastic avec distribution de Poisson
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 3 / 54
5. Principe de fonctionnement
un contrôleur
0 à N injecteurs
une cible
un scenario
des logs
des rapports de résultats
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 5 / 54
6. Protocoles supportés en 1.5.0
HTTP/HTTPS
Websocket
Jabber/XMPP
Webdav
AMQP / MQTT / ZeroMQ (dev)
LDAP
PostgreSQL
MySQL
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 6 / 54
7. Installation
pre-requis : Erlang R15, erlang-crypto, ssh
package : Debian, Ubuntu, Fedora, ...
sources : Github
scripts de creation paquet .deb dans les sources
déploiement à l’identique sur le contrôleur et les injecteurs
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 7 / 54
8. Configuration
configuration centralisée
fichier xml par scenario
tout se fait sur le contrôlleur
modules optionnels à déployer sur les injecteurs
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 8 / 54
9. Fonctions avancées
variables dynamiques
gestion des cookies automatique
analyse du résulat
thinktime
données aléatoires
extension par modules erlang
boucles et tests
...
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 9 / 54
10. Scenario
Création du scenario
En mode proxy
$ tsung-recorder start
Starting Tsung recorder on port 8090
"Record file: /home/rodo/.tsung/tsung_recorder20131003-1633.xml"
Depuis les logs
$ log2tsung.pl
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 10 / 54
11. Le XML tu l’aimes ou ...
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 11 / 54
16. Scenario
La charge va définir l’injection des utilisateurs
Example
<load>
<arrivalphase phase="1" duration="2" unit="minute">
<users interarrival="5" unit="second"></users>
</arrivalphase>
<arrivalphase phase="2" duration="10" unit="minute">
<users arrivalrate="1" unit="second"></users>
</arrivalphase>
<arrivalphase phase="3" duration="60" unit="minute">
<users arrivalrate="10" unit="second" maxnumber="1000"></users>
</arrivalphase>
</load>
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 16 / 54
17. Scenario
Les sessions, le subtile mélange des interactions
Example
<sessions>
<session name="small" probability="60" type="ts_http">
<transaction name="one">
...
</session>
<session name="extended" probability="35" type="ts_http">
<transaction name="foo">
...
</session>
<session name="rss" probability="5" type="ts_http">
<transaction name="home_ress">
....
</session>
</sessions>
Depuis la 1.5.0 on peut utiliser weight au lieu de probability
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 17 / 54
18. Scenario
Les transactions regroupent les requêtes en cas de besoin statistique
Example
<transaction name="home">
<request>
<http url="/" />
</request>
<request>
<http url="/img.jpg" />
</request>
</transaction>
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 18 / 54
19. Analyse de la réponse
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 19 / 54
20. dyn_variable
Les variables dynamiques sont initialisées par lecture du résultat d’une
action et peuvent être ré-utilisées dans les actions suivantes.
Example
Regexp
<request>
<dyn_variable name="nb_page" re="Page d+ on (d+)" />
<http url="/articles" method="GET" version="1.1" ></http>
</request>
<request subst="true">
<http url="/articles?page=%%_nb_page%%" method="GET" version="1.1" ></http>
</request>
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 20 / 54
22. match
L’élément match permet de déclencher une action suivant le contenu
du résultat de la requête.
Example
<request>
<match do="loop" sleep_loop="5" max_loop="10" when="match">Retry</match>
<match do="abort" when="match">Error</match>
<http url="/index.php" method="GET">
</request>
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 22 / 54
23. Utilisation de variables dans
les scenarii
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 23 / 54
24. Appel de fonction
Appel de n’importe quelle fonction Erlang ou par evaluation de code
dans le scenario
sourcetype
<setdynvars sourcetype="erlang" callback="module_users:get_unique_id">
<var name="id1" />
</setdynvars>
eval
<setdynvars sourcetype="eval"
code="fun({Pid,DynVars})->
{ok,Val}=ts_dynvars:lookup(md5data,DynVars),
ts_digest:md5hex(Val) end.">
<var name="md5sum" />
</setdynvars>
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 24 / 54
31. repeat
Sortie de boucle avec while ou until
Example
<repeat name="myloop" max_repeat="40">
...
<request>
<dyn_variable name="result" re="Result: (.*)"/>
<http url="/random" method="GET" version="1.1"></http>
</request>
...
<until var="result" eq="5"/>
</repeat>
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 31 / 54
32. En dev pour les devs
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 32 / 54
33. Le tagging de requêtes
(1.5.1 dev) Tagger des requêtes permet d’exclure celles-ci d’un run
particulier
Scenario
<request>
<http url="/" method="GET"></http>
</request>
<request tag="image">
<http url="/foo.png" method="GET"></http>
</request>
Particulièrement utile lors des phases de debugging du scénario (le
tag est loggé avec dumptraffic="protocol")
Option -x
tsung -f SCENARIO.xml -x image start
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 33 / 54
35. loglevel
Le niveau de log est relatif à chaque scenario
emergency
critical
error
warning
notice (default)
info
debug
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 35 / 54
36. fichiers de log
Les logs sont tous présents sur le contrôleur mais séparé dans un
fichier par injecteurs.
tsung.dump
=ERROR REPORT==== 13-Mar-2014::09:13:12 ===
** State machine <0.64.0> terminating
** Last message in was {timeout,#Ref<0.0.0.168>,end_thinktime}
** When State == think
** Data == {state_rcv,none,
{{0,0,0,0},0},
undefined,0,10000,"127.0.0.1",8080,gen_tcp,
{proto_opts,negociate,10,600000,32768,32768,undefined,
undefined},
false,1,undefined,true,undefined,
{1394,698391,114389},
4,4,false,undefined,0,[],<<>>,
{http,0,0,-1,{none,none},false,false,{false,false},[]},
0,2,524288,524288,
{dyndata,[{tsung_userid,"2"}],{http_dyndata,"tsung",[]}},
ts_http,[],undefined,full}
** Reason for termination =
** {{badmatch,false},[{erl_eval,expr,3,[]}]}
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 36 / 54
37. Log
Le level notice permet par exemple l’accès aux variables
scenario
<dyn_variable name="code" re="HTTP/1.1 (d+)" />
tsung0@host.log
=INFO REPORT==== 23-Nov-2013::09:17:37 ===
ts_search:(6:<0.69.0>) DynVar (RE): Match (code=<<"200">>)
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 37 / 54
39. dumptraffic
dumptraffic="true" permet de logger l’intégralité du traffic entre les
injecteurs et la cible
tsung.dump
NewClient:1394697656.592317:1
load:1
Send:1394697656.612861:<7218.63.0>:GET /index.html?f=undefined HTTP/1.1
Host: 127.0.0.1:8080
User-Agent: tsung
Recv:1394697656.613965:<7218.63.0>:HTTP/1.1 200 OK
Server: Yaws 1.94
Date: Thu, 13 Mar 2014 08:00:56 GMT
Last-Modified: Tue, 26 Jun 2012 06:10:45 GMT
Etag: "3G0gq0ABxu9"
Content-Length: 1165
Content-Type: text/html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
...
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 39 / 54
40. Backtrace
Une erreur dans le scenario génère une trace complète sur la console
lors du lancement
Example
Starting Tsung
"Log directory is: /tmp/20140313-0911"
2542- fatal: {endtag_does_not_match,
{was,transaction,should_have_been,setdynvars}}
Config Error, aborting ! {fatal,
{{endtag_does_not_match,
{was,transaction,should_have_been,
setdynvars}},
{file,"tiny.xml"},
{line,32},
{col,9}}}
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 40 / 54
41. Monitoring de la cible
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 41 / 54
47. Statistiques
request : Response time for each request.
page : Response time for each set of requests
connect : Duration of the connection establishment.
reconnect : Number of reconnection.
size_rcv : Size of responses in bytes.
size_sent : Size of requests in bytes.
session : Duration of a user’s session.
users : Number of simultaneous users (it’s session has started,
but not yet finished).
connected : number of users with an opened TCP/UDP
connection
custom transactions
HTTP status counter
Rodolphe Quiédeville (Freelance) Tsung - Mappy 27 mars 2014 47 / 54