anchor.diff:  
   == HAR files processing
   Depending on proxy server location, network configuration and HAR size, it could take long to retrieve recorded network statistics. To avoid wasting time on HAR processing, we'll supply it async via `CompletableFuture`.
  -[source,Java]
  +[source,java]
   ----
   CompletableFuture.supplyAsync(() -> proxy.getBrowserMobProxy().getHarAsString())
   	.whenComplete((har, err) -> {
  
positive.code: 	});
  ----
  If HAR file is successfully saved in a shared httpd folder, we'll use Allure annotations to perform custom html attachment.
  [source,Java]
  ----
  @Attachment(value = "{0}", type = "text/html")
  public static byte[] attachHtml(String name, String templateName, Map<String, Object> args) {
  
negative.code: = Tracking tests' network statistics with Docker
  :hp-tags: browsermob-proxy, webdriver, allure, docker, harviewer, java, testng
  :published_at: 2016-07-18
  :source-highlighter: prism.js
  :hp-image: https://sskorol.github.io/covers/docker-har.png
  
  image::docker-har.png[]
  
  == Browsermob Proxy Docker image
  To be able to use the following example, you'll need to build link:https://github.com/sskorol/docker-browsermob-proxy[docker-browsermob-proxy^] first. This base Docker image contains latest (2.1.1) link:https://github.com/lightbody/browsermob-proxy[Browsermob Proxy (BMP)] version.
  
  == Docker configuration
  Raising newly built image would be quite simple with a help of `docker-compose`. Here's a sample BMP / Selenium Grid configuration, which will help you to link all containers together:
  [source,yaml]
  ----
  seleniumhub:
   image: sskorol/hub:2.53.1
  