diff --git a/storage/app/query_test.go b/storage/app/query_test.go
index d91e56c..c7a7688 100644
--- a/storage/app/query_test.go
+++ b/storage/app/query_test.go
@@ -24,8 +24,8 @@
 	// number).  So 1 record has each value of label0, 2 records
 	// have each value of label1, 4 records have each value of
 	// label2, etc. This allows writing queries that match 2^n records.
-	app.uploadFiles(t, func(mpw *multipart.Writer) {
-		w, err := mpw.CreateFormFile("file", "1.txt")
+	status := app.uploadFiles(t, func(mpw *multipart.Writer) {
+		w, err := mpw.CreateFormFile("file", "path/1.txt")
 		if err != nil {
 			t.Errorf("CreateFormFile: %v", err)
 		}
@@ -68,6 +68,15 @@
 					t.Fatalf("#%d: Next() = false, want true (Err() = %v)", i, br.Err())
 				}
 				r := br.Result()
+				if r.Labels["upload"] != status.UploadID {
+					t.Errorf("#%d: upload = %q, want %q", r.Labels["upload"], status.UploadID)
+				}
+				if r.Labels["upload-part"] != status.FileIDs[0] {
+					t.Errorf("#%d: upload-part = %q, want %q", r.Labels["upload-part"], status.FileIDs[0])
+				}
+				if r.Labels["upload-file"] != "1.txt" {
+					t.Errorf("#%d: upload-file = %q, want %q", r.Labels["upload-file"], "1.txt")
+				}
 				if r.Labels["label0"] != fmt.Sprintf("%d", num) {
 					t.Errorf("#%d: label0 = %q, want %d", i, r.Labels["label0"], num)
 				}
diff --git a/storage/app/upload.go b/storage/app/upload.go
index 4759f59..0a48b84 100644
--- a/storage/app/upload.go
+++ b/storage/app/upload.go
@@ -119,16 +119,16 @@
 		// be rejected and the Cloud Storage upload aborted.
 
 		meta := map[string]string{
-			"uploadid":   upload.ID,
-			"fileid":     fmt.Sprintf("%s/%d", upload.ID, i),
-			"uploadtime": uploadtime,
+			"upload":      upload.ID,
+			"upload-part": fmt.Sprintf("%s/%d", upload.ID, i),
+			"upload-time": uploadtime,
 		}
 		name = p.FileName()
 		if slash := strings.LastIndexAny(name, `/\`); slash >= 0 {
 			name = name[slash+1:]
 		}
 		if name != "" {
-			meta["uploadfile"] = name
+			meta["upload-file"] = name
 		}
 		if user != "" {
 			meta["by"] = user
@@ -144,7 +144,7 @@
 			return nil, err
 		}
 
-		fileids = append(fileids, meta["fileid"])
+		fileids = append(fileids, meta["upload-part"])
 	}
 
 	if upload == nil {
@@ -165,7 +165,7 @@
 }
 
 func (a *App) indexFile(ctx context.Context, upload *db.Upload, p io.Reader, meta map[string]string) (err error) {
-	fw, err := a.FS.NewWriter(ctx, fmt.Sprintf("uploads/%s.txt", meta["fileid"]), meta)
+	fw, err := a.FS.NewWriter(ctx, fmt.Sprintf("uploads/%s.txt", meta["upload-part"]), meta)
 	if err != nil {
 		return err
 	}
diff --git a/storage/appengine/app.yaml b/storage/appengine/app.yaml
index 458445a..13c43ac 100644
--- a/storage/appengine/app.yaml
+++ b/storage/appengine/app.yaml
@@ -21,4 +21,4 @@
   CLOUDSQL_PASSWORD: ""
   CLOUDSQL_DATABASE: "perfdata"
   GCS_BUCKET: "golang-perfdata"
-  PERFDATA_VIEW_URL_BASE: "https://perf.golang.org/search?q=uploadid:"
+  PERFDATA_VIEW_URL_BASE: "https://perf.golang.org/search?q=upload:"
