anchor.diff:    procs: [".*"]
   ----------------------------------------------------------------------
   
  -And here are the corresponding Go structures, found in `config.go`:
  +And here are the corresponding Go structures, which are defined in `config.go`:
   
   [source,go]
   ----------------------------------------------------------------------
  
positive.code: [[new-beat]]
  == Developer guide: creating a new Beat
  
  This guide walks you through the steps for creating a new Elastic Beat.  The
  Beats are a collection of lightweight daemons that collect operational data from
  your servers and ship it to Elasticsearch or Logstash.  The common parts from
  all Beats are placed in the libbeat library, which contains packages for sending
  data to Elasticsearch and Logstash, for configuration file handling, for signal
  handling, for logging and more. By using this common framework, we can ensure
  that all Beats are behaving the same and that they are easy to package and run
  with common tools.
  
  === Getting ready
  
  Libbeat and all Beats are written in http://golang.org/[Go], so having it
  installed and knowing its basics is a prerequisite for understanding this guide.
  However, don't worry if you are not yet a Go expert, it is a sufficiently new
  language that very few people can consider themselves experts.  In fact, several
  people learned Go by contributing to Packetbeat & libbeat, including the
  original Packetbeat authors.
  
  To exemplify this guide with a working example, we will follow the
  https://github.com/elastic/topbeat[Topbeat] source code. Topbeat is similar to
  the `top` command line tool but instead of printing the statistics to the screen
  it periodically ships them to Elasticsearch for storage.
  
  After having https://golang.org/doc/install[installed Go] and setup the
  https://golang.org/doc/code.html#GOPATH[GOPATH] environment variable to point to
  your preferred workspace location, a simple way of getting the source code for
  Topbeat and libbeat and compiling them at the same time is to do:
  
negative.code: }
  ----------------------------------------------------------------------
  
  This means your Beat should implement the following methods:
  
  [horizontal]
  <<config-method, Config>>:: Deals with the configuration file and optionally with
  custom CLI flags
  <<setup-method, Setup>>:: Contains logic that executes before the main loop, usually for initialization
  <<run-method, Run>>:: Contains the main application loop that captures data 
  and sends it to the publisher
  <<cleanup-method, Cleanup>>:: Contains logic that executes after the main loop finishes 
  (or is interrupted)
  <<stop-method, Stop>>:: Contains logic that is called when the Beat is signaled to stop
  
  The `Beat` parameter received by most of these methods contains data about the
  Beat, such as the name, version, and common configuration options.
  
  NOTE: We recommend that your Beat name end with `beat`.
  
  Let's go through each of the methods in the `Beater` interface and look at a 
  sample implementation.
  
  [[config-method]]
  ==== Config Method 
  
  The `Config` method deals with the configuration file and optionally with
  custom CLI flags.
  