# This file was originally generated by https://github.com/kamilchm/go2nix v1.2.1
{ stdenv, buildGoPackage, fetchgit }:

buildGoPackage rec {
  name = "pprof-${version}";
  version = "2017-08-28";
  rev = "d19a98b9bcec464f178b20da0f936cef7e15462e";

  goPackagePath = "github.com/google/pprof";

  src = fetchgit {
    inherit rev;
    url = "git://github.com/google/pprof";
    sha256 = "0wh589fndvvidisy0jy19y0ykw4l05paqd53s8kli7h9zdcl11gq";
  };

  goDeps = ./deps.nix;

  meta = with stdenv.lib; {
    description = "A tool for visualization and analysis of profiling data";
    homepage = https://github.com/google/pprof;
    license = licenses.asl20;
    longDescription = ''
      pprof reads a collection of profiling samples in profile.proto format and generates reports to visualize and help analyze the data. It can generate both text and graphical reports (through the use of the dot visualization package).

      profile.proto is a protocol buffer that describes a set of callstacks and symbolization information. A common usage is to represent a set of sampled callstacks from statistical profiling. The format is described on the proto/profile.proto file. For details on protocol buffers, see https://developers.google.com/protocol-buffers

      Profiles can be read from a local file, or over http. Multiple profiles of the same type can be aggregated or compared.

      If the profile samples contain machine addresses, pprof can symbolize them through the use of the native binutils tools (addr2line and nm).

      This is not an official Google product.
    '';
  };
}
