anchor.diff:        PageFaults:64/native,
         Rest/binary>> = Bin,
   
  -    RawName = extract_string(Name0),
  -    case RawName of
  +    Name = extract_string(Name0),
  +    case Name of
           <<>> ->
               Acc;
           _ ->
  -            Name = case Pid =:= BeamPid of
  -                       true ->
  -                           ?MAIN_BEAM_NAME;
  -                       false ->
  -                           RawName
  -                   end,
  -
               NewSample0 =
                   [{proc_stat_name(Name, mem_size), MemSize},
                    {proc_stat_name(Name, mem_resident), MemResident},
  
positive.code:                                                 {proc_stat_name(Name, page_faults), PageFaults}]),
  
              Acc1 = {NewSample1 ++ NewSampleAcc, PrevSample1},
              do_unpack_processes_v2(Rest, BeamPid, Acc1)
      end.
  
  extract_string(Bin) ->
  
negative.code:                          LocalDiff = CPULocalMS - OldCPULocal,
                           IdleDiff = CPUIdleMS - OldCPUIdle,
  
                           RV1 = misc:update_proplist(RawStatsGlobal,
                                                      [{cpu_local_ms, LocalDiff},
                                                       {cpu_idle_ms, IdleDiff}]),
  
                           [{mem_free, MemActualFree},
                            {cpu_utilization_rate, try 100 * (LocalDiff - IdleDiff) / LocalDiff
                                                   catch error:badarith -> 0 end}
                            | RV1 ++ NowSamplesProcs]
                   end,
  
      {NowSamples, {RawStatsGlobal, PrevSampleProcs1}}.
  
  unpack_processes_v2(Bin, PrevSamples) ->
      do_unpack_processes_v2(Bin, {[], PrevSamples}).
  
  do_unpack_processes_v2(Bin, Acc) when size(Bin) =:= 0 ->
      Acc;
  do_unpack_processes_v2(Bin, {NewSampleAcc, PrevSampleAcc} = Acc) ->
      <<Name0:12/binary,
        CpuUtilization:32/native,
        Pid:64/native,
  