Supermann. Release 3.0.0

Size: px
Start display at page:

Download "Supermann. Release 3.0.0"

Transcription

1 Supermann Release May 27, 2015

2

3 Contents 1 Usage What Supermann does supermann-from-file Installation Requirements Changelog Version Licence 9 5 Authors supermann package supermann.metrics package Python Module Index 17 i

4 ii

5 Supermann monitors processes running under Supervisor and sends metrics to Riemann. Source on GitHub Documentation on Read the Docs Packages on PyPI Contents 1

6 2 Contents

7 CHAPTER 1 Usage Supermann runs as a Supervisor event listener, and will send metrics every time an event is received. The only configuration Supermann needs is the host and port for a Riemann instance, which can be provided as arguments or by the RIEMANN_HOST and RIEMANN_PORT environment variables. Basic usage is as follows, though Supermann will not start if not run under Supervisor: supermann [--log-level=level] HOST PORT A Supervisor configuration file for Supermann should look something like this: [eventlistener:supermann] command=supermann-from-file /etc/supermann.args events=process_state,tick_5 This loads Supermann s arguments from /etc/supermann.args, which would contain a host and port for a Riemann server - localhost:5555 is used as the default if no host or port are specified: riemann.example.com What Supermann does Supermann will collect and send information about the system and the processes running under Supervisor each time an event is received. Listening for the TICK_5 and PROCESS_STATE events will collect and send information every 5 seconds, and when a program changes state. See the Supervisor event documentation for more information. Supermann is designed to bail out when an error is encountered, allowing Supervisor to restart it - it is recommended that you do not set autorestart=false in the Supervisor configuration for the event listener. Logs are sent to STDERR for collection by Supervisor - the log level can be controlled with the --log-level argument. The logs can be read with supervisorctl tail supermann stderr or finding the log in Supervisor s log directory. 1.2 supermann-from-file An issue with modifying the configuration of a Supervisord event listener (link) means that the command used to start an event listener process can t be changed while Supervisord is running. Supermann 2 allowed files to be named directly as an argument that more arguments would be read from. Supermann 3 instead provides the supermann-from-file entry point, which loads a file containing arguments that will be passed to the main supermann command. 3

8 The easiest way to upgrade between versions is to rename the eventlistener:supermann section in the Supervisord configuration, and to then run supervisorctl update. This will remove the old supermann instance, and start a new instance with the new command. The supermann-from-file command reads a set of arguments from a file and starts Supermann with those arguments, so that Supermann s configuration can be changed without restarting Supervisord. 4 Chapter 1. Usage

9 CHAPTER 2 Installation Supermann can be installed with pip install supermann. It s recommended to install it in the same Python environment as Supervisor. Supervisor can also be installed with pip, or can be installed from your distributions package manager. Once Supermann is installed, add an eventlistener section to the Supervisor configuration (/etc/supervisord.conf by default) and restart Supervisor. 2.1 Requirements click blinker protobuf psutil riemann-client supervisor The psutil package uses C extensions, and installing the package from source or with a python package manager (such as pip) will require build tools. Alternatively, it can be installed from your distribution s repositories (python-psutil on Debian and CentOS). Superman currently uses a very old version of psutil so as to remain compatible with CentOS. Supermann is developed and tested on Python 2.6. There are no plans to release it for Python 3, as Google s protobuf library (and therefore riemann-client) are only compatible with Python 2. 5

10 6 Chapter 2. Installation

11 CHAPTER 3 Changelog 3.1 Version Upgraded to most recent version of psutil (2.1.1) Replaced or changed various metrics Replaced argparse with click and made improvements to CLI argument syntax with supermann-from-file Removed --memmon option and memory monitoring plugin Added documentation on Read the Docs Many other minor fixes and improvements 7

12 8 Chapter 3. Changelog

13 CHAPTER 4 Licence Supermann is licensed under the MIT Licence. The protocol buffer definition is sourced from the Riemann Java client, which is licensed under the Apache Licence. 9

14 10 Chapter 4. Licence

15 CHAPTER 5 Authors Supermann was written by Sam Clements, while working at DataSift. 5.1 supermann package supermann.cli Command line entry points to supermann using click supermann.cli.main The main entry point - see supermann --help for more information. supermann.cli.from_file An alternate entry point - see supermann-from-file --help for more information. Used as a workaround for an issue with Supervisor supermann.core The Supermann core class supermann.core.supermann(host=none, port=none) Bases: object Manages the components that make up a Supermann instance. Manages a the Supervisor and Riemann clients, and distributes events to the supermann.signals.event and supermann.signals.process signals. connect(signal, reciver) Connects a signal that will recive messages from this instance Parameters signal (blinker.signal) Listen for events from this signal reciver A function that will recive events connect_event(reciver) Conects a reciver to event using connect() connect_process(reciver) Conects a reciver to process using connect() 11

