diff --git a/htrace-htraced/go/src/org/apache/htrace/common/query.go b/htrace-htraced/go/src/org/apache/htrace/common/query.go
index 8c9128f..aae034c 100644
--- a/htrace-htraced/go/src/org/apache/htrace/common/query.go
+++ b/htrace-htraced/go/src/org/apache/htrace/common/query.go
@@ -81,6 +81,7 @@
 	BEGIN_TIME  Field = "begin"
 	END_TIME    Field = "end"
 	DURATION    Field = "duration"
+	PROCESS_ID  Field = "processid"
 )
 
 func (field Field) IsValid() bool {
@@ -94,7 +95,8 @@
 }
 
 func ValidFields() []Field {
-	return []Field{SPAN_ID, DESCRIPTION, BEGIN_TIME, END_TIME, DURATION}
+	return []Field{SPAN_ID, DESCRIPTION, BEGIN_TIME, END_TIME,
+		DURATION, PROCESS_ID}
 }
 
 type Predicate struct {
diff --git a/htrace-htraced/go/src/org/apache/htrace/htraced/datastore.go b/htrace-htraced/go/src/org/apache/htrace/htraced/datastore.go
index 0742555..35c7dad 100644
--- a/htrace-htraced/go/src/org/apache/htrace/htraced/datastore.go
+++ b/htrace-htraced/go/src/org/apache/htrace/htraced/datastore.go
@@ -573,6 +573,10 @@
 		}
 		p.uintKey = s2u64(v)
 		break
+	case common.PROCESS_ID:
+		// Any string is valid for a process ID.
+		p.strKey = pred.Val
+		break
 	default:
 		return nil, errors.New(fmt.Sprintf("Unknown field %s", pred.Field))
 	}
@@ -634,6 +638,8 @@
 		return s2u64(span.End), ""
 	case common.DURATION:
 		return s2u64(span.Duration()), ""
+	case common.PROCESS_ID:
+		return 0, span.ProcessId
 	default:
 		panic(fmt.Sprintf("Field type %s isn't a 64-bit integer.", pred.Field))
 	}
diff --git a/htrace-webapp/src/main/web/app/predicate.js b/htrace-webapp/src/main/web/app/predicate.js
index 87a5602..e48b901 100644
--- a/htrace-webapp/src/main/web/app/predicate.js
+++ b/htrace-webapp/src/main/web/app/predicate.js
@@ -61,6 +61,9 @@
       return val;
     case "spanid":
       return htrace.normalizeSpanId(val);
+    case "processid":
+      htrace.checkStringIsNotEmpty(val);
+      return val;
     default:
       return "Normalization not implemented for field '" + this.field + "'";
     }
@@ -78,6 +81,8 @@
       return "0";
     case "spanid":
       return "";
+    case "processid":
+      return "";
     default:
       return "(unknown)";
     }
@@ -104,6 +109,10 @@
       return new htrace.PType({name: name, field:"duration", op:"le"});
     case "Span ID is":
       return new htrace.PType({name: name, field:"spanid", op:"eq"});
+    case "ProcessId contains":
+      return new htrace.PType({name: name, field:"processid", op:"cn"});
+    case "ProcessId is exactly":
+      return new htrace.PType({name: name, field:"processid", op:"eq"});
     default:
       return null
   }
diff --git a/htrace-webapp/src/main/web/index.html b/htrace-webapp/src/main/web/index.html
index bd15c9a..0e8e6c3 100644
--- a/htrace-webapp/src/main/web/index.html
+++ b/htrace-webapp/src/main/web/index.html
@@ -132,6 +132,10 @@
                         class="add-field">Duration is at most</a></li>
                       <li><a href="javascript:void(0)" 
                         class="add-field">Span ID is</a></li>
+                      <li><a href="javascript:void(0)" 
+                        class="add-field">ProcessId contains</a></li>
+                      <li><a href="javascript:void(0)" 
+                        class="add-field">ProcessId is exactly</a></li>
                     </ul>
                   </div>
                   <button type="submit" class="btn btn-primary" id="searchButton">
