@dxos/client-services 0.3.3-main.e0ded2e → 0.3.3-main.ef9deca

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,8 +1,9 @@
1
1
  import { type ClientServices } from '@dxos/client-protocol';
2
2
  import { type Config, type ConfigProto } from '@dxos/config';
3
3
  import { type PublicKey } from '@dxos/keys';
4
- import { type Device, type Identity, type Metrics, type Space as SpaceProto, SpaceMember } from '@dxos/protocols/proto/dxos/client/services';
4
+ import { type Device, type Identity, type Metrics, type NetworkStatus, type Space as SpaceProto, SpaceMember } from '@dxos/protocols/proto/dxos/client/services';
5
5
  import { type SubscribeToFeedsResponse } from '@dxos/protocols/proto/dxos/devtools/host';
6
+ import { type SwarmInfo } from '@dxos/protocols/proto/dxos/devtools/swarm';
6
7
  import { type Epoch } from '@dxos/protocols/proto/dxos/halo/credentials';
7
8
  import { type Platform } from './platform';
8
9
  import { type ServiceContext } from './service-context';
@@ -19,6 +20,8 @@ export type Diagnostics = {
19
20
  identity?: Identity;
20
21
  devices?: Device[];
21
22
  spaces?: SpaceStats[];
23
+ networkStatus?: NetworkStatus;
24
+ swarms?: SwarmInfo[];
22
25
  feeds?: Partial<SubscribeToFeedsResponse.Feed>[];
23
26
  metrics?: Metrics;
24
27
  };
@@ -1 +1 @@
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,KAAK,IAAI,UAAU,EACxB,WAAW,EACZ,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACzF,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,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,CAyDrB,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.e0ded2e";
1
+ export declare const DXOS_VERSION = "0.3.3-main.ef9deca";
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.e0ded2e",
3
+ "version": "0.3.3-main.ef9deca",
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.e0ded2e",
26
- "@dxos/client-protocol": "0.3.3-main.e0ded2e",
27
- "@dxos/codec-protobuf": "0.3.3-main.e0ded2e",
28
- "@dxos/config": "0.3.3-main.e0ded2e",
29
- "@dxos/context": "0.3.3-main.e0ded2e",
30
- "@dxos/credentials": "0.3.3-main.e0ded2e",
31
- "@dxos/crypto": "0.3.3-main.e0ded2e",
32
- "@dxos/document-model": "0.3.3-main.e0ded2e",
33
- "@dxos/debug": "0.3.3-main.e0ded2e",
34
- "@dxos/echo-db": "0.3.3-main.e0ded2e",
35
- "@dxos/echo-pipeline": "0.3.3-main.e0ded2e",
36
- "@dxos/echo-schema": "0.3.3-main.e0ded2e",
37
- "@dxos/invariant": "0.3.3-main.e0ded2e",
38
- "@dxos/feed-store": "0.3.3-main.e0ded2e",
39
- "@dxos/keyring": "0.3.3-main.e0ded2e",
40
- "@dxos/keys": "0.3.3-main.e0ded2e",
41
- "@dxos/lock-file": "0.3.3-main.e0ded2e",
42
- "@dxos/log": "0.3.3-main.e0ded2e",
43
- "@dxos/messaging": "0.3.3-main.e0ded2e",
44
- "@dxos/model-factory": "0.3.3-main.e0ded2e",
45
- "@dxos/network-manager": "0.3.3-main.e0ded2e",
46
- "@dxos/node-std": "0.3.3-main.e0ded2e",
47
- "@dxos/protocols": "0.3.3-main.e0ded2e",
48
- "@dxos/random-access-storage": "0.3.3-main.e0ded2e",
49
- "@dxos/rpc": "0.3.3-main.e0ded2e",
50
- "@dxos/teleport": "0.3.3-main.e0ded2e",
51
- "@dxos/teleport-extension-gossip": "0.3.3-main.e0ded2e",
52
- "@dxos/teleport-extension-object-sync": "0.3.3-main.e0ded2e",
53
- "@dxos/text-model": "0.3.3-main.e0ded2e",
54
- "@dxos/timeframe": "0.3.3-main.e0ded2e",
55
- "@dxos/tracing": "0.3.3-main.e0ded2e",
56
- "@dxos/util": "0.3.3-main.e0ded2e",
57
- "@dxos/websocket-rpc": "0.3.3-main.e0ded2e"
25
+ "@dxos/async": "0.3.3-main.ef9deca",
26
+ "@dxos/client-protocol": "0.3.3-main.ef9deca",
27
+ "@dxos/codec-protobuf": "0.3.3-main.ef9deca",
28
+ "@dxos/config": "0.3.3-main.ef9deca",
29
+ "@dxos/context": "0.3.3-main.ef9deca",
30
+ "@dxos/credentials": "0.3.3-main.ef9deca",
31
+ "@dxos/crypto": "0.3.3-main.ef9deca",
32
+ "@dxos/debug": "0.3.3-main.ef9deca",
33
+ "@dxos/document-model": "0.3.3-main.ef9deca",
34
+ "@dxos/echo-db": "0.3.3-main.ef9deca",
35
+ "@dxos/echo-pipeline": "0.3.3-main.ef9deca",
36
+ "@dxos/echo-schema": "0.3.3-main.ef9deca",
37
+ "@dxos/feed-store": "0.3.3-main.ef9deca",
38
+ "@dxos/invariant": "0.3.3-main.ef9deca",
39
+ "@dxos/keyring": "0.3.3-main.ef9deca",
40
+ "@dxos/keys": "0.3.3-main.ef9deca",
41
+ "@dxos/lock-file": "0.3.3-main.ef9deca",
42
+ "@dxos/log": "0.3.3-main.ef9deca",
43
+ "@dxos/messaging": "0.3.3-main.ef9deca",
44
+ "@dxos/model-factory": "0.3.3-main.ef9deca",
45
+ "@dxos/network-manager": "0.3.3-main.ef9deca",
46
+ "@dxos/node-std": "0.3.3-main.ef9deca",
47
+ "@dxos/protocols": "0.3.3-main.ef9deca",
48
+ "@dxos/random-access-storage": "0.3.3-main.ef9deca",
49
+ "@dxos/rpc": "0.3.3-main.ef9deca",
50
+ "@dxos/teleport": "0.3.3-main.ef9deca",
51
+ "@dxos/teleport-extension-gossip": "0.3.3-main.ef9deca",
52
+ "@dxos/teleport-extension-object-sync": "0.3.3-main.ef9deca",
53
+ "@dxos/text-model": "0.3.3-main.ef9deca",
54
+ "@dxos/timeframe": "0.3.3-main.ef9deca",
55
+ "@dxos/tracing": "0.3.3-main.ef9deca",
56
+ "@dxos/util": "0.3.3-main.ef9deca",
57
+ "@dxos/websocket-rpc": "0.3.3-main.ef9deca"
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.e0ded2e"
62
+ "@dxos/signal": "0.3.3-main.ef9deca"
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
  }
