Gauge Documentation Release 0.9.8

Total Page:16

File Type:pdf, Size:1020Kb

Gauge Documentation Release 0.9.8 Gauge Documentation Release 0.9.8 Gauge Team Apr 20, 2018 Contents 1 Windows 3 1.1 Using Chocolatey............................................3 2 MacOS 5 3 Linux 7 3.1 On Debian, Ubuntu............................................7 3.2 On RHEL, Fedora, CentOS.......................................7 4 Alternate Methods 9 4.1 Offline Installation............................................9 4.2 Nightly installation............................................ 10 5 Plugins 11 5.1 Language runner............................................. 11 5.2 Reporting plugin............................................. 12 6 Verify your installation 13 7 Uninstallation 15 7.1 Gauge................................................... 15 7.2 Plugins.................................................. 16 8 Quick start 17 8.1 Prerequisites............................................... 17 8.2 Creating a Project............................................ 17 8.3 Running the specs............................................ 18 8.4 Interpret results.............................................. 18 9 Long Start 19 9.1 Why Gauge?............................................... 19 9.2 Gauge Terminologies........................................... 19 10 Using Gauge 29 10.1 Command Line Interface......................................... 29 10.2 Project Structure............................................. 44 10.3 IDE Support............................................... 48 i 11 Syntax 69 11.1 Specification............................................... 69 11.2 Scenario................................................. 69 11.3 Tags.................................................... 69 11.4 Concept.................................................. 70 11.5 Steps................................................... 70 11.6 Parameters................................................ 70 11.7 Special Parameters............................................ 70 11.8 Comments................................................ 71 11.9 Images.................................................. 71 11.10 Links................................................... 71 12 Plugins 73 12.1 Required Plugins............................................. 73 12.2 Language/Reporting Plugins....................................... 73 12.3 IDE plugins................................................ 75 12.4 Build Tools................................................ 75 13 Language Features 77 13.1 Step implementations.......................................... 77 13.2 Execution hooks............................................. 79 13.3 Data Store................................................ 83 13.4 Taking Custom Screenshots....................................... 86 13.5 Custom messages in reports....................................... 87 13.6 Enum as Step parameter......................................... 88 13.7 Continue on Failure........................................... 88 14 Reports 91 14.1 HTML Reports.............................................. 91 14.2 XML Report............................................... 92 14.3 Spectacle................................................. 93 14.4 Flash................................................... 96 15 Configuration 97 15.1 Global.................................................. 97 15.2 Local (Project level)........................................... 98 15.3 Environments............................................... 98 15.4 Language Plugin............................................. 100 15.5 HTTP Proxy............................................... 101 15.6 Build tools................................................ 102 16 Troubleshooting 109 16.1 Logs................................................... 109 16.2 Gauge Installation............................................ 109 16.3 Plugin installation............................................ 110 16.4 Execution................................................. 111 16.5 Intellij idea plugin............................................ 111 17 Examples 113 17.1 Basic................................................... 113 17.2 Web Application............................................. 113 18 HOWTOs 115 18.1 Integrating Gauge with CI/CD tools................................... 115 18.2 Gauge tests on docker.......................................... 122 ii 19 FAQs 125 19.1 Installation................................................ 125 19.2 Execution................................................. 126 19.3 IDE.................................................... 126 19.4 JS FAQs................................................. 128 19.5 Python FAQs............................................... 129 20 Errors 131 20.1 GAUGE-VS-001 : Gauge API Not Started............................... 131 20.2 GAUGE-VS-002 : Incompatible Gauge Version installed........................ 131 20.3 GAUGE-VS-003 : Unable to read Gauge version............................ 132 21 Welcome 133 iii iv Gauge Documentation, Release 0.9.8 Here is the recommended installation steps for all OS. Contents 1 Gauge Documentation, Release 0.9.8 2 Contents CHAPTER 1 Windows 1.1 Using Chocolatey You can install Gauge using Chocolatey as well. choco install gauge If you’re upgrading to a newer version, then use the command: choco upgrade gauge 3 Gauge Documentation, Release 0.9.8 4 Chapter 1. Windows CHAPTER 2 MacOS The following command installs Gauge. For this to work, you will need to install homebrew. If you have brew installed then all you need to run is this command; it will download and install Gauge. This requires you to be connected to the Internet. brew update brew install gauge 5 Gauge Documentation, Release 0.9.8 6 Chapter 2. MacOS CHAPTER 3 Linux 3.1 On Debian, Ubuntu Add Gauge’s GPG key, URL to repository list and install Gauge. sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-keys 023EDB0B echo deb https://dl.bintray.com/gauge/gauge-deb stable main | sudo tee -a /etc/apt/ ,!sources.list sudo apt-get update sudo apt-get install gauge 3.2 On RHEL, Fedora, CentOS Create file /etc/yum.repos.d/gauge-stable.repo with the following content: [gauge-stable] name=gauge-stable baseurl=http://dl.bintray.com/gauge/gauge-rpm/gauge-stable gpgcheck=0 enabled=1 You can use this command to do it in one step: echo -e "[gauge-stable]\nname=gauge-stable\nbaseurl=http://dl.bintray.com/gauge/gauge- ,!rpm/gauge-stable\ngpgcheck=0\nenabled=1" | sudo tee /etc/yum.repos.d/gauge-stable. ,!repo 3.2.1 Install Install on Fedora: 7 Gauge Documentation, Release 0.9.8 sudo dnf install gauge Install on CentOS/RHEL: sudo yum install gauge Having trouble with installation? Head over to our Installation FAQ’s. 8 Chapter 3. Linux CHAPTER 4 Alternate Methods 4.1 Offline Installation 4.1.1 Windows/MacOS You can download the Gauge archive. This is a zip file. Extract it to a folder and add this to your system path. Check the Language runner to install language runner plugins. 4.1.2 Linux Download the zip file. Choose the archive file appropriate for your installation. And run the command below to install Gauge. unzip gauge-$VERSION-$OS.$ARCH.zip ./install.sh Gauge can be installed at custom location by using GAUGE_PREFIX env. Example :- GAUGE_PREFIX=my/custom/location ./install.sh Gauge Plugins also can be installed along with gauge ( requires Internet). Set GAUGE_PLUGINS ( comma separated list of plugins) env to install plugins. Example :- GAUGE_PLUGINS=java,xml-report ./install.sh 9 Gauge Documentation, Release 0.9.8 4.2 Nightly installation Nightly releases are latest development snapshots of Gauge. They have the latest features being developed, but are unstable. If you want to try out Gauge nightly, do this: 4.2.1 Windows/MacOS Based on your system requirement, you can download the Gauge archive. This is a zip file. Extract it to a folder and add this to your system path. 4.2.2 Linux On Debian, Ubuntu Add Gauge’s GPG key: sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-keys 023EDB0B Run this command to add URL to repository list: echo deb https://dl.bintray.com/gauge/gauge-deb nightly main | sudo tee -a /etc/apt/ ,!sources.list Install Gauge sudo apt-get update sudo apt-get install gauge On RHEL, Fedora, CentOS create /etc/yum.repos.d/gauge-nightly.repo with the following content: [gauge-nightly] name=gauge-nightly baseurl=http://dl.bintray.com/gauge/gauge-rpm/gauge-nightly gpgcheck=0 enabled=1 You can use this command to do it in one step: echo -e "[gauge-nightly]\nname=gauge-nightly\nbaseurl=http://dl.bintray.com/gauge/ ,!gauge-rpm/gauge-nightly\ngpgcheck=0\nenabled=1" | sudo tee /etc/yum.repos.d/gauge- ,!nightly.repo Install on Fedora: sudo dnf install gauge Install on CentOS/RHEL: sudo yum install gauge Having trouble with installation? Head over to our Installation FAQ’s. 10 Chapter 4. Alternate Methods CHAPTER 5 Plugins 5.1 Language runner 5.1.1C# gauge install csharp 5.1.2 Java gauge install java 5.1.3 Javascript gauge install js 5.1.4 Python gauge install python 5.1.5 Ruby gauge install ruby One can use IDEs to create the projects and run specifications, for this example, we are using the command line options. 11 Gauge Documentation, Release 0.9.8 5.2 Reporting plugin 5.2.1 HTML Reports gauge install html-report 5.2.2 XML Reports gauge install xml-report 12 Chapter 5. Plugins CHAPTER 6 Verify your installation You can check the version of your plugin and Gauge core by executing the following command. gauge version If this enlists a version then you’re intallation and initialisation is has been successful. Your output will
Recommended publications
  • Programming Language Use in US Academia and Industry
    Informatics in Education, 2015, Vol. 14, No. 2, 143–160 143 © 2015 Vilnius University DOI: 10.15388/infedu.2015.09 Programming Language Use in US Academia and Industry Latifa BEN ARFA RABAI1, Barry COHEN2, Ali MILI2 1 Institut Superieur de Gestion, Bardo, 2000, Tunisia 2 CCS, NJIT, Newark NJ 07102-1982 USA e-mail: [email protected], [email protected], [email protected] Received: July 2014 Abstract. In the same way that natural languages influence and shape the way we think, program- ming languages have a profound impact on the way a programmer analyzes a problem and formu- lates its solution in the form of a program. To the extent that a first programming course is likely to determine the student’s approach to program design, program analysis, and programming meth- odology, the choice of the programming language used in the first programming course is likely to be very important. In this paper, we report on a recent survey we conducted on programming language use in US academic institutions, and discuss the significance of our data by comparison with programming language use in industry. Keywords: programming language use, academic institution, academic trends, programming lan- guage evolution, programming language adoption. 1. Introduction: Programming Language Adoption The process by which organizations and individuals adopt technology trends is complex, as it involves many diverse factors; it is also paradoxical and counter-intuitive, hence difficult to model (Clements, 2006; Warren, 2006; John C, 2006; Leo and Rabkin, 2013; Geoffrey, 2002; Geoffrey, 2002a; Yi, Li and Mili, 2007; Stephen, 2006). This general observation applies to programming languages in particular, where many carefully de- signed languages that have superior technical attributes fail to be widely adopted, while languages that start with modest ambitions and limited scope go on to be widely used in industry and in academia.
    [Show full text]
  • Basic Java Programming Assignments
    Basic Java Programming Assignments Foolish Clinton smooths awash and differentially, she brunches her schnapps denunciate carpingly. Audaciously muckle, Deane talks properness and whittles chowder. Nealson garment tigerishly. What is often offer the exact same process and can perform push aside from java basic bit field if a result Provides a basic skeleton problems faced by teenagers today essay. Where is especially best place each get night with Java assignments. Java Week 9Q1 Complete the code to conduct a BASIC CALCULATOR that. Some than the assignments require more thorough understanding of the basic concepts to develop basic programs while if need skills to develop Graphical User. Our java basic java programming assignments on our code for? Learning theory is felt but solving Java programming exercises for beginners is a follow The short answer her very king the stock of. Java Programming Assignment Help Java Homework Help at best online tutors. Java Programming Study Resources Need some pain help with Java Programming Browse notes questions homework exams and apply more covering Java. It in easy people understand the Java assignments crafted by our experts Java programs that are crafted with bytecodes would each the program to run briskly compared. Java Programming Assignments With Solutions Pdf Pinterest. Exercises to let my Java programming skills Stack. Do my Java Homework Java Assignment Help Codingzap. Here sure have the opportunity to spawn the Java programming language concepts by solving the exercises starting from basic to more. Java Programming Study Resources Course Hero. 3 access online course materials to obtain assignments and related. Reading 2 Basic Java MIT.
    [Show full text]
  • Model-Based Testing in Practice: an Experience Report from the Web Applications Domain
    Model-based testing in practice: An experience report from the web applications domain Vahid Garousi Alper Buğra Keleş, Yunus Balaman, Andrea Arcuri Queen’s University Belfast, UK Zeynep Özdemir Güler Kristiania University College, Norway Bahar Software Engineering Consulting Testinium A.Ş., Istanbul, Turkey Oslo Metropolitan University, Norway Corporation, UK {alper.keles, yunus.balaman, [email protected] [email protected] zeynep.ozdemir}@ testinium.com Abstract: In the context of a software testing company, we have deployed the model-based testing (MBT) approach to take the company’s test automation practices to higher levels of maturity and capability. We have chosen, from a set of open-source/commercial MBT tools, an open-source tool named GraphWalker, and have pragmatically used MBT for end-to-end test automation of several large web and mobile applications under test. The MBT approach has provided, so far in our project, various tangible and intangible benefits in terms of improved test coverage (number of paths tested), improved test-design practices, and also improved real-fault detection effectiveness. The goal of this experience report (applied research report), done based on “action research”, is to share our experience of applying and evaluating MBT as a software technology (technique and tool) in a real industrial setting. We aim at contributing to the body of empirical evidence in industrial application of MBT by sharing our industry-academia project on applying MBT in practice, the insights that we have gained, and the challenges and questions that we have faced and tackled so far. We discuss an overview of the industrial setting, provide motivation, explain the events leading to the outcomes, discuss the challenges faced, summarize the outcomes, and conclude with lessons learned, take-away messages, and practical advices based on the described experience.
    [Show full text]
  • Dispelling Inertia Towards Behavior-Driven Development an Assessment Tool for Development Practice Readiness
    DEGREE PROJECT IN TECHNOLOGY, FIRST CYCLE, 15 CREDITS STOCKHOLM, SWEDEN 2019 Dispelling inertia towards behavior-driven development An assessment tool for development practice readiness AGNES PETÄJÄVAARA KTH ROYAL INSTITUTE OF TECHNOLOGY SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Abstract Behavior-driven development (BDD) is a development practice focusing on behaviors and requirements from users and stakeholders. It is designed to develop behaviors which contribute directly to system outcomes. BDD encourages multiple stakeholders to collaborate by minimizing communication gaps and create a shared understanding of the project between technical and non-technical speakers. As a result, the development process becomes faster and the cost lower. Although BDD has many benefits, there are teams who feel inertia towards using it as their main development practice. This thesis work took place at a company with a strong agile foundation. It had the goal to investigate reasons why teams feel inertia against BDD, and thus contribute to BDD research and assist the company. The assumption that positive motivation would help in dispelling inertia was the idea behind this thesis work, and that a stronger motivation for a practice can be achieved by assessing a team’s suitability for it. To reach the goal of the thesis a qualitative research methodology was used, with a focus on obtaining a better understanding of opinions and behaviors that exist, with rounds of interviews and forms as the main method of data collection. Interviews were also consistently used throughout the thesis work to validate that it followed the right track. The inertia which teams at the company have experienced was clustered into different dimensions.
    [Show full text]
  • Which Language(S) Are Best (For Web Development) Jackson A
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by UTC Scholar University of Tennessee at Chattanooga UTC Scholar Honors Theses Student Research, Creative Works, and Publications 5-2016 Which language(s) are best (for web development) Jackson A. Stone University of Tennessee at Chattanooga, [email protected] Follow this and additional works at: http://scholar.utc.edu/honors-theses Part of the Computer Sciences Commons Recommended Citation Stone, Jackson A., "Which language(s) are best (for web development)" (2016). Honors Theses. This Theses is brought to you for free and open access by the Student Research, Creative Works, and Publications at UTC Scholar. It has been accepted for inclusion in Honors Theses by an authorized administrator of UTC Scholar. For more information, please contact [email protected]. Which language(s) are best? (For Web Development) By Jackson Stone Expected Graduation: Spring 2016, BS in CPSC: Scientific Applications Honors Thesis The University of Tennessee at Chattanooga Honor’s College Examination date: 3/28/16 Professor David Schwab Project Director Professor Katherine Winters Examiner Dr. Jonathan Mies Examiner Dr. Greg O’Dea Honor’s College Representative Abstract This thesis is intended to shine light on the complex nature of the online software ecosystem, in the hopes that it may help students who wish to pursue web development determine how to best spend their time researching and learning varying technologies. This work is licensed under a Creative Commons Attribution 4.0 International License. Table of Contents Introduction .................................................................................................................................................. 3 The Anatomy of a Webpage ......................................................................................................................... 5 Servers and Browser Interactions ...............................................................................................................
    [Show full text]
  • Types/Bluebird
    @types/bluebird MIT https://www.npmjs.com/package/@types/bluebird @types/body-parser MIT https://www.npmjs.com/package/@types/body-parser @types/chai MIT https://www.npmjs.com/package/@types/chai @types/express MIT https://www.npmjs.com/package/@types/express @types/express-serve-static-core MIT https://www.npmjs.com/package/@types/express-serve-static-core @types/form-data MIT https://www.npmjs.com/package/@types/form-data @types/geojson MIT https://www.npmjs.com/package/@types/geojson @types/js-yaml MIT https://www.npmjs.com/package/@types/js-yaml @types/lodash MIT https://www.npmjs.com/package/@types/lodash @types/mime MIT https://www.npmjs.com/package/@types/mime @types/moment-range MIT https://www.npmjs.com/package/@types/moment-range @types/node MIT https://www.npmjs.com/package/@types/node @types/node-statsd MIT https://www.npmjs.com/package/@types/node-statsd @types/react MIT https://www.npmjs.com/package/@types/react @types/react-dom MIT https://www.npmjs.com/package/@types/react-dom @types/react-transition-group MIT https://www.npmjs.com/package/@types/react-transition-group @types/recompose MIT https://www.npmjs.com/package/@types/recompose @types/request MIT https://www.npmjs.com/package/@types/request @types/sequelize MIT https://www.npmjs.com/package/@types/sequelize @types/serve-static MIT https://www.npmjs.com/package/@types/serve-static @types/validator MIT https://www.npmjs.com/package/@types/validator aasm MIT https://rubygems.org/gems/aasm abab ISC https://www.npmjs.com/package/abab abbrev ISC http://github.com/isaacs/abbrev-js
    [Show full text]
  • Contracts for Domain-Specific Languages in Ruby
    Contracts for Domain-Specific Languages in Ruby T. Stephen Strickland Brianna M. Ren Jeffrey S. Foster University of Maryland, College Park sstrickl,bren,jfoster @cs.umd.edu { } Abstract In this paper, we propose RDL, a new contract system for This paper concerns object-oriented embedded DSLs, which are Ruby DSLs. RDL helps users understand a DSL because the DSL popular in the Ruby community but have received little attention in documentation is often insufficient. The key feature of RDL is that the research literature. Ruby DSLs implement language keywords it integrates both standard contract checking [15, 30] and structural as implicit method calls to self; language structure is enforced by checks of correct DSL keyword availability and use, all in a Ruby- adjusting which object is bound to self in different scopes. While friendly way. The latter lets programmers enforce the definitions Ruby DSLs are powerful and elegant, they suffer from a lack of of DSLs and attribute blame properly when a contract is violated. specification. In this paper, we introduce contracts for Ruby DSLs, For example, without contracts a client could invoke an inherited which allow us to attribute blame appropriately when there are in- method that is not intended to be a DSL keyword, or a provider consistencies between an implementation and client. We formal- could fail to implement a keyword. RDL also supports higher- order DSL contracts, meaning one DSL keyword might require that ize Ruby DSL contract checking in λDSL, a core calculus that uses premethods with instance evaluation to enforce contracts. We then one of its arguments be an object implementing a specified DSL.
    [Show full text]
  • Assessment of Programming Language Reliability Utilizing Soft-Computing
    International Journal on Computational Sciences & Applications (IJCSA) Vol.3, No.3, June 2013 Assessment of Programming Language Reliability Utilizing Soft-Computing 1Obi J.C. and 2Akwukuma V.V.N. 1,2Department of Computer Science. University of Benin, P.M.B. 1154. Benin City. Nigeria. 2e-mail: [email protected]; +234(0)8033440003; Corresponding author: 1e-mail: [email protected]; +234(0)8093088218 Abstract Reliability is a critical program evaluation criterion so much so that program writing (expressing one’s computational ideas) will be of no use if the end result is not consistent. Programmers cognizant pertaining to a particular programming language selected for solving a particular computational problem will yield the desired result. This can only be achieved if the program written in a particular programming language either structured (C, C++) or Objected-Oriented (Java, C#, Ruby) is gauge with the criteria’s for evaluating program reliability. Adopting a soft-computing based approach will help model solutions to program reliability utilizing linguistic variables. Simulating a soft-computing system comprising of genetic algorithm and fuzzy logic for determining program language reliability was the rationale behind this research paper. The reliability of programming language could be determined in terms of “Reliable”, “Moderate Reliable” and “Not Reliable” based on the possessed reliability criteria of the examined programming language. Keywords Fuzzy logic, Fuzzy set, Reliability, Soft-computing. 1.0 Introduction Reliability is an essential program attribute. Reliability is closely linked with the quality of measurement which is determined by the "consistency" or "repeatability" of program measure (Jiantao, 1999). Program reliability is the probability of failure-free program operation for a specified period of time under a specified set of conditions or defined as producing expected results for all correct input or the ability of a program to perform to specification under all conditions (Robert, 2006).
    [Show full text]
  • William Kennedy with Brian Ketelsen Erik St
    William Kennedy WITH Brian Ketelsen Erik St. Martin FOREWORD BY Steve Francia MANNING www.allitebooks.com Go in Action Licensed to Markwww.allitebooks.com Watson <[email protected]> Licensed to Markwww.allitebooks.com Watson <[email protected]> Go in Action WILLIAM KENNEDY WITH BRIAN KETELSEN AND ERIK ST. MARTIN MANNING SHELTER ISLAND Licensed to Markwww.allitebooks.com Watson <[email protected]> For online information and ordering of this and other Manning books, please visit www.manning.com. The publisher offers discounts on this book when ordered in quantity. For more information, please contact Special Sales Department Manning Publications Co. 20 Baldwin Road PO Box 761 Shelter Island, NY 11964 Email: [email protected] ©2016 by Manning Publications Co. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps. Recognizing the importance of preserving what has been written, it is Manning’s policy to have the books we publish printed on acid-free paper, and we exert our best efforts to that end. Recognizing also our responsibility to conserve the resources of our planet, Manning books are printed on paper that is at least 15 percent recycled and processed without the use of elemental chlorine.
    [Show full text]
  • Model-Based Testing: from Requirements to Tests
    FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Model-based testing: From requirements to tests Daniel Ademar Magalhães Maciel Mestrado Integrado em Engenharia Informática e Computação Supervisor: Professor Ana Cristina Ramada Paiva Second Supervisor: Professor Alberto Manuel Rodrigues da Silva February 21, 2019 Model-based testing: From requirements to tests Daniel Ademar Magalhães Maciel Mestrado Integrado em Engenharia Informática e Computação February 21, 2019 Abstract Software testing is increasingly valued as it promotes the quality of the software by checking that it meets the expected requirements. Frequently, software testing tends to be neglected at the beginning of the projects, only performed on the late stage. However, it is possible to benefit from combining testing with requirement specification activities. On one hand, acceptance tests specification will require less manual effort since they are de- fined or generated automatically from the requirements specification. On the other hand, the re- quirements specification itself will end up having higher quality due to the use of a more struc- tured language, reducing typical problems such as ambiguity, inconsistency and incorrectness of requirements. In this research we propose an approach that promotes the practice of tests specification since the very beginning of projects, and its integration with the requirements specification itself. This approach is conducted by model-driven techniques that contribute to maintain the requirements and tests alignment, namely alignment between requirements (defined as use cases), test cases, and low-level automated test scripts. To show the applicability of this approach we integrate two complementary languages: (i) the RSL (Requirements Specification Language) that is particularly designed to support both require- ments and tests specification in a rigorous and consistent way; and (ii) the Robot language, which is a low-level keyword-based language for the specification of test scripts.
    [Show full text]
  • Gauge: an Interactive Data-Driven Visualization Tool for HPC Application I/O Performance Analysis
    Gauge: An Interactive Data-Driven Visualization Tool for HPC Application I/O Performance Analysis Eliakin del Rosario∗, Mikaela Currier∗, Mihailo Isakov∗, Sandeep Madireddyy, Prasanna Balaprakashy, Philip Carnsy, Robert B. Rossy, Kevin Harmsy, Shane Snydery, Michel A. Kinsy∗ ∗ Adaptive and Secure Computing Systems (ASCS) Laboratory Department of Electrical and Computer Engineering, Texas A&M University, College Station, TX 77843 fmihailo,eliakin.drosario,[email protected] y Argonne National Laboratory, Lemont, IL 60439 [email protected], fpbalapra,carns,rross,[email protected], [email protected] Abstract—Understanding and alleviating I/O bottlenecks in into the workloads running on HPC systems. In our study, HPC system workloads is difficult due to the complex, multi- we analyzed 89,844 Darshan logs collected from the Argonne layered nature of HPC I/O subsystems. Even with full visibility Leadership Computing Facility (ALCF) Theta supercomputer, into the jobs executed on the system, the lack of tooling makes debugging I/O problems difficult. In this work, we introduce in the period from May 2017 to March 2020 [3]. Gauge, an interactive, data-driven, web-based visualization tool While Darshan offers a number of utilities for visualizing for HPC I/O performance analysis. logs and exporting a record of an HPC job, these tools work Gauge aids in the process of visualizing and analyzing, in on a per-log basis. To work with bulk logs, users have to an interactive fashion, large sets of HPC application execution manually aggregate Darshan outputs, write scripts, or, in the logs. It performs a number of functions met to significantly reduce the cognitive load of navigating these sets - some worth best-case scenario, rely on the facility to provide, for example, many years of HPC logs.
    [Show full text]
  • From Java to Ruby
    What readers are saying about From Java to Ruby Bruce has a great reputation as a forward-leaning thinker, and he articulates his opinions well. The mix of audience (Manager and Developer) leans towards managers, but he manages to pull this dif- ficult mix off well. It is just as good as I would expect from Bruce, hav- ing read his other works. Neal Ford Author, speaker, and architect, Thoughtworks Many leading developers are already sold on the idea that Ruby can benefit their organizations—however, most of us still have to convince our management. With Bruce Tate’s Java to Ruby,wehaveapowerful ally in our quest to add this fantastic language to our toolbox. Nathaniel T. Schutta Co-author, Foundations of Ajax This is a book that every die hard Java developer should read. The strategy of integrating current Java Enterprise assets with Ruby’s productivity can bring the edge that an organization needs to remain competitive, react quicker to requirements, market shifts and ulti- mately more agile. Miguel Serrano Enterprise Architect, VWR International This book provides an excellent overview of the important Ruby com- ponents and concepts to the Java developer. Jeffrey Blessing, Ph.D. Professor, Milwaukee School of Engineering From Java to Ruby Things Every Manager Should Know Bruce Tate The Pragmatic Bookshelf Raleigh, North Carolina Dallas, Texas Pragmatic Bookshelf Many of the designations used by manufacturers and sellers to distinguish their prod- ucts are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals.
    [Show full text]