Stuff Goes Bad: Erlang in Anger
Free

Stuff Goes Bad: Erlang in Anger

By Fred Hébert
Free
Book Description

This book intends to be a little guide about how to be the Erlang medic in a time of war. It is first and foremost a collection of tips and tricks to help understand where failures come from, and a dictionary of different code snippets and practices that helped developers debug production systems that were built in Erlang.

Table of Contents
  • Introduction
  • I Writing Applications
    • How to Dive into a Code Base
      • Raw Erlang
      • OTP Applications
        • Library Applications
        • Regular Applications
        • Dependencies
      • OTP Releases
      • Exercises
    • Building Open Source Erlang Software
      • Project Structure
        • OTP Applications
        • OTP Releases
      • Supervisors and start_link Semantics
        • It's About the Guarantees
        • Side Effects
        • Example: Initializing without guaranteeing connections
        • In a nutshell
        • Application Strategies
      • Exercises
    • Planning for Overload
      • Common Overload Sources
        • error_logger Explodes
        • Locks and Blocking Operations
        • Unexpected Messages
      • Restricting Input
        • How Long Should a Time Out Be
        • Asking For Permission
        • What Users See
      • Discarding Data
        • Random Drop
        • Queue Buffers
        • Stack Buffers
        • Time-Sensitive Buffers
        • Dealing With Constant Overload
        • How Do You Drop
      • Exercises
  • II Diagnosing Applications
    • Connecting to Remote Nodes
      • Job Control Mode
      • Remsh
      • SSH Daemon
      • Named Pipes
      • Exercises
    • Runtime Metrics
      • Global View
        • Memory
        • CPU
        • Processes
        • Ports
      • Digging In
        • Processes
        • OTP Processes
        • Ports
      • Exercises
    • Reading Crash Dumps
      • General View
      • Full Mailboxes
      • Too Many (or too few) Processes
      • Too Many Ports
      • Can't Allocate Memory
      • Exercises
    • Memory Leaks
      • Common Sources of Leaks
        • Atom
        • Binary
        • Code
        • ETS
        • Processes
        • Nothing in Particular
      • Binaries
        • Detecting Leaks
        • Fixing Leaks
      • Memory Fragmentation
        • Finding Fragmentation
        • Erlang's Memory Model
        • Fixing Memory Fragmentation with a Different Allocation Strategy
      • Exercises
    • CPU and Scheduler Hogs
      • Profiling and Reduction Counts
      • System Monitors
        • Suspended Ports
      • Exercises
    • Tracing
      • Tracing Principles
      • Tracing with Recon
      • Example Sessions
      • Exercises
  • Conclusion
    No review for this book yet, be the first to review.
      No comment for this book yet, be the first to comment
      You May Also Like
      Also Available On
      App store smallGoogle play small
      Categories
      Curated Lists
      • Pattern Recognition and Machine Learning (Information Science and Statistics)
        by Christopher M. Bishop
        Data mining
        by I. H. Witten
        The Elements of Statistical Learning: Data Mining, Inference, and Prediction
        by Various
        See more...
      • CK-12 Chemistry
        by Various
        Concept Development Studies in Chemistry
        by John Hutchinson
        An Introduction to Chemistry - Atoms First
        by Mark Bishop
        See more...
      • Microsoft Word - How to Use Advanced Algebra II.doc
        by Jonathan Emmons
        Advanced Algebra II: Activities and Homework
        by Kenny Felder
        de2de
        by
        See more...
      • The Sun Who Lost His Way
        by
        Tania is a Detective
        by Kanika G
        Firenze_s-Light
        by
        See more...
      • Java 3D Programming
        by Daniel Selman
        The Java EE 6 Tutorial
        by Oracle Corporation
        JavaKid811
        by
        See more...