@@ -16,10 +16,12 @@ import {
16
16
  type Device,
17
17
  type Identity,
18
18
  type Metrics,
19
+ type NetworkStatus,
19
20
  type Space as SpaceProto,
20
21
  SpaceMember,
21
22
  } from '@dxos/protocols/proto/dxos/client/services';
22
23
  import { type SubscribeToFeedsResponse } from '@dxos/protocols/proto/dxos/devtools/host';
24
+ import { type SwarmInfo } from '@dxos/protocols/proto/dxos/devtools/swarm';
23
25
  import { type Epoch } from '@dxos/protocols/proto/dxos/halo/credentials';
24
26
 
25
27
  import { getPlatform, type Platform } from './platform';
@@ -42,6 +44,8 @@ export type Diagnostics = {
42
44
  identity?: Identity;
43
45
  devices?: Device[];
44
46
  spaces?: SpaceStats[];
47
+ networkStatus?: NetworkStatus;
48
+ swarms?: SwarmInfo[];
45
49
  feeds?: Partial<SubscribeToFeedsResponse.Feed>[];
46
50
  metrics?: Metrics;
47
51
  };
@@ -122,6 +126,17 @@ export const createDiagnostics = async (
122
126
  timeout: DEFAULT_TIMEOUT,
123
127
  }).catch(() => undefined)) ?? {};
124
128
  diagnostics.feeds = feeds.map(({ feedKey, bytes, length }) => ({ feedKey, bytes, length }));
129
+
130
+ // Signal servers.
131
+
132
+ const status = await getFirstStreamValue(clientServices.NetworkService!.queryStatus(), {
133
+ timeout: DEFAULT_TIMEOUT,
134
+ }).catch(() => undefined);
135
+ diagnostics.networkStatus = status;
136
+
137
+ // Networking.
138
+
139
+ diagnostics.swarms = serviceContext.networkManager.connectionLog?.swarms;
125
140
  }
126
141
 
127
142
  diagnostics.config = config.values;
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const DXOS_VERSION = "0.3.3-main.e0ded2e";
1
+ export const DXOS_VERSION = "0.3.3-main.ef9deca";