@dxos/client-services 0.3.3-main.f2ca85a → 0.3.3-main.f990aad

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,6 +14,8 @@ export declare class ClientRpcServer {
14
14
  private readonly _handlerCache;
15
15
  private readonly _handleCall;
16
16
  private readonly _handleStream;
17
+ private readonly _callMetrics;
18
+ private get _services();
17
19
  constructor(params: ClientRpcServerParams);
18
20
  open(): Promise<void>;
19
21
  close(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"client-rpc-server.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/client-rpc-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,KAAK,GAAG,EAAuB,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAA4B,KAAK,cAAc,EAAsB,MAAM,WAAW,CAAC;AAC9F,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IACjD,UAAU,CAAC,EAAE,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,YAAY,CAAC,GAAG,CAAC,KACxD,OAAO,CAAC,GAAG,CAAC,CAAC;IAClB,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,KAClD,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;CAChC,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,GAAG,eAAe,CAAC,CAAC;AAE1D,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkC;IACnE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0C;IACxE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwC;gBAE1D,MAAM,EAAE,qBAAqB;IAgCnC,IAAI;IAIJ,KAAK;IAIX,OAAO,CAAC,kBAAkB;CAiB3B"}
1
+ {"version":3,"file":"client-rpc-server.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/client-rpc-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,KAAK,GAAG,EAAuB,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAA4B,KAAK,cAAc,EAAsB,MAAM,WAAW,CAAC;AAE9F,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IACjD,UAAU,CAAC,EAAE,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,YAAY,CAAC,GAAG,CAAC,KACxD,OAAO,CAAC,GAAG,CAAC,CAAC;IAClB,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,KAClD,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;CAChC,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,GAAG,eAAe,CAAC,CAAC;AAE1D,qBACa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkC;IACnE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0C;IACxE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwC;IAGtE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IAGjD,OAAO,KAAK,SAAS,GAEpB;gBAEW,MAAM,EAAE,qBAAqB;IAuCnC,IAAI;IAIJ,KAAK;IAIX,OAAO,CAAC,kBAAkB;CAiB3B"}
@@ -1,2 +1,2 @@
1
- export declare const DXOS_VERSION = "0.3.3-main.f2ca85a";
1
+ export declare const DXOS_VERSION = "0.3.3-main.f990aad";
2
2
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/client-services",
3
- "version": "0.3.3-main.f2ca85a",
3
+ "version": "0.3.3-main.f990aad",
4
4
  "description": "DXOS client services implementation",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -22,44 +22,44 @@
22
22
  ],
23
23
  "dependencies": {
24
24
  "platform": "^1.3.6",
25
- "@dxos/async": "0.3.3-main.f2ca85a",
26
- "@dxos/client-protocol": "0.3.3-main.f2ca85a",
27
- "@dxos/codec-protobuf": "0.3.3-main.f2ca85a",
28
- "@dxos/config": "0.3.3-main.f2ca85a",
29
- "@dxos/context": "0.3.3-main.f2ca85a",
30
- "@dxos/credentials": "0.3.3-main.f2ca85a",
31
- "@dxos/crypto": "0.3.3-main.f2ca85a",
32
- "@dxos/debug": "0.3.3-main.f2ca85a",
33
- "@dxos/document-model": "0.3.3-main.f2ca85a",
34
- "@dxos/echo-db": "0.3.3-main.f2ca85a",
35
- "@dxos/echo-pipeline": "0.3.3-main.f2ca85a",
36
- "@dxos/echo-schema": "0.3.3-main.f2ca85a",
37
- "@dxos/feed-store": "0.3.3-main.f2ca85a",
38
- "@dxos/invariant": "0.3.3-main.f2ca85a",
39
- "@dxos/keyring": "0.3.3-main.f2ca85a",
40
- "@dxos/keys": "0.3.3-main.f2ca85a",
41
- "@dxos/lock-file": "0.3.3-main.f2ca85a",
42
- "@dxos/log": "0.3.3-main.f2ca85a",
43
- "@dxos/messaging": "0.3.3-main.f2ca85a",
44
- "@dxos/model-factory": "0.3.3-main.f2ca85a",
45
- "@dxos/network-manager": "0.3.3-main.f2ca85a",
46
- "@dxos/node-std": "0.3.3-main.f2ca85a",
47
- "@dxos/protocols": "0.3.3-main.f2ca85a",
48
- "@dxos/random-access-storage": "0.3.3-main.f2ca85a",
49
- "@dxos/rpc": "0.3.3-main.f2ca85a",
50
- "@dxos/teleport": "0.3.3-main.f2ca85a",
51
- "@dxos/teleport-extension-gossip": "0.3.3-main.f2ca85a",
52
- "@dxos/teleport-extension-object-sync": "0.3.3-main.f2ca85a",
53
- "@dxos/text-model": "0.3.3-main.f2ca85a",
54
- "@dxos/timeframe": "0.3.3-main.f2ca85a",
55
- "@dxos/tracing": "0.3.3-main.f2ca85a",
56
- "@dxos/util": "0.3.3-main.f2ca85a",
57
- "@dxos/websocket-rpc": "0.3.3-main.f2ca85a"
25
+ "@dxos/async": "0.3.3-main.f990aad",
26
+ "@dxos/client-protocol": "0.3.3-main.f990aad",
27
+ "@dxos/codec-protobuf": "0.3.3-main.f990aad",
28
+ "@dxos/config": "0.3.3-main.f990aad",
29
+ "@dxos/context": "0.3.3-main.f990aad",
30
+ "@dxos/credentials": "0.3.3-main.f990aad",
31
+ "@dxos/crypto": "0.3.3-main.f990aad",
32
+ "@dxos/debug": "0.3.3-main.f990aad",
33
+ "@dxos/document-model": "0.3.3-main.f990aad",
34
+ "@dxos/echo-db": "0.3.3-main.f990aad",
35
+ "@dxos/echo-pipeline": "0.3.3-main.f990aad",
36
+ "@dxos/echo-schema": "0.3.3-main.f990aad",
37
+ "@dxos/feed-store": "0.3.3-main.f990aad",
38
+ "@dxos/invariant": "0.3.3-main.f990aad",
39
+ "@dxos/keyring": "0.3.3-main.f990aad",
40
+ "@dxos/keys": "0.3.3-main.f990aad",
41
+ "@dxos/lock-file": "0.3.3-main.f990aad",
42
+ "@dxos/log": "0.3.3-main.f990aad",
43
+ "@dxos/messaging": "0.3.3-main.f990aad",
44
+ "@dxos/model-factory": "0.3.3-main.f990aad",
45
+ "@dxos/network-manager": "0.3.3-main.f990aad",
46
+ "@dxos/node-std": "0.3.3-main.f990aad",
47
+ "@dxos/protocols": "0.3.3-main.f990aad",
48
+ "@dxos/random-access-storage": "0.3.3-main.f990aad",
49
+ "@dxos/rpc": "0.3.3-main.f990aad",
50
+ "@dxos/teleport": "0.3.3-main.f990aad",
51
+ "@dxos/teleport-extension-gossip": "0.3.3-main.f990aad",
52
+ "@dxos/teleport-extension-object-sync": "0.3.3-main.f990aad",
53
+ "@dxos/text-model": "0.3.3-main.f990aad",
54
+ "@dxos/timeframe": "0.3.3-main.f990aad",
55
+ "@dxos/tracing": "0.3.3-main.f990aad",
56
+ "@dxos/util": "0.3.3-main.f990aad",
57
+ "@dxos/websocket-rpc": "0.3.3-main.f990aad"
58
58
  },
