<Self>(): {
(): TelemetryTag<Self>
<HSelf>(options: {
readonly node: NodeKey<HSelf>
readonly description?: string
}): TelemetryNodeTag<Self, HSelf>
}Declare a Telemetry tag: class FleetTelemetry extends Telemetry.Tag<FleetTelemetry>()() {} (nodeless
— the dashboard reaches each node via Hyperlink.client(FleetTelemetry, node)), or
…Tag<FleetTelemetry>()({ node: MiniNode }) to bind + serve it on a specific node.
export const const Tag: <Self>() => {
(): TelemetryTag<Self>
<HSelf>(options: {
readonly node: NodeKey<HSelf>
readonly description?: string
}): TelemetryNodeTag<Self, HSelf>
}
Declare a Telemetry tag: class FleetTelemetry extends Telemetry.Tag<FleetTelemetry>()() {} (nodeless
— the dashboard reaches each node via Hyperlink.client(FleetTelemetry, node)), or
…Tag<FleetTelemetry>()({ node: MiniNode }) to bind + serve it on a specific node.
Tag = <function (type parameter) Self in <Self>(): {
(): TelemetryTag<Self>;
<HSelf>(options: {
readonly node: NodeKey<HSelf>;
readonly description?: string;
}): TelemetryNodeTag<Self, HSelf>;
}
Self>() => {
function function (local function) build(): TelemetryTag<Self> (+1 overload)build(): type TelemetryTag<Self> = Hyperlink.HyperlinkTag<Self, {
snapshot: Hyperlink.Method<undefined, typeof MetricsSnapshot, Schema.Never, false, Hyperlink.MethodAnnotations & {
description: string;
}, Hyperlink.Derive>;
live: Hyperlink.Method<undefined, typeof MetricsSnapshot, Schema.Never, true, Hyperlink.MethodAnnotations & {
description: string;
}, Hyperlink.Derive>;
inFlightByNode: Hyperlink.Marked<Hyperlink.Method<undefined, Schema.$Record<Schema.String, Schema.Number>, Schema.Never, false, Hyperlink.MethodAnnotations & {
...;
}, Hyperlink.Derive>, {
...;
}>;
fleetInFlight: Hyperlink.Marked<...>;
}, {
...;
}>
A Telemetry instance tag.
TelemetryTag<function (type parameter) Self in <Self>(): {
(): TelemetryTag<Self>;
<HSelf>(options: {
readonly node: NodeKey<HSelf>;
readonly description?: string;
}): TelemetryNodeTag<Self, HSelf>;
}
Self>;
function function (local function) build<HSelf>(options: {
readonly node: NodeKey<HSelf>;
readonly description?: string;
}): TelemetryNodeTag<Self, HSelf> (+1 overload)
build<function (type parameter) HSelf in build<HSelf>(options: {
readonly node: NodeKey<HSelf>;
readonly description?: string;
}): TelemetryNodeTag<Self, HSelf>
HSelf>(options: {
readonly node: NodeKey<HSelf>
readonly description?: string
}
options: {
readonly node: NodeKey<HSelf>(property) node: {
key: string;
Service: {
protocol: Context.Service.Shape<typeof RpcClient.Protocol>;
ping: Effect.Effect<number, NodeUnreachable>;
status: { readonly get: Effect.Effect<NodeStatusSnapshot, NodeUnreachable>; readonly changes: Stream.Stream<NodeStatusSnapshot, NodeUnreachable> };
logs: { readonly stream: Stream.Stream<LogEntry, NodeUnreachable>; readonly query: (options: { readonly limit: number }) => Effect.Effect<ReadonlyArray<LogEntry>, NodeUnreachable> };
};
Identifier: Identifier;
stack: string | undefined;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
toString: () => string;
toJSON: () => unknown;
}
node: type NodeKey<HSelf> = Key<HSelf, NodeProtocol>The Context key of a
Node
(HSelf = its identity): a service whose value is the
transport
NodeProtocol
. Stored on a node-bearing tag under
nodeSym
; read by
Hyperlink.client
to resolve where to connect (its requirement channel).
NodeKey<function (type parameter) HSelf in build<HSelf>(options: {
readonly node: NodeKey<HSelf>;
readonly description?: string;
}): TelemetryNodeTag<Self, HSelf>
HSelf>;
readonly description?: string | undefineddescription?: string;
}): type TelemetryNodeTag<Self, HSelf> = Hyperlink.NodeBoundTag<Self, {
snapshot: Hyperlink.Method<undefined, typeof MetricsSnapshot, Schema.Never, false, Hyperlink.MethodAnnotations & {
description: string;
}, Hyperlink.Derive>;
live: Hyperlink.Method<undefined, typeof MetricsSnapshot, Schema.Never, true, Hyperlink.MethodAnnotations & {
description: string;
}, Hyperlink.Derive>;
inFlightByNode: Hyperlink.Marked<Hyperlink.Method<undefined, Schema.$Record<Schema.String, Schema.Number>, Schema.Never, false, Hyperlink.MethodAnnotations & {
...;
}, Hyperlink.Derive>, {
...;
}>;
fleetInFlight: Hyperlink.Marked<...>;
}, HSelf, {
...;
}>
A node-bound
TelemetryTag
— served + reached on that node.
TelemetryNodeTag<function (type parameter) Self in <Self>(): {
(): TelemetryTag<Self>;
<HSelf>(options: {
readonly node: NodeKey<HSelf>;
readonly description?: string;
}): TelemetryNodeTag<Self, HSelf>;
}
Self, function (type parameter) HSelf in build<HSelf>(options: {
readonly node: NodeKey<HSelf>;
readonly description?: string;
}): TelemetryNodeTag<Self, HSelf>
HSelf>;
function function (local function) build(): TelemetryTag<Self> (+1 overload)build(
options: TelemetryConstructOptions<unknown>options?: interface TelemetryConstructOptions<HSelf = never>Tag-construction options for
Tag
.
TelemetryConstructOptions<unknown>,
): type TelemetryTag<Self> = Hyperlink.HyperlinkTag<Self, {
snapshot: Hyperlink.Method<undefined, typeof MetricsSnapshot, Schema.Never, false, Hyperlink.MethodAnnotations & {
description: string;
}, Hyperlink.Derive>;
live: Hyperlink.Method<undefined, typeof MetricsSnapshot, Schema.Never, true, Hyperlink.MethodAnnotations & {
description: string;
}, Hyperlink.Derive>;
inFlightByNode: Hyperlink.Marked<Hyperlink.Method<undefined, Schema.$Record<Schema.String, Schema.Number>, Schema.Never, false, Hyperlink.MethodAnnotations & {
...;
}, Hyperlink.Derive>, {
...;
}>;
fleetInFlight: Hyperlink.Marked<...>;
}, {
...;
}>
A Telemetry instance tag.
TelemetryTag<function (type parameter) Self in <Self>(): {
(): TelemetryTag<Self>;
<HSelf>(options: {
readonly node: NodeKey<HSelf>;
readonly description?: string;
}): TelemetryNodeTag<Self, HSelf>;
}
Self> {
const const node: NodeKey<unknown> | undefinednode = options: TelemetryConstructOptions<unknown>options?.TelemetryConstructOptions<unknown>.node?: NodeKey<HSelf>node;
const const key: stringkey = const keyFor: (
node: NodeKey<unknown> | undefined
) => string
keyFor(const node: NodeKey<unknown> | undefinednode);
return const node: NodeKey<unknown> | undefinednode === var undefinedundefined
? resourceTag<Self>(): SchemaTagBuilder<Self> (+2 overloads)Schema-driven solo: infer the service from spec; bare
local
is a compile error.
resourceTag<function (type parameter) Self in <Self>(): {
(): TelemetryTag<Self>;
<HSelf>(options: {
readonly node: NodeKey<HSelf>;
readonly description?: string;
}): TelemetryNodeTag<Self, HSelf>;
}
Self>()(const key: stringkey, const telemetrySpec: {
snapshot: Hyperlink.Method<undefined, typeof MetricsSnapshot, Schema.Never, false, Hyperlink.MethodAnnotations & {
description: string;
}, Hyperlink.Derive>;
live: Hyperlink.Method<undefined, typeof MetricsSnapshot, Schema.Never, true, Hyperlink.MethodAnnotations & {
description: string;
}, Hyperlink.Derive>;
inFlightByNode: Hyperlink.Marked<Hyperlink.Method<undefined, Schema.$Record<Schema.String, Schema.Number>, Schema.Never, false, Hyperlink.MethodAnnotations & {
...;
}, Hyperlink.Derive>, {
...;
}>;
fleetInFlight: Hyperlink.Marked<...>;
}
telemetrySpec, {
kind?: string | undefinedkind,
description?: string | undefineddescription: options: TelemetryConstructOptions<unknown>options?.TelemetryConstructOptions<unknown>.description?: string | undefineddescription,
})
: resourceTag<Self>(): SchemaTagBuilder<Self> (+2 overloads)Schema-driven solo: infer the service from spec; bare
local
is a compile error.
resourceTag<function (type parameter) Self in <Self>(): {
(): TelemetryTag<Self>;
<HSelf>(options: {
readonly node: NodeKey<HSelf>;
readonly description?: string;
}): TelemetryNodeTag<Self, HSelf>;
}
Self>()(const key: stringkey, const telemetrySpec: {
snapshot: Hyperlink.Method<undefined, typeof MetricsSnapshot, Schema.Never, false, Hyperlink.MethodAnnotations & {
description: string;
}, Hyperlink.Derive>;
live: Hyperlink.Method<undefined, typeof MetricsSnapshot, Schema.Never, true, Hyperlink.MethodAnnotations & {
description: string;
}, Hyperlink.Derive>;
inFlightByNode: Hyperlink.Marked<Hyperlink.Method<undefined, Schema.$Record<Schema.String, Schema.Number>, Schema.Never, false, Hyperlink.MethodAnnotations & {
...;
}, Hyperlink.Derive>, {
...;
}>;
fleetInFlight: Hyperlink.Marked<...>;
}
telemetrySpec, {
kind?: string | undefinedkind,
description?: string | undefineddescription: options: TelemetryConstructOptions<unknown>options?.TelemetryConstructOptions<unknown>.description?: string | undefineddescription,
node: NodeKey<unknown>(property) node: {
key: string;
Service: {
protocol: Context.Service.Shape<typeof RpcClient.Protocol>;
ping: Effect.Effect<number, NodeUnreachable>;
status: { readonly get: Effect.Effect<NodeStatusSnapshot, NodeUnreachable>; readonly changes: Stream.Stream<NodeStatusSnapshot, NodeUnreachable> };
logs: { readonly stream: Stream.Stream<LogEntry, NodeUnreachable>; readonly query: (options: { readonly limit: number }) => Effect.Effect<ReadonlyArray<LogEntry>, NodeUnreachable> };
};
Identifier: Identifier;
stack: string | undefined;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
toString: () => string;
toJSON: () => unknown;
}
node,
});
}
return function (local function) build(): TelemetryTag<Self> (+1 overload)build;
};