UNPKG

3.89 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 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 type SubchannelInfo = ChannelInfo;
71export interface ServerInfo {
72 trace: ChannelzTrace;
73 callTracker: ChannelzCallTracker;
74 listenerChildren: ChannelzChildren;
75 sessionChildren: ChannelzChildren;
76}
77export interface TlsInfo {
78 cipherSuiteStandardName: string | null;
79 cipherSuiteOtherName: string | null;
80 localCertificate: Buffer | null;
81 remoteCertificate: Buffer | null;
82}
83export interface SocketInfo {
84 localAddress: SubchannelAddress | null;
85 remoteAddress: SubchannelAddress | null;
86 security: TlsInfo | null;
87 remoteName: string | null;
88 streamsStarted: number;
89 streamsSucceeded: number;
90 streamsFailed: number;
91 messagesSent: number;
92 messagesReceived: number;
93 keepAlivesSent: number;
94 lastLocalStreamCreatedTimestamp: Date | null;
95 lastRemoteStreamCreatedTimestamp: Date | null;
96 lastMessageSentTimestamp: Date | null;
97 lastMessageReceivedTimestamp: Date | null;
98 localFlowControlWindow: number | null;
99 remoteFlowControlWindow: number | null;
100}
101export declare function registerChannelzChannel(name: string, getInfo: () => ChannelInfo, channelzEnabled: boolean): ChannelRef;
102export declare function registerChannelzSubchannel(name: string, getInfo: () => SubchannelInfo, channelzEnabled: boolean): SubchannelRef;
103export declare function registerChannelzServer(getInfo: () => ServerInfo, channelzEnabled: boolean): ServerRef;
104export declare function registerChannelzSocket(name: string, getInfo: () => SocketInfo, channelzEnabled: boolean): SocketRef;
105export declare function unregisterChannelzRef(ref: ChannelRef | SubchannelRef | ServerRef | SocketRef): void;
106export declare function getChannelzHandlers(): ChannelzHandlers;
107export declare function getChannelzServiceDefinition(): ChannelzDefinition;
108export declare function setup(): void;
109export {};