16 emit_processes(event) Emit a signal for each Supervisor child process A new cache is created from the processes emitted in this cycle, which drops processes that no longer exist from the cache. Parameters event An event received from Supervisor exception_handler(*exc_info) Used as a global exception handler to ensure errors are logged run() Runs forever, ensuring Riemann is disconnected properly Returns the Supermann instance the method was called on with_all_recivers() Adds all recivers to the Supermann instance Returns the Supermann instance the method was called on supermann.signals Blinker signals used for sending end receiving events supermann.supervisor Supervisor interface for Supermann class supermann.supervisor.event(headers, payload) Bases: object An event recived from Supervisor headers payload class supermann.supervisor.eventlistener(stdin=<open file <stdin>, mode r >, stdout=<open file <stdout>, mode w >, reserve_stdin=true, Bases: object reserve_stdout=true) A simple Supervisor event listener Listens for events from Supervisor and yields Event objects STDIN and STDOUT are referenced by the object, so that they are easy to test, and so the references in sys can be disabled. fail() ok() Parameters stdin (file) A file-like object that can be used as STDIN stdout (file) A file-like object that can be used as STDOUT reserve_stdin (bool) Set sys.stdin to None reserve_stdout (bool) Set sys.stdout to None 12 Chapter 5. Authors

17 static parse(line) Parses a Supervisor header or payload Parameters line (str) A line from a Supervisor message Returns A dictionary containing the header or payload ready() Writes and flushes the READY symbol to stdout result(result) Writes and flushes a result message to stdout Parameters result (str) OK or FAIL wait() Waits for an event from Supervisor, then reads and returns it Returns An Event containing the headers and payload class supermann.supervisor.supervisor Bases: object Contains the Supervisor event listener and XML-RPC interface rpc Returns the supervisor namespace of the XML-RPC interface run_forever() Yields events from Supervisor, managing the OK and READY signals Returns A stream of :py:class:.event s supermann.utils Utility functions used in other parts of Supermann supermann.utils.configure_logging(level=20, format=u %(asctime)s %(levelname)-8s [%(name)s] %(message)s, log=u ) This configures a logger to output to the console Parameters level (int or str) The log level to set format (str) The logging format to use log (str) The log to configure, defaulting to the root logger supermann.utils.fullname(obj) Returns the qualified name of an object s class Parameters obj An object to inspect Returns The name of the objects class supermann.utils.getlogger(obj) Returns a logger using the full name of the given object Parameters obj An object to inspect Returns A logger object using the fullname() of the object 5.1. supermann package 13

18 5.2 supermann.metrics package supermann.metrics.process Metrics reported for each process running under Supervisor supermann.metrics.process.cpu(sender, process, data) CPU utilisation as a percentage and total CPU time in seconds process:{name}:cpu:percent process:{name}:cpu:absolute supermann.metrics.process.fds(sender, process, data) Number of file descriptors a process is using it s hard limit process:{name}:fds:absolute process:{name}:fds:percent supermann.metrics.process.get_nofile_limit(pid) Returns the NOFILE limit for a given PID Parameters pid (int) The PID of the process Returns (int) The NOFILE limit supermann.metrics.process.io(sender, process, data) Bytes read and written by a process process:{name}:io:read:bytes process:{name}:io:write:bytes supermann.metrics.process.mem(sender, process, data) Total virtual memory, total RSS memory, RSS utilisation as percentage process:{name}:mem:virt:absolute process:{name}:mem:rss:absolute process:{name}:mem:rss:percent supermann.metrics.process.running_process(function) Decorates a signals.process reciver to only run if the process exists supermann.metrics.process.state(sender, process, data) The process state that Supervisor reports process:{name}:state supermann.metrics.process.uptime(sender, process, data) The time in seconds Supervisor reports the process has been running process:{name}:uptime supermann.metrics.system Metrics reported for the entire system supermann.metrics.system.cpu(self, event) CPU utilisation as a percentage system:cpu:percent 14 Chapter 5. Authors

19 supermann.metrics.system.load(self, event) Load averages system:load:1min system:load:5min system:load:15min supermann.metrics.system.load_scaled(self, event) Load averages system:load_scaled:1min supermann.metrics.system.mem(self, event) Memory utilisation - total, free, cached, buffers system:mem:percent system:mem:total system:mem:free system:mem:cached system:mem:buffers supermann.metrics.system.swap(self, event) Swap utilisation system:swap:percent system:swap:absolute supermann.metrics.system.uptime(self, event) System uptime (uses /proc/uptime) system:uptime 5.2. supermann.metrics package 15

20 16 Chapter 5. Authors

21 Python Module Index s supermann.cli, 11 supermann.core, 11 supermann.metrics.process, 14 supermann.metrics.system, 14 supermann.signals, 12 supermann.supervisor, 12 supermann.utils, 13 17

22 18 Python Module Index

