///
import { ChannelCredentials, ChannelOptions, UntypedServiceImplementation, handleUnaryCall, Client, ClientUnaryCall, Metadata, CallOptions, ServiceError } from '@grpc/grpc-js';
import _m0 from 'protobufjs/minimal';
import { SessionState, QueryStatement } from '../../../../../yandex/cloud/mdb/postgresql/v1/perf_diag';
export declare const protobufPackage = "yandex.cloud.mdb.postgresql.v1";
export interface ListRawStatementsRequest {
/**
* ID of a PostgreSQL cluster to request query statistics for.
*
* To get a PostgreSQL cluster ID, use the [ClusterService.List] method.
*/
clusterId: string;
/** Beginning of the period for which you need to request data (in the [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format). */
fromTime?: Date;
/** End of the period for which you need to request data (in the [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format). */
toTime?: Date;
/** The maximum number of results per page to return. If the number of the results is larger than [page_size], the service returns [ListRawStatementsResponse.next_page_token]. You can use it to get the next page of the results in subsequent requests. */
pageSize: number;
/** Page token. To get the next page of results, set [page_token] to the [ListRawStatementsResponse.next_page_token] returned by the previous SQL statement list request. */
pageToken: string;
}
export interface ListRawSessionStatesRequest {
/**
* ID of a PostgreSQL cluster to request session statistics for.
*
* To get a PostgreSQL cluster ID, use the [ClusterService.List] request.
*/
clusterId: string;
/** Beginning of the period for which you need to request data (in the [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format). */
fromTime?: Date;
/** End of the period for which you need to request data (in the [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format). */
toTime?: Date;
/** The maximum number of results per page to return. If the number of the results is larger than [page_size], the service returns [ListRawSessionStatesResponse.next_page_token]. You can use it to get the next page of the results in subsequent requests. */
pageSize: number;
/** Page token. To get the next page of results, set [page_token] to the [ListRawSessionStatesResponse.next_page_token] returned by the previous PostgreSQL session list request. */
pageToken: string;
}
export interface ListRawSessionStatesResponse {
/** List of PostgreSQL sessions. */
sessionStates: SessionState[];
/** This token allows you to get the next page of results when requesting the PostgreSQL session list. If the number of the results is larger than [ListRawSessionStatesRequest.page_size], use the [next_page_token] as the value for the [ListRawSessionStatesRequest.page_token] parameter in the next request. Each subsequent request will have its own [next_page_token] to continue paging through the results. */
nextPageToken: string;
}
export interface ListRawStatementsResponse {
/** List of SQL statements (queries). */
statements: QueryStatement[];
/** This token allows you to get the next page of results when requesting the PostgreSQL session list. If the number of the results is larger than [ListRawStatementsRequest.page_size], use the [next_page_token] as the value for the [ListRawStatementsRequest.page_token] parameter in the next request. Each subsequent request will have its own [next_page_token] to continue paging through the results. */
nextPageToken: string;
}
export declare const ListRawStatementsRequest: {
encode(message: ListRawStatementsRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): ListRawStatementsRequest;
fromJSON(object: any): ListRawStatementsRequest;
toJSON(message: ListRawStatementsRequest): unknown;
fromPartial, never>>(object: I): ListRawStatementsRequest;
};
export declare const ListRawSessionStatesRequest: {
encode(message: ListRawSessionStatesRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): ListRawSessionStatesRequest;
fromJSON(object: any): ListRawSessionStatesRequest;
toJSON(message: ListRawSessionStatesRequest): unknown;
fromPartial, never>>(object: I): ListRawSessionStatesRequest;
};
export declare const ListRawSessionStatesResponse: {
encode(message: ListRawSessionStatesResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): ListRawSessionStatesResponse;
fromJSON(object: any): ListRawSessionStatesResponse;
toJSON(message: ListRawSessionStatesResponse): unknown;
fromPartial, never>)[] & Record, never>) | undefined;
nextPageToken?: string | undefined;
} & Record, never>>(object: I): ListRawSessionStatesResponse;
};
export declare const ListRawStatementsResponse: {
encode(message: ListRawStatementsResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): ListRawStatementsResponse;
fromJSON(object: any): ListRawStatementsResponse;
toJSON(message: ListRawStatementsResponse): unknown;
fromPartial, never>) | undefined;
stats?: ({
time?: Date | undefined;
query?: string | undefined;
normalizedPlan?: string | undefined;
examplePlan?: string | undefined;
plans?: number | undefined;
totalPlanTime?: number | undefined;
minPlanTime?: number | undefined;
maxPlanTime?: number | undefined;
meanPlanTime?: number | undefined;
stddevPlanTime?: number | undefined;
calls?: number | undefined;
totalTime?: number | undefined;
minTime?: number | undefined;
maxTime?: number | undefined;
meanTime?: number | undefined;
stddevTime?: number | undefined;
rows?: number | undefined;
sharedBlksHit?: number | undefined;
sharedBlksRead?: number | undefined;
sharedBlksDirtied?: number | undefined;
sharedBlksWritten?: number | undefined;
localBlksHit?: number | undefined;
localBlksRead?: number | undefined;
localBlksDirtied?: number | undefined;
localBlksWritten?: number | undefined;
tempBlksRead?: number | undefined;
tempBlksWritten?: number | undefined;
blkReadTime?: number | undefined;
blkWriteTime?: number | undefined;
tempBlkReadTime?: number | undefined;
tempBlkWriteTime?: number | undefined;
walRecords?: number | undefined;
walFpi?: number | undefined;
walBytes?: number | undefined;
jitFunctions?: number | undefined;
jitGenerationTime?: number | undefined;
jitInliningCount?: number | undefined;
jitInliningTime?: number | undefined;
jitOptimizationCount?: number | undefined;
jitOptimizationTime?: number | undefined;
jitEmissionCount?: number | undefined;
jitEmissionTime?: number | undefined;
startupCost?: number | undefined;
totalCost?: number | undefined;
planRows?: number | undefined;
planWidth?: number | undefined;
reads?: number | undefined;
writes?: number | undefined;
userTime?: number | undefined;
systemTime?: number | undefined;
} & {
time?: Date | undefined;
query?: string | undefined;
normalizedPlan?: string | undefined;
examplePlan?: string | undefined;
plans?: number | undefined;
totalPlanTime?: number | undefined;
minPlanTime?: number | undefined;
maxPlanTime?: number | undefined;
meanPlanTime?: number | undefined;
stddevPlanTime?: number | undefined;
calls?: number | undefined;
totalTime?: number | undefined;
minTime?: number | undefined;
maxTime?: number | undefined;
meanTime?: number | undefined;
stddevTime?: number | undefined;
rows?: number | undefined;
sharedBlksHit?: number | undefined;
sharedBlksRead?: number | undefined;
sharedBlksDirtied?: number | undefined;
sharedBlksWritten?: number | undefined;
localBlksHit?: number | undefined;
localBlksRead?: number | undefined;
localBlksDirtied?: number | undefined;
localBlksWritten?: number | undefined;
tempBlksRead?: number | undefined;
tempBlksWritten?: number | undefined;
blkReadTime?: number | undefined;
blkWriteTime?: number | undefined;
tempBlkReadTime?: number | undefined;
tempBlkWriteTime?: number | undefined;
walRecords?: number | undefined;
walFpi?: number | undefined;
walBytes?: number | undefined;
jitFunctions?: number | undefined;
jitGenerationTime?: number | undefined;
jitInliningCount?: number | undefined;
jitInliningTime?: number | undefined;
jitOptimizationCount?: number | undefined;
jitOptimizationTime?: number | undefined;
jitEmissionCount?: number | undefined;
jitEmissionTime?: number | undefined;
startupCost?: number | undefined;
totalCost?: number | undefined;
planRows?: number | undefined;
planWidth?: number | undefined;
reads?: number | undefined;
writes?: number | undefined;
userTime?: number | undefined;
systemTime?: number | undefined;
} & Record, never>) | undefined;
} & Record, never>)[] & Record, never>) | undefined;
nextPageToken?: string | undefined;
} & Record, never>>(object: I): ListRawStatementsResponse;
};
/** A set of methods for PostgreSQL performance diagnostics. */
export declare const PerformanceDiagnosticsServiceService: {
/** Retrieves raw statistics on sessions. Corresponds to the [pg_stat_activity view](https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW). */
readonly listRawSessionStates: {
readonly path: "/yandex.cloud.mdb.postgresql.v1.PerformanceDiagnosticsService/ListRawSessionStates";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: ListRawSessionStatesRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => ListRawSessionStatesRequest;
readonly responseSerialize: (value: ListRawSessionStatesResponse) => Buffer;
readonly responseDeserialize: (value: Buffer) => ListRawSessionStatesResponse;
};
/** Retrieves statistics on planning and execution of SQL statements (queries). */
readonly listRawStatements: {
readonly path: "/yandex.cloud.mdb.postgresql.v1.PerformanceDiagnosticsService/ListRawStatements";
readonly requestStream: false;
readonly responseStream: false;
readonly requestSerialize: (value: ListRawStatementsRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => ListRawStatementsRequest;
readonly responseSerialize: (value: ListRawStatementsResponse) => Buffer;
readonly responseDeserialize: (value: Buffer) => ListRawStatementsResponse;
};
};
export interface PerformanceDiagnosticsServiceServer extends UntypedServiceImplementation {
/** Retrieves raw statistics on sessions. Corresponds to the [pg_stat_activity view](https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW). */
listRawSessionStates: handleUnaryCall;
/** Retrieves statistics on planning and execution of SQL statements (queries). */
listRawStatements: handleUnaryCall;
}
export interface PerformanceDiagnosticsServiceClient extends Client {
/** Retrieves raw statistics on sessions. Corresponds to the [pg_stat_activity view](https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW). */
listRawSessionStates(request: ListRawSessionStatesRequest, callback: (error: ServiceError | null, response: ListRawSessionStatesResponse) => void): ClientUnaryCall;
listRawSessionStates(request: ListRawSessionStatesRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListRawSessionStatesResponse) => void): ClientUnaryCall;
listRawSessionStates(request: ListRawSessionStatesRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ListRawSessionStatesResponse) => void): ClientUnaryCall;
/** Retrieves statistics on planning and execution of SQL statements (queries). */
listRawStatements(request: ListRawStatementsRequest, callback: (error: ServiceError | null, response: ListRawStatementsResponse) => void): ClientUnaryCall;
listRawStatements(request: ListRawStatementsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListRawStatementsResponse) => void): ClientUnaryCall;
listRawStatements(request: ListRawStatementsRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ListRawStatementsResponse) => void): ClientUnaryCall;
}
export declare const PerformanceDiagnosticsServiceClient: {
new (address: string, credentials: ChannelCredentials, options?: Partial): PerformanceDiagnosticsServiceClient;
service: typeof PerformanceDiagnosticsServiceService;
};
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? {
[K in keyof T]?: DeepPartial;
} : Partial;
type KeysOfUnion = T extends T ? keyof T : never;
export type Exact
= P extends Builtin ? P : P & {
[K in keyof P]: Exact