devtools/vmon: add more logging to getStat.

Change-Id: Ica1f9052e35cc991e733b8833a9c7dec7b2e7255
diff --git a/vmon/servicecommon.go b/vmon/servicecommon.go
index d6aa15f..58f8e57 100644
--- a/vmon/servicecommon.go
+++ b/vmon/servicecommon.go
@@ -138,13 +138,13 @@
 			me.Name = naming.Join(mountEntryName, v.Value.Name)
 			value, err := stats.StatsClient("").Value(v23ctx, options.Preresolved{&me})
 			if err != nil {
-				fmt.Fprintf(ctx.Stderr(), "Failed to get stat: %v\n%v\n", v.Value.Name, err)
+				fmt.Fprintf(ctx.Stderr(), "Failed to get stat (pattern: %q, entry: %#v): %v\n%v\n", pattern, me, v.Value.Name, err)
 				hasErrors = true
 				continue
 			}
 			var convertedValue interface{}
 			if err := vdl.Convert(&convertedValue, value); err != nil {
-				fmt.Fprintf(ctx.Stderr(), "Failed to convert value for %v: %v\n", v.Value.Name, err)
+				fmt.Fprintf(ctx.Stderr(), "Failed to convert value for %v (pattern: %q, entry: %#v): %v\n", pattern, me, v.Value.Name, err)
 				hasErrors = true
 				continue
 			}
@@ -157,7 +157,7 @@
 		}
 	}
 	if hasErrors || len(ret) == 0 {
-		return nil, fmt.Errorf("failed to get stat")
+		return nil, fmt.Errorf("failed to get stat (pattern: %q, entry: %#v)", pattern, me)
 	}
 	if err := call.Finish(); err != nil {
 		return nil, err