59
59
  "devDependencies": {
60
60
  "@types/platform": "^1.3.4",
61
61
  "@types/readable-stream": "^2.3.9",
62
- "@dxos/signal": "0.3.3-main.f2ca85a"
62
+ "@dxos/signal": "0.3.3-main.f990aad"
63
63
  },
64
64
  "publishConfig": {
65
65
  "access": "public"
@@ -6,6 +6,7 @@ import { type ClientServices } from '@dxos/client-protocol';
6
6
  import { type Any, type ServiceHandler, Stream } from '@dxos/codec-protobuf';
7
7
  import { raise } from '@dxos/debug';
8
8
  import { parseMethodName, RpcPeer, type RpcPeerOptions, type ServiceBundle } from '@dxos/rpc';
9
+ import { MapCounter, trace } from '@dxos/tracing';
9
10
  import { type MaybePromise } from '@dxos/util';
10
11
 
11
12
  import { type ServiceRegistry } from './service-registry';
@@ -24,6 +25,7 @@ export type ClientRpcServerParams = {
24
25
  ) => MaybePromise<Stream<Any>>;
25
26
  } & Omit<RpcPeerOptions, 'callHandler' | 'streamHandler'>;
26
27
 
28
+ @trace.resource()
27
29
  export class ClientRpcServer {
28
30
  private readonly _serviceRegistry: ServiceRegistry<ClientServices>;
29
31
  private readonly _rpcPeer: RpcPeer;
@@ -31,6 +33,14 @@ export class ClientRpcServer {
31
33
  private readonly _handleCall: ClientRpcServerParams['handleCall'];
32
34
  private readonly _handleStream: ClientRpcServerParams['handleStream'];
33
35
 
36
+ @trace.metricsCounter()
37
+ private readonly _callMetrics = new MapCounter();
38
+
39
+ @trace.info()
40
+ private get _services() {
41
+ return Object.keys(this._serviceRegistry.services);
42
+ }
43
+
34
44
  constructor(params: ClientRpcServerParams) {
35
45
  const { serviceRegistry, handleCall, handleStream, ...rpcOptions } = params;
36
46
  this._handleCall = handleCall;
@@ -43,6 +53,8 @@ export class ClientRpcServer {
43
53
  const [serviceName, methodName] = parseMethodName(method);
44
54
  const handler = (method: string, params: Any) => this._getServiceHandler(serviceName).call(method, params);
45
55
 
56
+ this._callMetrics.inc(`${serviceName}.${methodName} request`);
57
+
46
58
  if (this._handleCall) {
47
59
  return this._handleCall(methodName, params, handler);
48
60
  } else {
@@ -54,8 +66,13 @@ export class ClientRpcServer {
54
66
  const handler = (method: string, params: Any) =>
55
67
  this._getServiceHandler(serviceName).callStream(method, params);
56
68
 
69
+ this._callMetrics.inc(`${serviceName}.${methodName} request stream`);
70
+
57
71
  if (this._handleStream) {
58
- return Stream.unwrapPromise(this._handleStream(methodName, params, handler));
72
+ return Stream.map(Stream.unwrapPromise(this._handleStream(methodName, params, handler)), (data) => {
73
+ this._callMetrics.inc(`${serviceName}.${methodName} response stream`);
74
+ return data;
75
+ });
59
76
  } else {
60
77
  return handler(methodName, params);
61
78
  }
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const DXOS_VERSION = "0.3.3-main.f2ca85a";
1
+ export const DXOS_VERSION = "0.3.3-main.f990aad";