You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@htrace.apache.org by cm...@apache.org on 2015/06/18 22:37:29 UTC
incubator-htrace git commit: HTRACE-190. htraced: allowing querying
by process id (cmccabe)
Repository: incubator-htrace
Updated Branches:
refs/heads/master 8c33794ab -> 3e7452936
HTRACE-190. htraced: allowing querying by process id (cmccabe)
Project: http://git-wip-us.apache.org/repos/asf/incubator-htrace/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-htrace/commit/3e745293
Tree: http://git-wip-us.apache.org/repos/asf/incubator-htrace/tree/3e745293
Diff: http://git-wip-us.apache.org/repos/asf/incubator-htrace/diff/3e745293
Branch: refs/heads/master
Commit: 3e745293600af83a564ac88760457987c47dad64
Parents: 8c33794
Author: Colin P. Mccabe <cm...@apache.org>
Authored: Tue Jun 16 18:12:58 2015 -0700
Committer: Colin Patrick Mccabe <cm...@cloudera.com>
Committed: Thu Jun 18 13:37:09 2015 -0700
----------------------------------------------------------------------
htrace-htraced/go/src/org/apache/htrace/common/query.go | 4 +++-
.../go/src/org/apache/htrace/htraced/datastore.go | 6 ++++++
htrace-webapp/src/main/web/app/predicate.js | 9 +++++++++
htrace-webapp/src/main/web/index.html | 4 ++++
4 files changed, 22 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/3e745293/htrace-htraced/go/src/org/apache/htrace/common/query.go
----------------------------------------------------------------------
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 @@ const (
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 (field Field) IsValid() bool {
}
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 {
http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/3e745293/htrace-htraced/go/src/org/apache/htrace/htraced/datastore.go
----------------------------------------------------------------------
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 @@ func loadPredicateData(pred *common.Predicate) (*predicateData, error) {
}
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 @@ func (pred *predicateData) extractRelevantSpanData(span *common.Span) (uint64, s
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))
}
http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/3e745293/htrace-webapp/src/main/web/app/predicate.js
----------------------------------------------------------------------
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 @@ htrace.PType = Backbone.Model.extend({
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 @@ htrace.PType = Backbone.Model.extend({
return "0";
case "spanid":
return "";
+ case "processid":
+ return "";
default:
return "(unknown)";
}
@@ -104,6 +109,10 @@ htrace.parsePType = function(name) {
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
}
http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/3e745293/htrace-webapp/src/main/web/index.html
----------------------------------------------------------------------
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">