🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@metis-data/db-details

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@metis-data/db-details - npm Package Compare versions

Comparing version
3.0.0
to
3.0.1
+4
-0
dist/dialects/postgres/index.d.ts

@@ -17,2 +17,5 @@ import DbDetails from "../db-details";

private dbDetails;
private activeAndIdleConnections;
private tableSizePrettyMode;
private dbVersion;
private options;

@@ -25,2 +28,3 @@ private connection;

aggregateResourcesToOneResource(): Promise<void>;
isConnection(obj: any): obj is Connection;
getDbDetailsUseConnectionString(connection: Connection): Promise<any>;

@@ -27,0 +31,0 @@ getDbDetails(clientOrConnectionConfig: Connection | Client, options?: DbDetailsOptions): Promise<any>;

+49
-13

@@ -29,6 +29,6 @@ "use strict";

setClientFromClientInstance(client) {
this.client = new pg_1.Client(client);
this.client = client;
}
setDataResourcesFromDb() {
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
return __awaiter(this, void 0, void 0, function* () {

@@ -54,3 +54,12 @@ const mgClient = new pg_client_1.MPgClient(this.client);

}
if ((_l = this.options) === null || _l === void 0 ? void 0 : _l.getAllExtraData) {
if (((_l = this.options) === null || _l === void 0 ? void 0 : _l.getActiveAndIdleConnections) && !((_m = this.options) === null || _m === void 0 ? void 0 : _m.getAllExtraData)) {
this.activeAndIdleConnections = yield mgClient.queryDatabase((0, queries_1.query9_get_active_and_idle_connections)(this.client.database));
}
if (((_o = this.options) === null || _o === void 0 ? void 0 : _o.getDbSizeInPrettyMode) && !((_p = this.options) === null || _p === void 0 ? void 0 : _p.getAllExtraData)) {
this.tableSizePrettyMode = yield mgClient.queryDatabase(queries_1.query10_get_db_size_pretty_mode);
}
if (((_q = this.options) === null || _q === void 0 ? void 0 : _q.getDbVersion) && !((_r = this.options) === null || _r === void 0 ? void 0 : _r.getAllExtraData)) {
this.dbVersion = yield mgClient.queryDatabase(queries_1.query11_get_db_version);
}
if ((_s = this.options) === null || _s === void 0 ? void 0 : _s.getAllExtraData) {
this.databaseAvailableExtensions = yield mgClient.queryDatabase(queries_1.query3_get_database_available_extensions);

@@ -61,4 +70,7 @@ this.databaseConfig = yield mgClient.queryDatabase(queries_1.query5_get_database_config);

this.indexUsage = yield mgClient.queryDatabase(queries_1.query8_get_index_usage);
this.activeAndIdleConnections = yield mgClient.queryDatabase((0, queries_1.query9_get_active_and_idle_connections)(this.client.database));
this.tableSizePrettyMode = yield mgClient.queryDatabase(queries_1.query10_get_db_size_pretty_mode);
this.dbVersion = yield mgClient.queryDatabase(queries_1.query11_get_db_version);
}
if (!(this.options && ((_m = this.options) === null || _m === void 0 ? void 0 : _m.keepClientConnectionOpen))) {
if (!(this.options && ((_t = this.options) === null || _t === void 0 ? void 0 : _t.keepClientConnectionOpen))) {
mgClient.endClient();

@@ -69,3 +81,3 @@ }

manageSlowQueryLogRead() {
var _a, _b;
var _a, _b, _c;
return __awaiter(this, void 0, void 0, function* () {

@@ -76,3 +88,3 @@ try {

const isFdwExtensionAvailable = yield mgClient.queryDatabase(queries_1.query6_helper_check_if_postgres_fdw_extension_available);
if (!(isFdwExtensionAvailable[0].name === 'log_fdw')) {
if (!(((_a = isFdwExtensionAvailable[0]) === null || _a === void 0 ? void 0 : _a.extname) === 'log_fdw')) {
yield mgClient.queryDatabase(queries_1.query6_helper_create_fdw_extension);

@@ -84,3 +96,3 @@ }

this.logFileName = `'${logFileName[0].name}'`;
if ((_a = isForeignTableExist[0]) === null || _a === void 0 ? void 0 : _a.exists) {
if ((_b = isForeignTableExist[0]) === null || _b === void 0 ? void 0 : _b.exists) {
yield mgClient.queryDatabase(queries_1.query6_helper_dropForeignTable.replace('FOREIGN_TABLE_NAME', `${foreignTableName}`));

@@ -93,3 +105,3 @@ }

this.slowQueryLogData = yield mgClient.queryDatabase(queries_1.query6_get_from_table_log_fdw_slow_query_log.replace('FOREIGN_TABLE_NAME', foreignTableName));
if (!(this.options && ((_b = this.options) === null || _b === void 0 ? void 0 : _b.keepClientConnectionOpen))) {
if (!(this.options && ((_c = this.options) === null || _c === void 0 ? void 0 : _c.keepClientConnectionOpen))) {
mgClient.endClient();

@@ -137,2 +149,11 @@ }

}
isConnection(obj) {
return (typeof obj === 'object' &&
typeof obj.host === 'string' &&
typeof obj.database === 'string' &&
typeof obj.user === 'string' &&
typeof obj.password === 'string' &&
(typeof obj.port === 'undefined' || typeof obj.port === 'number') &&
(typeof obj.ssl === 'undefined' || typeof obj.ssl === 'boolean'));
}
getDbDetailsUseConnectionString(connection) {

@@ -155,5 +176,8 @@ return __awaiter(this, void 0, void 0, function* () {

}
else {
else if (this.isConnection(clientOrConnectionConfig)) {
this.setClientFromConnection(clientOrConnectionConfig);
}
else {
throw Error('clientOrConnectionConfig is not provided or empty');
}
yield this.setDataResourcesFromDb();

@@ -175,5 +199,8 @@ this.aggregateResourcesToOneResource();

}
else {
else if (this.isConnection(clientOrConnectionConfig)) {
this.setClientFromConnection(clientOrConnectionConfig);
}
else {
throw Error('clientOrConnectionConfig is not provided or empty');
}
yield this.setDataResourcesFromDb();

@@ -187,3 +214,6 @@ this.aggregateResourcesToOneResource();

tableSize: this.tableSize,
indexUsage: this.indexUsage
indexUsage: this.indexUsage,
activeAndIdleConnections: this.activeAndIdleConnections,
tableSizePrettyMode: this.tableSizePrettyMode[0]['pg_size_pretty'] || '',
dbVersion: this.dbVersion[0]['substring'] || 'unknown'
};

@@ -202,7 +232,13 @@ }

}
else {
else if (this.isConnection(clientOrConnectionConfig)) {
this.setClientFromConnection(clientOrConnectionConfig);
}
else {
throw Error('clientOrConnectionConfig is not provided or empty');
}
yield this.manageSlowQueryLogRead();
return this.slowQueryLogData;
return {
logFileName: this.logFileName,
data: this.slowQueryLogData
};
}

@@ -209,0 +245,0 @@ catch (error) {

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/dialects/postgres/index.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/dialects/postgres/index.ts"],"names":[],"mappings":"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"}
declare const query1_get_tables_rows_count_from_pg_class = "SELECT n.nspname AS schema_name, c.relname AS table_name, c.reltuples AS rows, c.relpages AS pages, c.oid AS relid\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nWHERE c.relkind = 'r'";
declare const query2_get_tables_extra_data_from_pg_stats_extension = "SELECT relid,\nrelname as table_name, \n(schemaname || '.' || relname) as full_table_name,\nn_live_tup::INTEGER as rows,\nn_dead_tup::INTEGER as dead_rows,\nn_mod_since_analyze,\nCASE\n WHEN n_live_tup = 0 THEN 0\n ELSE n_mod_since_analyze / n_live_tup\nEND AS pct_mod_since_analyze,\nlast_analyze as last_analyze_date,\nlast_autoanalyze as last_autoanalyze_date,\npg_total_relation_size(relid) / 1024 as total_table_size_kb, \npg_table_size(relid) / 1024 as table_size_kb,\npg_indexes_size(relid) / 1024 as indexes_size_kb,\npg_size_pretty(pg_total_relation_size(relid)) as total_table_size_pretty, \npg_size_pretty(pg_table_size(relid)) as table_size_pretty,\npg_size_pretty(pg_indexes_size(relid)) as index_size_pretty\nFROM pg_stat_user_tables;";
declare const query3_get_database_available_extensions = "SELECT name, default_version, installed_version, comment \nFROM pg_available_extensions \nORDER BY name";
declare const query4_get_database_stat_statements = "\nselect distinct on (queryid ) queryid as query_id,\npgss.calls as calls,\npgss.query,\npgss.rows,\npgss.total_exec_time,\npgss.mean_exec_time,\npgss.dbid as db_id,\npgd.datname as database_name,\nblk_read_time + blk_write_time as disk_io_time,\nto_jsonb(pgss) - 'userId' - 'dbid' - 'mean_exec_time' - 'total_exec_time' - 'rows' - 'query' - 'queryid' - 'calls' as metadata\nfrom \npg_stat_statements as pgss\njoin pg_database as d on pgss.dbid = d.oid\njoin pg_database pgd on pgd.oid = pgss.dbid\nwhere rows > 0 and total_exec_time > 0\norder by queryid desc\nlimit 300;";
declare const query4_get_database_stat_statements = "\nselect distinct on (queryid ) queryid as query_id,\npgss.calls as calls,\npgss.query,\npgss.rows,\npgss.total_exec_time,\npgss.mean_exec_time,\npgss.dbid as db_id,\npgd.datname as database_name,\nblk_read_time + blk_write_time as disk_io_time,\nto_jsonb(pgss)::jsonb - 'userId'::text - 'dbid'::text - 'mean_exec_time'::text - 'total_exec_time'::text - 'rows'::text - 'query'::text - 'queryid'::text - 'calls'::text as metadata\nfrom \npg_stat_statements as pgss\njoin pg_database as d on pgss.dbid = d.oid\njoin pg_database pgd on pgd.oid = pgss.dbid\nwhere rows > 0 and total_exec_time > 0\norder by queryid desc\nlimit 300;";
declare const query5_get_database_config = "show all";
declare const query6_get_from_table_log_fdw_slow_query_log = "SELECT * FROM FOREIGN_TABLE_NAME where message like '%plan%'";
declare const query6_helper_check_if_postgres_fdw_extension_available = "SELECT name FROM pg_available_extensions as pae where pae.name = 'log_fdw';";
declare const query6_helper_check_if_postgres_fdw_extension_available = "SELECT extname FROM pg_extension as pe where pe.extname = 'log_fdw';";
declare const query6_helper_create_fdw_extension = "CREATE EXTENSION log_fdw;";

@@ -16,2 +16,5 @@ declare const query6_helper_create_server = "CREATE SERVER IF NOT EXISTS metis_log_server FOREIGN DATA WRAPPER log_fdw;";

declare const query8_get_index_usage = "SELECT\nsui.schemaname AS schema, sui.relid, sui.relname AS table, sui.indexrelid, sui.indexrelname AS index,\nsui.idx_scan AS index_scans, sui.idx_tup_read AS index_rows_reads, sui.idx_tup_fetch AS index_rows_writes,\nsio_ui.idx_blks_read AS pages_read_from_disk, sio_ui.idx_blks_hit AS pages_read_from_buffer\nFROM pg_stat_user_indexes AS sui\nJOIN pg_statio_user_indexes AS sio_ui\nON sui.relid = sio_ui.relid\nAND sui.indexrelid = sio_ui.indexrelid;";
export { query1_get_tables_rows_count_from_pg_class, query2_get_tables_extra_data_from_pg_stats_extension, query3_get_database_available_extensions, query4_get_database_stat_statements, query5_get_database_config, query6_get_from_table_log_fdw_slow_query_log, query6_helper_check_if_postgres_fdw_extension_available, query6_helper_create_server, query6_helper_create_fdw_extension, query6_helper_get_log_file_to_create_table_from, query6_helper_check_if_table_exists, query6_helper_dropForeignTable, query6_helper_create_foreign_table, query7_get_tables_size, query8_get_index_usage };
declare const query9_get_active_and_idle_connections: (databaseName: string) => string;
declare const query10_get_db_size_pretty_mode = "SELECT pg_size_pretty( pg_database_size(current_database()))";
declare const query11_get_db_version = "SELECT substring(version() from 'PostgreSQL ([0-9]+.[0-9]+)')";
export { query1_get_tables_rows_count_from_pg_class, query2_get_tables_extra_data_from_pg_stats_extension, query3_get_database_available_extensions, query4_get_database_stat_statements, query5_get_database_config, query6_get_from_table_log_fdw_slow_query_log, query6_helper_check_if_postgres_fdw_extension_available, query6_helper_create_server, query6_helper_create_fdw_extension, query6_helper_get_log_file_to_create_table_from, query6_helper_check_if_table_exists, query6_helper_dropForeignTable, query6_helper_create_foreign_table, query7_get_tables_size, query8_get_index_usage, query9_get_active_and_idle_connections, query10_get_db_size_pretty_mode, query11_get_db_version };
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.query8_get_index_usage = exports.query7_get_tables_size = exports.query6_helper_create_foreign_table = exports.query6_helper_dropForeignTable = exports.query6_helper_check_if_table_exists = exports.query6_helper_get_log_file_to_create_table_from = exports.query6_helper_create_fdw_extension = exports.query6_helper_create_server = exports.query6_helper_check_if_postgres_fdw_extension_available = exports.query6_get_from_table_log_fdw_slow_query_log = exports.query5_get_database_config = exports.query4_get_database_stat_statements = exports.query3_get_database_available_extensions = exports.query2_get_tables_extra_data_from_pg_stats_extension = exports.query1_get_tables_rows_count_from_pg_class = void 0;
exports.query11_get_db_version = exports.query10_get_db_size_pretty_mode = exports.query9_get_active_and_idle_connections = exports.query8_get_index_usage = exports.query7_get_tables_size = exports.query6_helper_create_foreign_table = exports.query6_helper_dropForeignTable = exports.query6_helper_check_if_table_exists = exports.query6_helper_get_log_file_to_create_table_from = exports.query6_helper_create_fdw_extension = exports.query6_helper_create_server = exports.query6_helper_check_if_postgres_fdw_extension_available = exports.query6_get_from_table_log_fdw_slow_query_log = exports.query5_get_database_config = exports.query4_get_database_stat_statements = exports.query3_get_database_available_extensions = exports.query2_get_tables_extra_data_from_pg_stats_extension = exports.query1_get_tables_rows_count_from_pg_class = void 0;
const query1_get_tables_rows_count_from_pg_class = `SELECT n.nspname AS schema_name, c.relname AS table_name, c.reltuples AS rows, c.relpages AS pages, c.oid AS relid

@@ -43,3 +43,3 @@ FROM pg_class c

blk_read_time + blk_write_time as disk_io_time,
to_jsonb(pgss) - 'userId' - 'dbid' - 'mean_exec_time' - 'total_exec_time' - 'rows' - 'query' - 'queryid' - 'calls' as metadata
to_jsonb(pgss)::jsonb - 'userId'::text - 'dbid'::text - 'mean_exec_time'::text - 'total_exec_time'::text - 'rows'::text - 'query'::text - 'queryid'::text - 'calls'::text as metadata
from

@@ -57,3 +57,3 @@ pg_stat_statements as pgss

exports.query6_get_from_table_log_fdw_slow_query_log = query6_get_from_table_log_fdw_slow_query_log;
const query6_helper_check_if_postgres_fdw_extension_available = `SELECT name FROM pg_available_extensions as pae where pae.name = 'log_fdw';`;
const query6_helper_check_if_postgres_fdw_extension_available = `SELECT extname FROM pg_extension as pe where pe.extname = 'log_fdw';`;
exports.query6_helper_check_if_postgres_fdw_extension_available = query6_helper_check_if_postgres_fdw_extension_available;

@@ -101,2 +101,14 @@ const query6_helper_create_fdw_extension = `CREATE EXTENSION log_fdw;`;

exports.query8_get_index_usage = query8_get_index_usage;
const query9_get_active_and_idle_connections = (databaseName) => `SELECT datname as database,
COUNT(*) FILTER (WHERE state = 'active') AS active_connections,
COUNT(*) FILTER (WHERE state = 'idle') AS idle_connections
FROM pg_stat_activity
WHERE datname = '${databaseName}'
GROUP BY datname
ORDER BY datname`;
exports.query9_get_active_and_idle_connections = query9_get_active_and_idle_connections;
const query10_get_db_size_pretty_mode = `SELECT pg_size_pretty( pg_database_size(current_database()))`;
exports.query10_get_db_size_pretty_mode = query10_get_db_size_pretty_mode;
const query11_get_db_version = `SELECT substring(version() from 'PostgreSQL ([0-9]+.[0-9]+)')`;
exports.query11_get_db_version = query11_get_db_version;
//# sourceMappingURL=index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/dialects/postgres/queries/index.ts"],"names":[],"mappings":";;;AACA,MAAM,0CAA0C,GAAG;;;sBAG7B,CAAC;AAuFf,gGAA0C;AArFlD,MAAM,oDAAoD,GAAG;;;;;;;;;;;;;;;;;;0BAkBnC,CAAA;AAoElB,oHAAoD;AAlE5D,MAAM,wCAAwC,GAAG;;cAEnC,CAAC;AAiEP,4FAAwC;AA/DhD,MAAM,mCAAmC,GAAG;;;;;;;;;;;;;;;;;WAiBjC,CAAC;AA+CJ,kFAAmC;AA7C3C,MAAM,0BAA0B,GAAG,UAAU,CAAC;AA8CtC,gEAA0B;AA1ClC,MAAM,4CAA4C,GAAG,8DAA8D,CAAC;AA2C5G,oGAA4C;AA1CpD,MAAM,uDAAuD,GAAG,6EAA6E,CAAC;AA2CtI,0HAAuD;AA1C/D,MAAM,kCAAkC,GAAG,2BAA2B,CAAC;AA4C/D,gFAAkC;AA3C1C,MAAM,2BAA2B,GAAG,4EAA4E,CAAC;AA0CzG,kEAA2B;AAzCnC,MAAM,+CAA+C,GAAG,yFAAyF,CAAC;AA2C1I,0GAA+C;AA1CvD,MAAM,mCAAmC,GAAG,gGAAgG,CAAA;AA2CpI,kFAAmC;AA1C3C,MAAM,8BAA8B,GAAG,uCAAuC,CAAC;AA2CvE,wEAA8B;AA1CtC,MAAM,kCAAkC,GAAG,sGAAsG,CAAA;AA2CzI,gFAAkC;AAzC1C,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;2DAkB4B,CAAC;AAwBpD,wDAAsB;AAtB9B,MAAM,sBAAsB,GAAG;;;;;;;wCAOS,CAAA;AAgBhC,wDAAsB"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/dialects/postgres/queries/index.ts"],"names":[],"mappings":";;;AACA,MAAM,0CAA0C,GAAG;;;sBAG7B,CAAC;AAkGf,gGAA0C;AAhGlD,MAAM,oDAAoD,GAAG;;;;;;;;;;;;;;;;;;0BAkBnC,CAAA;AA+ElB,oHAAoD;AA7E5D,MAAM,wCAAwC,GAAG;;cAEnC,CAAC;AA4EP,4FAAwC;AA1EhD,MAAM,mCAAmC,GAAG;;;;;;;;;;;;;;;;;WAiBjC,CAAC;AA0DJ,kFAAmC;AAxD3C,MAAM,0BAA0B,GAAG,UAAU,CAAC;AAyDtC,gEAA0B;AArDlC,MAAM,4CAA4C,GAAG,8DAA8D,CAAC;AAsD5G,oGAA4C;AArDpD,MAAM,uDAAuD,GAAG,sEAAsE,CAAC;AAsD/H,0HAAuD;AArD/D,MAAM,kCAAkC,GAAG,2BAA2B,CAAC;AAuD/D,gFAAkC;AAtD1C,MAAM,2BAA2B,GAAG,4EAA4E,CAAC;AAqDzG,kEAA2B;AApDnC,MAAM,+CAA+C,GAAG,yFAAyF,CAAC;AAsD1I,0GAA+C;AArDvD,MAAM,mCAAmC,GAAG,gGAAgG,CAAA;AAsDpI,kFAAmC;AArD3C,MAAM,8BAA8B,GAAG,uCAAuC,CAAC;AAsDvE,wEAA8B;AArDtC,MAAM,kCAAkC,GAAG,sGAAsG,CAAA;AAsDzI,gFAAkC;AApD1C,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;2DAkB4B,CAAC;AAmCpD,wDAAsB;AAjC9B,MAAM,sBAAsB,GAAG;;;;;;;wCAOS,CAAA;AA2BhC,wDAAsB;AAzB9B,MAAM,sCAAsC,GAAG,CAAC,YAAoB,EAAE,EAAE,CAAC;;;;mBAItD,YAAY;;iBAEd,CAAC;AAoBV,wFAAsC;AAlB9C,MAAM,+BAA+B,GAAG,8DAA8D,CAAC;AAmB/F,0EAA+B;AAlBvC,MAAM,sBAAsB,GAAG,+DAA+D,CAAC;AAmBvF,wDAAsB"}

@@ -15,2 +15,5 @@ export declare type Dialect = "postgres" | "mysql";

getAllExtraData?: boolean;
getActiveAndIdleConnections?: boolean;
getDbSizeInPrettyMode?: boolean;
getDbVersion?: boolean;
}

@@ -17,0 +20,0 @@ export interface Connection {

{
"name": "@metis-data/db-details",
"version": "3.0.0",
"version": "3.0.1",
"description": "> TODO: description",

@@ -5,0 +5,0 @@ "author": "gidimetis <gideons@metisdata.io>",

//# sourceMappingURL=generate-metis-db-details.js.map
{"version":3,"file":"generate-metis-db-details.js","sourceRoot":"","sources":["../../lib/dialects/generate-metis-db-details.ts"],"names":[],"mappings":""}
import DbDetails from "../db-details";
import Connection from "./../../types";
export default class PGDbDetails extends DbDetails<any> {
getDbDetailsInPgStructureObjectForm(connection: any, options: any): Promise<any>;
getPgClassDetails(connection: Connection): Promise<any>;
getPgStructure(connection: Connection): Promise<any>;
structureClassAggregation(pgStructure: any, partialPgClassTableData: any): Promise<any>;
getDbDetails(connection: Connection): Promise<any>;
}
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const db_details_1 = __importDefault(require("../db-details"));
const pg_structure_1 = __importDefault(require("pg-structure"));
const postgres_numeric_types_1 = require("./enums/postgres-numeric-types");
const pg_client_1 = require("../utils/pg-client");
const indexedArrayToArray = (arr, operation, restriction) => {
if (!arr) {
return [];
}
const newArr = [];
arr.forEach((element) => {
if (!restriction || (restriction && restriction(element)))
if (element) {
newArr.push(operation(element));
}
});
return newArr;
};
const buildMExpressions = (column) => {
if (typeof column === "string") {
return column;
}
return undefined;
};
const buildMColumn = (column) => {
if (typeof column === "string") {
return undefined;
}
if (!column || !column.type) {
return undefined;
}
return {
name: column.name,
dataType: typeof column.type === "object" &&
typeof column.type !== null &&
typeof column.type !== "string"
? column.type.name
: "no type",
internalName: typeof column.type === "object" &&
typeof column.type !== null &&
typeof column.type !== "string"
? column.type.internalName
: "no type",
isNull: !column.notNull,
length: column.length,
isForeignKey: column.isForeignKey,
isPrimaryKey: column.isPrimaryKey,
fullCatalogName: column.fullCatalogName,
minValue: column.minValue,
maxValue: column.maxValue,
indexes: indexedArrayToArray(column.indexes, buildMIndexName),
};
};
const buildMIndex = (index) => {
if (!index) {
return undefined;
}
return {
name: index.name,
relatedColumns: indexedArrayToArray(index.columnsAndExpressions, buildMColumn, (element) => typeof element !== "string"),
relatedExpressions: indexedArrayToArray(index.columnsAndExpressions, buildMExpressions, (element) => typeof element === "string"),
};
};
const buildMIndexName = (index) => {
if (!index) {
return undefined;
}
return {
name: index.name
};
};
const buildMConstraint = (constraint) => {
var _a;
if (!constraint) {
return undefined;
}
return {
name: constraint === null || constraint === void 0 ? void 0 : constraint.name,
type: constraint.constructor.name,
comment: constraint === null || constraint === void 0 ? void 0 : constraint.comment,
schema: (_a = constraint === null || constraint === void 0 ? void 0 : constraint.schema) === null || _a === void 0 ? void 0 : _a.name,
};
};
const buildMTriggers = (trigger) => {
return {
name: trigger === null || trigger === void 0 ? void 0 : trigger.name,
oid: trigger === null || trigger === void 0 ? void 0 : trigger.oid,
arrayOid: trigger === null || trigger === void 0 ? void 0 : trigger.arrayOid,
category: trigger === null || trigger === void 0 ? void 0 : trigger.category,
classOid: trigger === null || trigger === void 0 ? void 0 : trigger.classOid,
comment: trigger === null || trigger === void 0 ? void 0 : trigger.comment,
internalName: trigger === null || trigger === void 0 ? void 0 : trigger.internalName,
};
};
const buildMForeignKey = (foreignKey) => {
const mColumns = indexedArrayToArray(foreignKey === null || foreignKey === void 0 ? void 0 : foreignKey.columns, buildMColumn);
return {
name: foreignKey === null || foreignKey === void 0 ? void 0 : foreignKey.name,
columns: mColumns,
referencedColumns: indexedArrayToArray(foreignKey === null || foreignKey === void 0 ? void 0 : foreignKey.referencedColumns, buildMColumn),
mandatoryParent: foreignKey === null || foreignKey === void 0 ? void 0 : foreignKey.mandatoryParent,
index: buildMIndex(foreignKey === null || foreignKey === void 0 ? void 0 : foreignKey.index),
};
};
const buildPrimaryKeyData = (primaryKey) => {
const mColumns = indexedArrayToArray(primaryKey === null || primaryKey === void 0 ? void 0 : primaryKey.columns, buildMColumn);
const sizeInBytes = mColumns.reduce((acc, cur) => {
if (cur.length != undefined && cur.dataType === "character") {
acc = acc + cur.length * 1;
}
if (cur.length === undefined) {
acc = acc + (postgres_numeric_types_1.NumericTypesPgEnum[cur.dataType] || 0);
}
return acc;
}, 0);
const numOfColumns = mColumns === null || mColumns === void 0 ? void 0 : mColumns.length;
return {
name: primaryKey === null || primaryKey === void 0 ? void 0 : primaryKey.name,
index: undefined,
columns: mColumns,
commentData: primaryKey === null || primaryKey === void 0 ? void 0 : primaryKey.commentData,
sizeInBytes: sizeInBytes,
numOfColumns: numOfColumns,
};
};
const buildTable = (table) => {
var _a, _b;
if (!table) {
return undefined;
}
return {
name: table === null || table === void 0 ? void 0 : table.name,
schemaName: (_a = table === null || table === void 0 ? void 0 : table.schema) === null || _a === void 0 ? void 0 : _a.name,
tableId: table === null || table === void 0 ? void 0 : table.oid,
columns: indexedArrayToArray(table.columns, buildMColumn),
indexes: indexedArrayToArray(table.indexes, buildMIndex),
constraints: indexedArrayToArray(table.constraints, buildMConstraint),
triggers: indexedArrayToArray(table.triggers, buildMTriggers),
pkData: buildPrimaryKeyData(table.primaryKey),
pk: ((_b = table === null || table === void 0 ? void 0 : table.primaryKey) === null || _b === void 0 ? void 0 : _b.name) || "no-pk",
fk: indexedArrayToArray(table === null || table === void 0 ? void 0 : table.foreignKeys, buildMForeignKey),
};
};
const buildSchema = (schema) => {
if (!schema) {
return [];
}
return {
name: schema.name,
tables: indexedArrayToArray(schema.tables, buildTable),
};
};
class PGDbDetails extends db_details_1.default {
getDbDetailsInPgStructureObjectForm(connection, options) {
return __awaiter(this, void 0, void 0, function* () {
const db = yield (0, pg_structure_1.default)({
host: connection.host,
database: connection.database,
user: connection.user,
password: connection.password,
}, options);
return db;
});
}
getPgClassDetails(connection) {
return __awaiter(this, void 0, void 0, function* () {
const q = `SELECT relid,
schemaname,
relname as table_name,
(schemaname || '.' || relname) as full_table_name,
n_live_tup as rows,
n_dead_tup as dead_rows,
n_mod_since_analyze,
CASE
WHEN n_live_tup = 0 THEN 0
ELSE n_mod_since_analyze / n_live_tup
END AS pct_mod_since_analyze,
last_analyze as last_analyze_date,
last_autoanalyze as last_autoanalyze_date,
pg_total_relation_size(relid) / 1024 as total_table_size_kb,
pg_table_size(relid) / 1024 as table_size_kb,
pg_indexes_size(relid) / 1024 as indexes_size_kb,
pg_size_pretty(pg_total_relation_size(relid)) as total_table_size_pretty,
pg_size_pretty(pg_table_size(relid)) as table_size_pretty,
pg_size_pretty(pg_indexes_size(relid)) as index_size_pretty
FROM pg_stat_user_tables;`;
const pgC = new pg_client_1.MPgClient(connection);
return pgC.queryDatabase(q);
});
}
getPgStructure(connection) {
return __awaiter(this, void 0, void 0, function* () {
const db = yield (0, pg_structure_1.default)({
host: connection.host,
database: connection.database,
user: connection.user,
password: connection.password,
ssl: connection.ssl,
});
return indexedArrayToArray(db.schemas, buildSchema);
});
}
structureClassAggregation(pgStructure, partialPgClassTableData) {
return __awaiter(this, void 0, void 0, function* () {
const pgClassTablesMap = new Map();
partialPgClassTableData.map((tableMetaData) => {
if (tableMetaData && (tableMetaData === null || tableMetaData === void 0 ? void 0 : tableMetaData.relid)) {
pgClassTablesMap.set(tableMetaData.relid, tableMetaData);
}
});
const aggregateStructure = pgStructure.map((schema) => {
return schema === null || schema === void 0 ? void 0 : schema.tables.map((table) => {
const pgClassTableData = pgClassTablesMap.get(table.tableId);
return Object.assign(Object.assign({}, table), pgClassTableData);
});
});
return aggregateStructure;
});
}
getDbDetails(connection) {
return __awaiter(this, void 0, void 0, function* () {
const pgStructure = yield this.getPgStructure(connection);
const partialPgClassTableData = yield this.getPgClassDetails(connection);
this.structureClassAggregation(pgStructure, partialPgClassTableData);
console.log('hey');
});
}
}
exports.default = PGDbDetails;
//# sourceMappingURL=postgres.js.map
{"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../../lib/dialects/postgres/postgres.ts"],"names":[],"mappings":"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"}
import Connection from "../../../types";
export declare const getPgClassDetails: (connection: Connection) => Promise<any>;
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getPgClassDetails = void 0;
const pg_client_1 = require("../../utils/pg-client");
const getPgClassDetails = (connection) => __awaiter(void 0, void 0, void 0, function* () {
try {
const query = `SELECT relid,
schemaname,
relname as table_name,
(schemaname || '.' || relname) as full_table_name,
n_live_tup as rows,
n_dead_tup as dead_rows,
n_mod_since_analyze,
CASE
WHEN n_live_tup = 0 THEN 0
ELSE n_mod_since_analyze / n_live_tup
END AS pct_mod_since_analyze,
last_analyze as last_analyze_date,
last_autoanalyze as last_autoanalyze_date,
pg_total_relation_size(relid) / 1024 as total_table_size_kb,
pg_table_size(relid) / 1024 as table_size_kb,
pg_indexes_size(relid) / 1024 as indexes_size_kb,
pg_size_pretty(pg_total_relation_size(relid)) as total_table_size_pretty,
pg_size_pretty(pg_table_size(relid)) as table_size_pretty,
pg_size_pretty(pg_indexes_size(relid)) as index_size_pretty
FROM pg_stat_user_tables;`;
const client = new pg_client_1.MPgClient(connection);
return client.queryDatabase(query);
}
catch (error) {
throw error;
}
});
exports.getPgClassDetails = getPgClassDetails;
//# sourceMappingURL=pg-class-resource.js.map
{"version":3,"file":"pg-class-resource.js","sourceRoot":"","sources":["../../../../lib/dialects/postgres/resources/pg-class-resource.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,qDAAkD;AAGzC,MAAM,iBAAiB,GAAG,CAAO,UAAsB,EAAE,EAAE;IAChE,IAAI;QACF,MAAM,KAAK,GAAW;;;;;;;;;;;;;;;;;;;gCAmBI,CAAA;QAE1B,MAAM,MAAM,GAAG,IAAI,qBAAS,CAAC,UAAU,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;KACnC;IACD,OAAO,KAAK,EAAE;QACV,MAAM,KAAK,CAAC;KACf;AACH,CAAC,CAAA,CAAA;AA7BY,QAAA,iBAAiB,qBA6B7B"}
export declare const sendSpansToBackend: (queriesToSend: any, apiKey: any, metisExporterUrl: any, logFileName: any, metisBackendUrl: any) => Promise<void>;
export declare const makeSpan: (query: any, queryType: any, plan: any, connection: any, logFileName: string) => Promise<{
parent_id: any;
name: any;
kind: string;
timestamp: number;
duration: any;
start_time: string;
end_time: string;
attributes: {
"db.name": any;
"db.user": any;
"db.system": string;
"db.operation": any;
"db.statement": any;
"db.statement.metis": string;
"db.statement.metis.plan": string;
"net.peer.name": any;
"net.peer.ip": any;
};
status: {
status_code: string;
};
context: {
span_id: string;
trace_id: string;
};
resource: {
"app.tag.pr": string;
"service.name": string;
"service.version": string;
"telemetry.sdk.name": string;
"telemetry.sdk.version": string;
"telemetry.sdk.language": string;
};
}>;
export declare function post(url: any, data: any, options: any): Promise<unknown>;
export declare function chuncker(data: any, limit?: number): Generator<any[], any[], unknown>;
export declare function sendMultiSpans(url: any, apiKey: any, spans: any): Promise<any[]>;
export declare const sendSpansFromSlowQueryLog: (metisApikey: any, metisExporterUrl: any, slowQueryLogData: any, connection: any, logFileName: any, metisBackendUrl: any) => Promise<void>;
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.sendSpansFromSlowQueryLog = exports.sendMultiSpans = exports.chuncker = exports.post = exports.makeSpan = exports.sendSpansToBackend = void 0;
const uuidv4_1 = require("uuidv4");
const sendSpansToBackend = (queriesToSend, apiKey, metisExporterUrl, logFileName, metisBackendUrl) => __awaiter(void 0, void 0, void 0, function* () {
if (!apiKey) {
console.debug("API Key doesnt exists");
}
const data = {
"prName": logFileName,
"prId": "no-set",
"prUrl": "no-set"
};
try {
const options = {
method: "POST",
headers: {
Accept: "application/json",
"Content-Type": "application/json",
"Content-Length": JSON.stringify(data).length,
"x-api-key": apiKey,
},
};
yield post(`${metisBackendUrl ? metisBackendUrl : 'https://app.metisdata.io'}/api/tests/create`, JSON.stringify(data), options);
const url = metisExporterUrl;
yield sendMultiSpans(url, apiKey, queriesToSend);
}
catch (error) {
console.error(error);
}
});
exports.sendSpansToBackend = sendSpansToBackend;
const makeSpan = (query, queryType, plan, connection, logFileName) => __awaiter(void 0, void 0, void 0, function* () {
const span_id = (0, uuidv4_1.uuid)();
const traceId = (0, uuidv4_1.uuid)();
const duration = plan && plan["Execution Time"] || 1;
const timestamp = Date.now();
const startDate = new Date(timestamp).toISOString();
const endDate = new Date(timestamp + duration).toISOString();
const vendor = "github-action";
let hostName = vendor;
try {
hostName = connection.host;
}
catch (e) {
}
const resource = {
"app.tag.pr": logFileName,
"service.name": hostName,
"service.version": 'or0.000000000000001%',
"telemetry.sdk.name": vendor,
"telemetry.sdk.version": 'or0.000000000000000000000000001%',
"telemetry.sdk.language": vendor,
};
return {
parent_id: null,
name: queryType || "REPL",
kind: "SpanKind.CLIENT",
timestamp: Date.now(),
duration: duration,
start_time: startDate,
end_time: endDate,
attributes: {
"db.name": connection === null || connection === void 0 ? void 0 : connection.database,
"db.user": connection === null || connection === void 0 ? void 0 : connection.user,
"db.system": 'postgres',
"db.operation": queryType,
"db.statement": query,
"db.statement.metis": query + `/*traceparent=${traceId}-${span_id}*/''`,
"db.statement.metis.plan": JSON.stringify(plan, null, 0),
"net.peer.name": connection === null || connection === void 0 ? void 0 : connection.host,
"net.peer.ip": connection === null || connection === void 0 ? void 0 : connection.host,
},
status: {
status_code: "UNSET",
},
context: {
span_id: span_id,
trace_id: traceId,
},
resource,
};
});
exports.makeSpan = makeSpan;
function post(url, data, options) {
return __awaiter(this, void 0, void 0, function* () {
const parsedUrl = new URL(url);
let http;
if (parsedUrl.protocol === 'https:') {
http = require('https');
}
else {
http = require('http');
}
return new Promise((resolve, reject) => {
const req = http.request(url, options, (res) => {
if (res.statusCode < 200 || res.statusCode > 299) {
return reject({
statusCode: res.statusCode,
message: `HTTP status code ${res.statusCode}`,
});
}
const body = [];
res.on("data", (chunk) => body.push(chunk));
res.on("end", () => {
const resString = Buffer.concat(body).toString();
resolve(resString);
});
});
req.on("error", (err) => {
reject(err);
});
req.on("timeout", () => {
req.destroy();
reject(new Error("Request time out"));
});
req.write(data);
req.end();
});
});
}
exports.post = post;
function* chuncker(data, limit = 200000) {
if (!data) {
return [];
}
let result = [];
let counter = 0;
for (const item of data) {
counter += item.length;
result.push(item);
if (counter >= limit) {
yield result;
counter = 0;
result = [];
}
}
yield result;
}
exports.chuncker = chuncker;
function sendMultiSpans(url, apiKey, spans) {
return __awaiter(this, void 0, void 0, function* () {
const spansString = spans.map((d) => JSON.stringify(d, null, 0));
const response = [];
for (let chuckedData of chuncker(spansString)) {
const dataString = JSON.stringify(chuckedData, null, 0);
const options = {
method: "POST",
headers: {
Accept: "application/json",
"Content-Type": "application/json",
"Content-Length": dataString.length,
"x-api-key": apiKey,
},
};
response.push(yield post(url, dataString, options));
}
return response;
});
}
exports.sendMultiSpans = sendMultiSpans;
const sendSpansFromSlowQueryLog = (metisApikey, metisExporterUrl, slowQueryLogData, connection, logFileName, metisBackendUrl) => __awaiter(void 0, void 0, void 0, function* () {
if (metisApikey && metisExporterUrl) {
const spans = yield Promise.all(slowQueryLogData.map((item) => __awaiter(void 0, void 0, void 0, function* () {
const splitted = item.message.split("plan:");
const jsonStr = JSON.parse(splitted[1]);
return yield (0, exports.makeSpan)(jsonStr['Query Text'], 'select', { Plan: jsonStr.Plan }, connection, logFileName);
})));
(0, exports.sendSpansToBackend)(spans, metisApikey, metisExporterUrl, logFileName, metisBackendUrl);
}
});
exports.sendSpansFromSlowQueryLog = sendSpansFromSlowQueryLog;
//# sourceMappingURL=index.js.map
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/dialects/postgres/send-spans/index.ts"],"names":[],"mappings":"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"}
export default class StringUtils {
static removeExtraSpaces(str: string): string;
static removeBackSlashes(str: string): string;
static removeSqlComments(str: string): string;
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
class StringUtils {
static removeExtraSpaces(str) {
return str.replace(/\s+/g, ' ').trim();
}
static removeBackSlashes(str) {
return str.replace(/\//g, ' ').trim();
}
static removeSqlComments(str) {
return str.replace(/(\/\*[^*]*\*\/)|(\/\/[^*]*)|(--[^.].*)/gm, '');
}
}
exports.default = StringUtils;
//# sourceMappingURL=string-utils.js.map
{"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../../lib/dialects/utils/string-utils.ts"],"names":[],"mappings":";;AAAA,MAAqB,WAAW;IAE9B,MAAM,CAAC,iBAAiB,CAAC,GAAW;QAChC,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IACD,MAAM,CAAC,iBAAiB,CAAC,GAAW;QAChC,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IACD,MAAM,CAAC,iBAAiB,CAAC,GAAW;QAChC,OAAO,GAAG,CAAC,OAAO,CAAC,0CAA0C,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC;CACF;AAXD,8BAWC"}