23 Index C configure_logging() (in module supermann.utils), 13 connect() (supermann.core.supermann method), 11 connect_event() (supermann.core.supermann method), 11 connect_process() (supermann.core.supermann method), 11 cpu() (in module supermann.metrics.process), 14 cpu() (in module supermann.metrics.system), 14 E emit_processes() (supermann.core.supermann method), 11 Event (class in supermann.supervisor), 12 EventListener (class in supermann.supervisor), 12 exception_handler() (supermann.core.supermann method), 12 F fail() (supermann.supervisor.eventlistener method), 12 fds() (in module supermann.metrics.process), 14 from_file (in module supermann.cli), 11 fullname() (in module supermann.utils), 13 G get_nofile_limit() (in module supermann.metrics.process), 14 getlogger() (in module supermann.utils), 13 H headers (supermann.supervisor.event attribute), 12 I io() (in module supermann.metrics.process), 14 L load() (in module supermann.metrics.system), 15 load_scaled() (in module supermann.metrics.system), 15 M main (in module supermann.cli), 11 mem() (in module supermann.metrics.process), 14 mem() (in module supermann.metrics.system), 15 O ok() (supermann.supervisor.eventlistener method), 12 P parse() (supermann.supervisor.eventlistener static method), 12 payload (supermann.supervisor.event attribute), 12 R ready() (supermann.supervisor.eventlistener method), 13 result() (supermann.supervisor.eventlistener method), 13 rpc (supermann.supervisor.supervisor attribute), 13 run() (supermann.core.supermann method), 12 run_forever() (supermann.supervisor.supervisor method), 13 running_process() (in module supermann.metrics.process), 14 S state() (in module supermann.metrics.process), 14 Supermann (class in supermann.core), 11 supermann.cli (module), 11 supermann.core (module), 11 supermann.metrics.process (module), 14 supermann.metrics.system (module), 14 supermann.signals (module), 12 supermann.supervisor (module), 12 supermann.utils (module), 13 Supervisor (class in supermann.supervisor), 13 swap() (in module supermann.metrics.system), 15 U uptime() (in module supermann.metrics.process), 14 uptime() (in module supermann.metrics.system), 15 19

24 W wait() (supermann.supervisor.eventlistener method), 13 with_all_recivers() (supermann.core.supermann method), Index

superlance Documentation

superlance Documentation superlance Documentation Release 1.1.0.dev0 Chris McDonough, Agendaless Consulting, Inc. Feb 17, 2018 Contents 1 httpok Documentation 3 1.1 Command-Line Syntax..........................................

More information

drove.io Documentation

drove.io Documentation drove.io Documentation Release 0.1 Andrés J. Díaz November 20, 2014 Contents 1 Installation 3 2 Usage 5 3 Plugins 7 4 Reference 9 4.1 drove................................................... 9 4.2 drove.command.............................................

More information

CIS192 Python Programming

CIS192 Python Programming CIS192 Python Programming Iterators, Generators, Exceptions & IO Raymond Yin University of Pennsylvania September 28, 2016 Raymond Yin (University of Pennsylvania) CIS 192 September 28, 2016 1 / 26 Outline

More information

CIS192 Python Programming

CIS192 Python Programming CIS192 Python Programming Object Oriented Programming Harry Smith University of Pennsylvania February 15, 2016 Harry Smith (University of Pennsylvania) CIS 192 Lecture 5 February 15, 2016 1 / 26 Outline

More information

CIS192 Python Programming

CIS192 Python Programming CIS192 Python Programming Iterators, Generators, IO, and Exceptions Harry Smith University of Pennsylvania February 15, 2018 Harry Smith (University of Pennsylvania) CIS 192 Lecture 5 February 15, 2018

More information

Lazarus Documentation

Lazarus Documentation Lazarus Documentation Release 0.6.3 Lazarus Authors December 09, 2014 Contents 1 Lazarus 3 1.1 Features.................................................. 3 1.2 Examples.................................................

More information

Part IV. More on Python. Tobias Neckel: Scripting with Bash and Python Compact Max-Planck, February 16-26,

