namespace-browser: Implement vtrace (part 1 of many)
In this CL I add a basic implementation of vtrace spans and the vtrace
store. Also add enough functionality to collect trace data when
javascript is acting as a client.
There are many shortcomings which will be addressed by future CLs.
- The store always collects, there is no pattern based collection as in go.
- JS servers never return trace information
- There is no interface to dump traces from the console / etc.
MultiPart: 4/4
Change-Id: I50c5bd7c6c2c348c3e94bd739757c1edb44b62f3
diff --git a/src/services/namespace/service.js b/src/services/namespace/service.js
index 6b36bcb..4561741 100644
--- a/src/services/namespace/service.js
+++ b/src/services/namespace/service.js
@@ -286,14 +286,14 @@
// Adapt the method name to be lowercase again.
methodName = vom.MiscUtil.uncapitalize(methodName);
+ var ctx;
return getRuntime().then(function bindToName(rt) {
- var ctx = veyron.context.Context().withTimeout(RPC_TIMEOUT);
+ ctx = rt.getContext();
var client = rt.newClient();
return client.bindTo(ctx, name);
}).then(function callMethod(service) {
log.debug('Calling', methodName, 'on', name, 'with', args);
- var ctx = veyron.context.Context().withTimeout(RPC_TIMEOUT);
- args.unshift(ctx);
+ args.unshift(ctx.withTimeout(RPC_TIMEOUT));
return service[methodName].apply(null, args);
}).then(function returnResult(result) {
// If the result was for 0 outArg, then this returns undefined.
@@ -449,4 +449,4 @@
typeName: 'Service',
description: null
});
-}
\ No newline at end of file
+}