UNPKG

3.91 kBTypeScriptView Raw
1/// <reference types="node" />
2import { ConnectivityState } from "./connectivity-state";
3import { ChannelTrace } from "./generated/grpc/channelz/v1/ChannelTrace";
4import { SubchannelAddress } from "./subchannel-address";
5import { ChannelzDefinition, ChannelzHandlers } from "./generated/grpc/channelz/v1/Channelz";
6export declare type TraceSeverity = 'CT_UNKNOWN' | 'CT_INFO' | 'CT_WARNING' | 'CT_ERROR';
7export interface ChannelRef {
8 kind: 'channel';
9 id: number;
10 name: string;
11}
12export interface SubchannelRef {
13 kind: 'subchannel';
14 id: number;
15 name: string;
16}
17export interface ServerRef {
18 kind: 'server';
19 id: number;
20}
21export interface SocketRef {
22 kind: 'socket';
23 id: number;
24 name: string;
25}
26interface TraceEvent {
27 description: string;
28 severity: TraceSeverity;
29 timestamp: Date;
30 childChannel?: ChannelRef;
31 childSubchannel?: SubchannelRef;
32}
33export declare class ChannelzTrace {
34 events: TraceEvent[];
35 creationTimestamp: Date;
36 eventsLogged: number;
37 constructor();
38 addTrace(severity: TraceSeverity, description: string, child?: ChannelRef | SubchannelRef): void;
39 getTraceMessage(): ChannelTrace;
40}
41export declare class ChannelzChildrenTracker {
42 private channelChildren;
43 private subchannelChildren;
44 private socketChildren;
45 refChild(child: ChannelRef | SubchannelRef | SocketRef): void;
46 unrefChild(child: ChannelRef | SubchannelRef | SocketRef): void;
47 getChildLists(): ChannelzChildren;
48}
49export declare class ChannelzCallTracker {
50 callsStarted: number;
51 callsSucceeded: number;
52 callsFailed: number;
53 lastCallStartedTimestamp: Date | null;
54 addCallStarted(): void;
55 addCallSucceeded(): void;
56 addCallFailed(): void;
57}
58export interface ChannelzChildren {
59 channels: ChannelRef[];
60 subchannels: SubchannelRef[];
61 sockets: SocketRef[];
62}
63export interface ChannelInfo {
64 target: string;
65 state: ConnectivityState;
66 trace: ChannelzTrace;
67 callTracker: ChannelzCallTracker;
68 children: ChannelzChildren;
69}
70export interface SubchannelInfo extends ChannelInfo {
71}
72export interface ServerInfo {
73 trace: ChannelzTrace;
74 callTracker: ChannelzCallTracker;
75 listenerChildren: ChannelzChildren;
76 sessionChildren: ChannelzChildren;
77}
78export interface TlsInfo {
79 cipherSuiteStandardName: string | null;
80 cipherSuiteOtherName: string | null;
81 localCertificate: Buffer | null;
82 remoteCertificate: Buffer | null;
83}
84export interface SocketInfo {
85 localAddress: SubchannelAddress | null;
86 remoteAddress: SubchannelAddress | null;
87 security: TlsInfo | null;
88 remoteName: string | null;
89 streamsStarted: number;
90 streamsSucceeded: number;
91 streamsFailed: number;
92 messagesSent: number;
93 messagesReceived: number;
94 keepAlivesSent: number;
95 lastLocalStreamCreatedTimestamp: Date | null;
96 lastRemoteStreamCreatedTimestamp: Date | null;
97 lastMessageSentTimestamp: Date | null;
98 lastMessageReceivedTimestamp: Date | null;
99 localFlowControlWindow: number | null;
100 remoteFlowControlWindow: number | null;
101}
102export declare function registerChannelzChannel(name: string, getInfo: () => ChannelInfo, channelzEnabled: boolean): ChannelRef;
103export declare function registerChannelzSubchannel(name: string, getInfo: () => SubchannelInfo, channelzEnabled: boolean): SubchannelRef;
104export declare function registerChannelzServer(getInfo: () => ServerInfo, channelzEnabled: boolean): ServerRef;
105export declare function registerChannelzSocket(name: string, getInfo: () => SocketInfo, channelzEnabled: boolean): SocketRef;
106export declare function unregisterChannelzRef(ref: ChannelRef | SubchannelRef | ServerRef | SocketRef): void;
107export declare function getChannelzHandlers(): ChannelzHandlers;
108export declare function getChannelzServiceDefinition(): ChannelzDefinition;
109export declare function setup(): void;
110export {};