Part IV. More on Python. Tobias Neckel: Scripting with Bash and Python Compact Max-Planck, February 16-26, Part IV More on Python Compact Course @ Max-Planck, February 16-26, 2015 36 More on Strings Special string methods (excerpt) s = " Frodo and Sam and Bilbo " s. islower () s. isupper () s. startswith ("

More information

yaml4rst Documentation

yaml4rst Documentation yaml4rst Documentation Release 0.1.5 Robin Schneider Mar 16, 2017 Contents 1 yaml4rst introduction 3 1.1 Usage................................................... 3 1.2 Features..................................................

More information

10. I/O System Library

10. I/O System Library 10. I/O System Library Header File #include // Found in C:\Nburn\include General File Descriptor Functions close --- Close open file descriptors read --- Read data from a file descriptor ReadWithTimeout

More information

tappy Documentation Release 2.5 Matt Layman and contributors

tappy Documentation Release 2.5 Matt Layman and contributors tappy Documentation Release 2.5 Matt Layman and contributors Sep 15, 2018 Contents 1 Installation 3 2 Documentation 5 2.1 TAP Producers.............................................. 5 2.2 TAP Consumers.............................................

More information

Supervisor as a Platform. OSCON 2008 Mike Naberezny

Supervisor as a Platform. OSCON 2008 Mike Naberezny Supervisor as a Platform OSCON 2008 Mike Naberezny About Me http://mikenaberezny.com http://maintainable.com http://ohloh.net/accounts/mnaberez Goals Quickly learn the basics of Supervisor and how to get

More information

python-hl7 Documentation

python-hl7 Documentation python-hl7 Documentation Release 0.2.4 John Paulett August 18, 2014 Contents 1 Usage 3 2 MLLP network client - mllp_send 5 3 Contents 7 3.1 python-hl7 API..............................................

More information

Cross-platform daemonization tools.

Cross-platform daemonization tools. Cross-platform daemonization tools. Release 0.1.0 Muterra, Inc Sep 14, 2017 Contents 1 What is Daemoniker? 1 1.1 Installing................................................. 1 1.2 Example usage..............................................

More information

helper Documentation Release Gavin M. Roy

helper Documentation Release Gavin M. Roy helper Documentation Release 2.1.0 Gavin M. Roy September 24, 2013 CONTENTS i ii helper is a command-line/daemon application wrapper package with the aim of creating a consistent and fast way to creating

More information

3. Process Management in xv6

3. Process Management in xv6 Lecture Notes for CS347: Operating Systems Mythili Vutukuru, Department of Computer Science and Engineering, IIT Bombay 3. Process Management in xv6 We begin understanding xv6 process management by looking

More information

Pulp Python Support Documentation

Pulp Python Support Documentation Pulp Python Support Documentation Release 1.0.1 Pulp Project October 20, 2015 Contents 1 Release Notes 3 1.1 1.0 Release Notes............................................ 3 2 Administrator Documentation

More information

Binghamton University. CS-220 Spring Includes & Streams

Binghamton University. CS-220 Spring Includes & Streams Includes & Streams 1 C Pre-Processor C Program Pre-Processor Pre-processed C Program Header Files Header Files 2 #include Two flavors: #include Replace this line with the contents of file abc.h

More information

Bambu API Documentation

Bambu API Documentation Bambu API Documentation Release 2.0.1 Steadman Sep 27, 2017 Contents 1 About Bambu API 3 2 About Bambu Tools 2.0 5 3 Installation 7 4 Basic usage 9 5 Questions or suggestions? 11 6 Contents 13 6.1 Defining

More information

Python INTRODUCTION: Understanding the Open source Installation of python in Linux/windows. Understanding Interpreters * ipython.

Python INTRODUCTION: Understanding the Open source Installation of python in Linux/windows. Understanding Interpreters * ipython. INTRODUCTION: Understanding the Open source Installation of python in Linux/windows. Understanding Interpreters * ipython * bpython Getting started with. Setting up the IDE and various IDEs. Setting up

More information

Performance Objects and Counters for the System

Performance Objects and Counters for the System APPENDIXA Performance Objects and for the System May 19, 2009 This appendix provides information on system-related objects and counters. Cisco Tomcat Connector, page 2 Cisco Tomcat JVM, page 4 Cisco Tomcat

More information

CSC209: Software tools. Unix files and directories permissions utilities/commands Shell programming quoting wild cards files

CSC209: Software tools. Unix files and directories permissions utilities/commands Shell programming quoting wild cards files CSC209 Review CSC209: Software tools Unix files and directories permissions utilities/commands Shell programming quoting wild cards files ... and systems programming C basic syntax functions arrays structs

More information

CSC209: Software tools. Unix files and directories permissions utilities/commands Shell programming quoting wild cards files. Compiler vs.

CSC209: Software tools. Unix files and directories permissions utilities/commands Shell programming quoting wild cards files. Compiler vs. CSC209 Review CSC209: Software tools Unix files and directories permissions utilities/commands Shell programming quoting wild cards files... and systems programming C basic syntax functions arrays structs

More information

pygenbank Documentation

pygenbank Documentation pygenbank Documentation Release 0.0.1 Matthieu Bruneaux February 06, 2017 Contents 1 Description 1 2 Contents 3 2.1 Installation................................................ 3 2.2 genbank module.............................................

More information

CS Programming Languages: Python

CS Programming Languages: Python CS 3101-1 - Programming Languages: Python Lecture 5: Exceptions / Daniel Bauer (bauer@cs.columbia.edu) October 08 2014 Daniel Bauer CS3101-1 Python - 05 - Exceptions / 1/35 Contents Exceptions Daniel Bauer

More information

Inter-Process Communication

Inter-Process Communication CS 326: Operating Systems Inter-Process Communication Lecture 10 Today s Schedule Shared Memory Pipes 2/28/18 CS 326: Operating Systems 2 Today s Schedule Shared Memory Pipes 2/28/18 CS 326: Operating

More information

Using the YANG Development Kit (YDK) with Cisco IOS XE

Using the YANG Development Kit (YDK) with Cisco IOS XE Using the YANG Development Kit (YDK) with Cisco IOS XE 1. Overview The YANG Development Kit (YDK) is a software development kit that provides APIs that are generated from YANG data models. These APIs,

More information

yardstick Documentation

yardstick Documentation yardstick Documentation Release 0.1.0 Kenny Freeman December 30, 2015 Contents 1 yardstick 3 1.1 What is yardstick?............................................ 3 1.2 Features..................................................

More information

CS 378 Big Data Programming

CS 378 Big Data Programming CS 378 Big Data Programming Lecture 9 Complex Writable Types AVRO, Protobuf CS 378 - Fall 2017 Big Data Programming 1 Review Assignment 4 WordStaQsQcs using Avro QuesQons/issues? MRUnit and AVRO AVRO keys,

More information

CS246 Spring14 Programming Paradigm Files, Pipes and Redirection

CS246 Spring14 Programming Paradigm Files, Pipes and Redirection 1 Files 1.1 File functions Opening Files : The function fopen opens a file and returns a FILE pointer. FILE *fopen( const char * filename, const char * mode ); The allowed modes for fopen are as follows

More information

Exercises. Cacti Installation and Configuration

Exercises. Cacti Installation and Configuration Exercises Cacti Installation and Configuration Exercises Your Mission... Install Cacti Create device entry for your local router Create device entries for your local servers Create entries for class router

More information

Exercises. Cacti Installation and Configuration

Exercises. Cacti Installation and Configuration Exercises Cacti Installation and Configuration Exercises Your Mission... Install Cacti Create device entry for your local router Create device entries for your local servers Create entries for class router

More information

Scaffold Documentation

Scaffold Documentation Scaffold Documentation Release 1.1 Alin Eugen Deac Oct 29, 2017 Contents 1 Contents 3 1.1 How to Install.............................................. 3 1.2 Install Scaffolds.............................................

More information

CIS192 Python Programming

CIS192 Python Programming CIS192 Python Programming Generators Exceptions and IO Eric Kutschera University of Pennsylvania February 13, 2015 Eric Kutschera (University of Pennsylvania) CIS 192 February 13, 2015 1 / 24 Outline 1

More information

IoT Relay Documentation

IoT Relay Documentation IoT Relay Documentation Release 1.2.2 Emmanuel Levijarvi January 16, 2017 Contents 1 Installation 3 2 Source 5 3 License 7 4 Contents 9 4.1 Running IoT Relay............................................

More information

GoCD Python API client Documentation

GoCD Python API client Documentation GoCD Python API client Documentation Release 1.0.1 Grigory Chernyshev Dec 08, 2017 Contents 1 Intro 1 2 Contents: 3 2.1 Yet another GoCD python client..................................... 3 2.2 Usage...................................................

More information

Processes in linux. What s s a process? process? A dynamically executing instance of a program. David Morgan. David Morgan

Processes in linux. What s s a process? process? A dynamically executing instance of a program. David Morgan. David Morgan Processes in linux David Morgan What s s a process? process? A dynamically executing instance of a program 1 Constituents of a process its code data various attributes OS needs to manage it OS keeps track

More information

Sperimentazioni I LINUX commands tutorial - Part II

Sperimentazioni I LINUX commands tutorial - Part II Sperimentazioni I LINUX commands tutorial - Part II A. Garfagnini, M. Mazzocco Università degli studi di Padova 24 Ottobre 2012 Streams and I/O Redirection Pipelines Create, monitor and kill processes

More information

stdin, stdout, stderr

stdin, stdout, stderr stdin, stdout, stderr stdout and stderr Many programs make output to "standard out" and "standard error" (e.g. the print command goes to standard out, error messages go to standard error). By default,

More information

Python 2.6 Ubuntu 10.04LTS Minimum suggested hardware: Dual core x86 CPU, 1Gb RAM Python-fuse (for mount.py360 / py360.py)

Python 2.6 Ubuntu 10.04LTS Minimum suggested hardware: Dual core x86 CPU, 1Gb RAM Python-fuse (for mount.py360 / py360.py) py360 User Guide Description py360 is a python module for analysing Xbox 360 file systems and their associated proprietary file formats. In particular py360 provides a FUSE file system driver and file

More information

g-pypi Documentation Release 0.3 Domen Kožar

g-pypi Documentation Release 0.3 Domen Kožar g-pypi Documentation Release 0.3 Domen Kožar January 20, 2014 Contents i ii Author Domen Kožar Source code Github.com source browser Bug tracker Github.com issues Generated January 20,

More information

Object Model Comparisons

Object Model Comparisons Object Model Comparisons 1 Languages are designed, just like programs Someone decides what the language is for Someone decides what features it's going to have Can't really understand a language until

More information

simplevisor Documentation

simplevisor Documentation simplevisor Documentation Release 1.2 Massimo Paladin June 27, 2016 Contents 1 Main Features 1 2 Installation 3 3 Configuration 5 4 simplevisor command 9 5 simplevisor-control command 13 6 Supervisor

More information

Logical disks. Bach 2.2.1

Logical disks. Bach 2.2.1 Logical disks Bach 2.2.1 Physical disk is divided into partitions or logical disks Logical disk linear sequence of fixed size, randomly accessible, blocks disk device driver maps underlying physical storage

More information

The current topic: Python. Announcements. Python. Python

The current topic: Python. Announcements. Python. Python The current topic: Python Announcements! Introduction! reasons for studying languages! language classifications! simple syntax specification Object-oriented programming: Python Types and values Syntax

More information

pysharedutils Documentation

pysharedutils Documentation pysharedutils Documentation Release 0.5.0 Joel James August 07, 2017 Contents 1 pysharedutils 1 2 Indices and tables 13 i ii CHAPTER 1 pysharedutils pysharedutils is a convenient utility module which

More information

CSC209 Review. Yeah! We made it!

CSC209 Review. Yeah! We made it! CSC209 Review Yeah! We made it! 1 CSC209: Software tools Unix files and directories permissions utilities/commands Shell programming quoting wild cards files 2 ... and C programming... C basic syntax functions

More information

Files. Files need to be opened in Python before they can be read from or written into Files are opened in Python using the open() built-in function

Files. Files need to be opened in Python before they can be read from or written into Files are opened in Python using the open() built-in function Files Files File I/O Files need to be opened in Python before they can be read from or written into Files are opened in Python using the open() built-in function open(file, mode='r', buffering=-1, encoding=none,...

More information

The WSGI Reference Library

The WSGI Reference Library The WSGI Reference Library Release 0.2 Phillip J. Eby October 4, 2010 Email: pje@telecommunity.com Abstract The Web Server Gateway Interface (WSGI) is a standard interface between web server software and

More information

Protocol Buffers, grpc

Protocol Buffers, grpc Protocol Buffers, grpc Szolgáltatásorientált rendszerintegráció Service-Oriented System Integration Dr. Balázs Simon BME, IIT Outline Remote communication application level vs. transport level protocols

More information

Process Management 1

Process Management 1 Process Management 1 Goals of this Lecture Help you learn about: Creating new processes Programmatically redirecting stdin, stdout, and stderr (Appendix) communication between processes via pipes Why?

More information

pingparsing Documentation

pingparsing Documentation pingparsing Documentation Release 0.13.6 Tsuyoshi Hombashi Oct 08, 2018 Table of Contents 1 pingparsing 1 1.1 Summary................................................. 1 2 Supported Environments 3 2.1

More information

django-dynamic-db-router Documentation

django-dynamic-db-router Documentation django-dynamic-db-router Documentation Release 0.1.1 Erik Swanson August 24, 2016 Contents 1 Table of Contents 3 1.1 Installation................................................ 3 1.2 Quickstart................................................

More information

Release Joris Beckers

Release Joris Beckers django a uth a dfsdocumentation Release 0.2.0 Joris Beckers Sep 14, 2017 Contents 1 Features 3 2 Contents 5 2.1 Installation................................................ 5 2.1.1 Requirements..........................................

More information

web-transmute Documentation

web-transmute Documentation web-transmute Documentation Release 0.1 Yusuke Tsutsumi Dec 19, 2017 Contents 1 Writing transmute-compatible functions 3 1.1 Add function annotations for input type validation / documentation..................

More information

IEMS 5722 Mobile Network Programming and Distributed Server Architecture Semester 2

IEMS 5722 Mobile Network Programming and Distributed Server Architecture Semester 2 IEMS 5722 Mobile Network Programming and Distributed Server Architecture 2016-2017 Semester 2 Assignment 3: Developing a Server Application Due Date: 10 th March, 2017 Notes: i.) Read carefully the instructions

More information

cssselect Documentation

cssselect Documentation cssselect Documentation Release 1.0.3 Simon Sapin Dec 27, 2017 Contents 1 Quickstart 3 2 User API 5 2.1 Exceptions................................................ 5 3 Supported selectors 7 4 Customizing

More information

supervisor Documentation

supervisor Documentation supervisor Documentation Release 4.0.0.dev0 Supervisor Developers January 19, 2018 Contents 1 Narrative Documentation 3 1.1 Introduction............................................... 3 1.2 Installing.................................................

More information

Scrapyd Documentation

Scrapyd Documentation Scrapyd Documentation Release 1.2.0 Scrapy group Jan 19, 2018 Contents 1 Contents 3 1.1 Overview................................................. 3 1.2 Installation................................................

More information

tld Documentation Release 0.9 Artur Barseghyan

tld Documentation Release 0.9 Artur Barseghyan tld Documentation Release 0.9 Artur Barseghyan Jun 13, 2018 Contents 1 Prerequisites 3 2 Documentation 5 3 Installation 7 4 Usage examples 9 5 Update the list of TLD names

More information

How to write a well-behaved Python command line application. PyCon AU 2012 Tutorial Graeme Cross

How to write a well-behaved Python command line application. PyCon AU 2012 Tutorial Graeme Cross How to write a well-behaved Python command line application PyCon AU 2012 Tutorial Graeme Cross This is an introduction to Writing robust, maintainable command line applications Easily processing command

More information

Contents: 1 Basic socket interfaces 3. 2 Servers 7. 3 Launching and Controlling Processes 9. 4 Daemonizing Command Line Programs 11

Contents: 1 Basic socket interfaces 3. 2 Servers 7. 3 Launching and Controlling Processes 9. 4 Daemonizing Command Line Programs 11 nclib Documentation Release 0.7.0 rhelmot Apr 19, 2018 Contents: 1 Basic socket interfaces 3 2 Servers 7 3 Launching and Controlling Processes 9 4 Daemonizing Command Line Programs 11 5 Indices and tables

More information

Data and File Structures Chapter 2. Basic File Processing Operations

Data and File Structures Chapter 2. Basic File Processing Operations Data and File Structures Chapter 2 Basic File Processing Operations 1 Outline Physical versus Logical Files Opening and Closing Files Reading, Writing and Seeking Special Characters in Files The Unix Directory

More information

Processes COMPSCI 386

Processes COMPSCI 386 Processes COMPSCI 386 Elements of a Process A process is a program in execution. Distinct processes may be created from the same program, but they are separate execution sequences. call stack heap STACK

More information

Valkyrie REST Server

Valkyrie REST Server Valkyrie REST Server User Manual This document describes how to build client applications for Xena Valkyrie REST server. Last updated: 2018-09-27 CONTENTS General... 4 Functionality... 4 Audience and Prerequisites...

More information

Pipes and FIFOs. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University

Pipes and FIFOs. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University Pipes and FIFOs Woo-Yeong Jeong (wooyeong@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Open Files in Kernel How the Unix kernel represents open files? Two descriptors

More information

Process Management! Goals of this Lecture!

Process Management! Goals of this Lecture! Process Management! 1 Goals of this Lecture! Help you learn about:" Creating new processes" Programmatically redirecting stdin, stdout, and stderr" (Appendix) communication between processes via pipes"

More information

CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Homework 4 (document version 1.1) Sockets and Server Programming using C

CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Homework 4 (document version 1.1) Sockets and Server Programming using C CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Homework 4 (document version 1.1) Sockets and Server Programming using C Overview This homework is due by 11:59:59 PM on Monday, December

More information

Session 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes

Session 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes Session 8 Deployment Descriptor 1 Reading Reading and Reference en.wikipedia.org/wiki/http Reference http headers en.wikipedia.org/wiki/list_of_http_headers http status codes en.wikipedia.org/wiki/_status_codes

More information

Processes. What s s a process? process? A dynamically executing instance of a program. David Morgan

Processes. What s s a process? process? A dynamically executing instance of a program. David Morgan Processes David Morgan What s s a process? process? A dynamically executing instance of a program 1 Constituents of a process its code data various attributes OS needs to manage it OS keeps track of all

More information

System Performance Objects and Counters

System Performance Objects and Counters APPENDIXA System Performance Objects and This appendix contains the following sections: Cisco Tomcat Connector, page A-2 Cisco Tomcat JVM, page A-3 Cisco Tomcat Web Application, page A-4 Database Change

More information

hca-cli Documentation

hca-cli Documentation hca-cli Documentation Release 0.1.0 James Mackey, Andrey Kislyuk Aug 08, 2018 Contents 1 Installation 3 2 Usage 5 2.1 Configuration management....................................... 5 3 Development 7

More information

ZeroVM Package Manager Documentation

ZeroVM Package Manager Documentation ZeroVM Package Manager Documentation Release 0.2.1 ZeroVM Team October 14, 2014 Contents 1 Introduction 3 1.1 Creating a ZeroVM Application..................................... 3 2 ZeroCloud Authentication

More information

pyvcd Documentation Release Peter Grayson and Steven Sprouse

pyvcd Documentation Release Peter Grayson and Steven Sprouse pyvcd Documentation Release Peter Grayson and Steven Sprouse Nov 08, 2017 Contents 1 vcd 3 2 vcd.writer 5 3 vcd.gtkw 9 4 PyVCD 15 4.1 Quick Start................................................ 15 5 Indices

More information

Patch Server for Jamf Pro Documentation

Patch Server for Jamf Pro Documentation Patch Server for Jamf Pro Documentation Release 0.7.0 Bryson Tyrrell Mar 16, 2018 Contents 1 Change History 3 2 Setup the Patch Server Web Application 7 3 Add Your Patch Server to Jamf Pro 11 4 API Authentication

More information

Contents. PA1 review and introduction to PA2. IPC (Inter-Process Communication) Exercise. I/O redirection Pipes FIFOs

Contents. PA1 review and introduction to PA2. IPC (Inter-Process Communication) Exercise. I/O redirection Pipes FIFOs Pipes and FIFOs Prof. Jin-Soo Kim( jinsookim@skku.edu) TA Dong-Yun Lee(dylee@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Contents PA1 review and introduction to

More information

Checking Resource Usage in Fedora (Linux)

Checking Resource Usage in Fedora (Linux) Lab 5C Checking Resource Usage in Fedora (Linux) Objective In this exercise, the student will learn how to check the resources on a Fedora system. This lab covers the following commands: df du top Equipment

More information

Traits CLI Documentation

Traits CLI Documentation Traits CLI Documentation Release 0.1.0 Takafumi Arakaki March 22, 2013 CONTENTS 1 Links 3 2 Installation 5 3 Dependencies 7 4 Sample 9 5 CLI base class 11 6 Utility functions 19 7 Change log 21 7.1 v0.1....................................................

More information

nptdms Documentation Release Adam Reeve

nptdms Documentation Release Adam Reeve nptdms Documentation Release 0.11.4 Adam Reeve Dec 01, 2017 Contents 1 Contents 3 1.1 Installation and Quick Start....................................... 3 1.2 Reading TDMS files...........................................

More information

UNIX Kernel. UNIX History

UNIX Kernel. UNIX History UNIX History UNIX Kernel 1965-1969 Bell Labs participates in the Multics project. 1969 Ken Thomson develops the first UNIX version in assembly for an DEC PDP-7 1973 Dennis Ritchie helps to rewrite UNIX

More information

Kinto Documentation. Release Mozilla Services Da French Team

Kinto Documentation. Release Mozilla Services Da French Team Kinto Documentation Release 0.2.2 Mozilla Services Da French Team June 23, 2015 Contents 1 In short 3 2 Table of content 5 2.1 API Endpoints.............................................. 5 2.2 Installation................................................

More information

Sistemi in Tempo Reale

Sistemi in Tempo Reale Laurea Specialistica in Ingegneria dell'automazione Sistemi in Tempo Reale Giuseppe Lipari Introduzione alla concorrenza Fundamentals Algorithm: It is the logical procedure to solve a certain problem It

More information

Table of Contents. Dive Into Python...1

Table of Contents. Dive Into Python...1 ...1 Chapter 1. Installing Python...2 1.1. Which Python is right for you?...2 1.2. Python on Windows...2 1.3. Python on Mac OS X...3 1.4. Python on Mac OS 9...5 1.5. Python on RedHat Linux...5 1.6. Python

More information

Motivation. Operating Systems. File Systems. Outline. Files: The User s Point of View. File System Concepts. Solution? Files!

Motivation. Operating Systems. File Systems. Outline. Files: The User s Point of View. File System Concepts. Solution? Files! Motivation Operating Systems Process store, retrieve information Process capacity restricted to vmem size When process terminates, memory lost Multiple processes share information Systems (Ch 0.-0.4, Ch.-.5)

More information

django-auditlog Documentation

django-auditlog Documentation django-auditlog Documentation Release 0.4.3 Jan-Jelle Kester Jul 05, 2017 Contents 1 Contents 3 1.1 Installation................................................ 3 1.2 Usage...................................................

More information

DoJSON Documentation. Release Invenio collaboration

DoJSON Documentation. Release Invenio collaboration DoJSON Documentation Release 1.2.0 Invenio collaboration March 21, 2016 Contents 1 About 1 2 Installation 3 3 Documentation 5 4 Testing 7 5 Example 9 5.1 User s Guide...............................................

More information

nfsinkhole Documentation

nfsinkhole Documentation nfsinkhole Documentation Release 0.1.0 secynic February 14, 2017 Project Info 1 nfsinkhole 3 1.1 Summary................................................. 3 1.2 Features..................................................

More information

How do we define pointers? Memory allocation. Syntax. Notes. Pointers to variables. Pointers to structures. Pointers to functions. Notes.

How do we define pointers? Memory allocation. Syntax. Notes. Pointers to variables. Pointers to structures. Pointers to functions. Notes. , 1 / 33, Summer 2010 Department of Computer Science and Engineering York University Toronto June 15, 2010 Table of contents, 2 / 33 1 2 3 Exam, 4 / 33 You did well Standard input processing Testing Debugging

More information

Operating Systems CS 217. Provides each process with a virtual machine. Promises each program the illusion of having whole machine to itself

Operating Systems CS 217. Provides each process with a virtual machine. Promises each program the illusion of having whole machine to itself Operating Systems CS 217 Operating System (OS) Provides each process with a virtual machine Promises each program the illusion of having whole machine to itself Process Process Process Process OS Kernel

More information

Profiling tool. Prototype architecture. Prototype Architecture and components description

Profiling tool. Prototype architecture. Prototype Architecture and components description Profiling tool Prototype architecture In Figure 1 the communication of profiling tool in physical level is described. During the profiling phase, both the application on virtual machine and the profiling

More information

Release Ralph Offinger

Release Ralph Offinger nagios c heck p aloaltodocumentation Release 0.3.2 Ralph Offinger May 30, 2017 Contents 1 nagios_check_paloalto: a Nagios/Icinga Plugin 3 1.1 Documentation..............................................

More information

NI-XNET Python API Documentation

NI-XNET Python API Documentation NI-XNET Python API Documentation Release 0.3.0 National Instruments Oct 08, 2018 Table of Contents: 1 Quick Start 3 2 Resources 5 2.1 Product Support............................................. 5 2.2

More information

HTTP Server Application

HTTP Server Application 1 Introduction You are to design and develop a concurrent TCP server that implements the HTTP protocol in the form of what is commonly called a web server. This server will accept and process HEAD and

More information

semidbm Documentation

semidbm Documentation semidbm Documentation Release 0.4.0 James Saryerwinnie Jr September 04, 2013 CONTENTS i ii semidbm is a pure python implementation of a dbm, which is essentially a persistent key value store. It allows

More information

Python Overpass API Documentation

Python Overpass API Documentation Python Overpass API Documentation Release 0.4 PhiBo Apr 07, 2017 Contents 1 Introduction 3 1.1 Requirements............................................... 3 1.2 Installation................................................

More information

websnort Documentation

websnort Documentation websnort Documentation Release 0.8 Steve Henderson Jul 04, 2018 Contents 1 Features 3 2 Contents 5 3 Issues 15 Python Module Index 17 i ii Websnort is an Open Source web service for analysing pcap files

More information

DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER PROJECT

DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER PROJECT DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER BY Javid M. Alimohideen Meerasa M.S., University of Illinois at Chicago, 2003 PROJECT Submitted as partial fulfillment of the requirements for the degree

More information

Creating a Shell or Command Interperter Program CSCI411 Lab

Creating a Shell or Command Interperter Program CSCI411 Lab Creating a Shell or Command Interperter Program CSCI411 Lab Adapted from Linux Kernel Projects by Gary Nutt and Operating Systems by Tannenbaum Exercise Goal: You will learn how to write a LINUX shell

More information

Zerodoc Documentation

Zerodoc Documentation Zerodoc Documentation Release 0.2.0 Pablo Martin Medrano August 17, 2014 Contents 1 Zerodoc 3 1.1 1. The zerodoc format.......................................... 3 1.2 2. Installing zerodoc...........................................

More information

Kernel Gateway Documentation

Kernel Gateway Documentation Kernel Gateway Documentation Release 2.1.0.dev Project Jupyter team Nov 11, 2017 User Documentation 1 Getting started 3 1.1 Using pip................................................. 3 1.2 Using conda...............................................

More information

ffmpy3 Documentation Release Eric Ahn

ffmpy3 Documentation Release Eric Ahn ffmpy3 Documentation Release 0.2.3 Eric Ahn February 03, 2017 Contents 1 Installation 3 2 Quickstart 5 3 Documentation 7 3.1 ffmpy3.................................................. 7 3.2 Examples.................................................

More information