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

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 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/diagnostics.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAK7D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,EACL,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,KAAK,IAAI,UAAU,EACxB,WAAW,EACZ,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,6CAA6C,CAAC;AAEzE,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMxD,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE;YACP,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAGF,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,SAAS,CAAC;IACf,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,EAAE,CAAC,EAAE;QACH,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG;QAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,MAAM,CAAC,EAAE,CAAC,KAAK,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE,CAAC,EAAE,CAAC;IACxC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,mBACZ,QAAQ,cAAc,CAAC,kBACvB,cAAc,UACtB,MAAM,KACb,QAAQ,WAAW,CA2ErB,CAAC"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/diagnostics.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAK7D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,EACL,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,KAAK,IAAI,UAAU,EACxB,WAAW,EACZ,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,6CAA6C,CAAC;AAEzE,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMxD,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE;YACP,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAGF,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,SAAS,CAAC;IACf,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,EAAE,CAAC,EAAE;QACH,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG;QAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,MAAM,CAAC,EAAE,CAAC,KAAK,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE,CAAC,EAAE,CAAC;IACxC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,mBACZ,QAAQ,cAAc,CAAC,kBACvB,cAAc,UACtB,MAAM,KACb,QAAQ,WAAW,CAoErB,CAAC"}
@@ -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.ff5734a";
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.ff5734a",
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.ff5734a",
26
+ "@dxos/client-protocol": "0.3.3-main.ff5734a",
27
+ "@dxos/codec-protobuf": "0.3.3-main.ff5734a",
28
+ "@dxos/config": "0.3.3-main.ff5734a",
29
+ "@dxos/context": "0.3.3-main.ff5734a",
30
+ "@dxos/credentials": "0.3.3-main.ff5734a",
31
+ "@dxos/crypto": "0.3.3-main.ff5734a",
32
+ "@dxos/debug": "0.3.3-main.ff5734a",
33
+ "@dxos/document-model": "0.3.3-main.ff5734a",
34
+ "@dxos/echo-db": "0.3.3-main.ff5734a",
35
+ "@dxos/echo-pipeline": "0.3.3-main.ff5734a",
36
+ "@dxos/echo-schema": "0.3.3-main.ff5734a",
37
+ "@dxos/feed-store": "0.3.3-main.ff5734a",
38
+ "@dxos/invariant": "0.3.3-main.ff5734a",
39
+ "@dxos/keyring": "0.3.3-main.ff5734a",
40
+ "@dxos/keys": "0.3.3-main.ff5734a",
41
+ "@dxos/lock-file": "0.3.3-main.ff5734a",
42
+ "@dxos/log": "0.3.3-main.ff5734a",
43
+ "@dxos/messaging": "0.3.3-main.ff5734a",
44
+ "@dxos/model-factory": "0.3.3-main.ff5734a",
45
+ "@dxos/network-manager": "0.3.3-main.ff5734a",
46
+ "@dxos/node-std": "0.3.3-main.ff5734a",
47
+ "@dxos/protocols": "0.3.3-main.ff5734a",
48
+ "@dxos/random-access-storage": "0.3.3-main.ff5734a",
49
+ "@dxos/rpc": "0.3.3-main.ff5734a",
50
+ "@dxos/teleport": "0.3.3-main.ff5734a",
51
+ "@dxos/teleport-extension-gossip": "0.3.3-main.ff5734a",
52
+ "@dxos/teleport-extension-object-sync": "0.3.3-main.ff5734a",
53
+ "@dxos/text-model": "0.3.3-main.ff5734a",
54
+ "@dxos/timeframe": "0.3.3-main.ff5734a",
55
+ "@dxos/tracing": "0.3.3-main.ff5734a",
56
+ "@dxos/util": "0.3.3-main.ff5734a",
57
+ "@dxos/websocket-rpc": "0.3.3-main.ff5734a"
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.ff5734a"
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
  }
@@ -2,7 +2,6 @@
2
2
  // Copyright 2022 DXOS.org
3
3
  //
4
4
 
5
- import { Trigger } from '@dxos/async';
6
5
  import { type ClientServices } from '@dxos/client-protocol';
7
6
  import { getFirstStreamValue } from '@dxos/codec-protobuf';
8
7
  import { type Config, type ConfigProto } from '@dxos/config';
@@ -137,14 +136,7 @@ export const createDiagnostics = async (
137
136
 
138
137
  // Networking.
139
138
 
140
- const swarmInfoDone = new Trigger();
141
- serviceContext.networkManager.connectionLog?.update.on(async () => {
142
- const swarms = serviceContext.networkManager.connectionLog?.swarms;
143
- diagnostics.swarms = swarms;
144
- await swarmInfoDone.wake();
145
- });
146
-
147
- await swarmInfoDone.wait({ timeout: DEFAULT_TIMEOUT });
139
+ diagnostics.swarms = serviceContext.networkManager.connectionLog?.swarms;
148
140
  }
149
141
 
150
142
  diagnostics.config = config.values;
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.ff5734a";