Skip to content
This repository was archived by the owner on Jul 14, 2020. It is now read-only.

Commit 2ea5205

Browse files
GHMattiGHMatti
GHMatti
authored and
GHMatti
committed
Added versioning to profiling debug messages
1 parent 56cc9aa commit 2ea5205

File tree

3 files changed

+42
-4
lines changed

3 files changed

+42
-4
lines changed

mysql-async.js

+21-2
Original file line numberDiff line numberDiff line change
@@ -5179,6 +5179,20 @@ class MySQL {
51795179
} else {
51805180
this.logger.error(`[ERROR] [MySQL] Unexpected configuration of type ${typeof mysqlconfig} received.`);
51815181
}
5182+
5183+
this.pool.query('SELECT VERSION()', (error, result) => {
5184+
let versionPrefix = 'MariaDB';
5185+
if (!error) {
5186+
const version = result[0]['VERSION()'];
5187+
if (version[0] === '5' || version[0] === '8') {
5188+
versionPrefix = 'MySQL';
5189+
}
5190+
profiler.setVersion(`${versionPrefix}-${version}`);
5191+
logger.log('\x1b[32m[mysql-async]\x1b[0m Database server connection established.');
5192+
} else {
5193+
logger.error(`[ERROR] ${error.message}`);
5194+
}
5195+
});
51825196
}
51835197

51845198
execute(sql, invokingResource, connection) {
@@ -14750,6 +14764,7 @@ function updateExecutionTimes(object, queryTime) {
1475014764

1475114765
class Profiler {
1475214766
constructor(logger, config) {
14767+
this.version = 'MySQL';
1475314768
this.startTime = Date.now();
1475414769
this.logger = logger;
1475514770
this.config = Object.assign({}, profilerDefaultConfig, config);
@@ -14774,6 +14789,10 @@ class Profiler {
1477414789
}
1477514790
}
1477614791

14792+
setVersion(version) {
14793+
this.version = version;
14794+
}
14795+
1477714796
profile(time, sql, resource) {
1477814797
const interval = Math.floor((Date.now() - this.startTime) / this.config.timeInterval);
1477914798
const queryTime = time[0] * 1e3 + time[1] * 1e-6;
@@ -14799,11 +14818,11 @@ class Profiler {
1479914818
}
1480014819

1480114820
if (this.slowQueryWarningTime < queryTime) {
14802-
this.logger.error(`[MySQL] [Slow Query Warning] [${resource}] [${queryTime.toFixed()}ms] ${sql}`);
14821+
this.logger.error(`[${this.version}] [Slow Query Warning] [${resource}] [${queryTime.toFixed()}ms] ${sql}`);
1480314822
}
1480414823

1480514824
if (this.config.trace) {
14806-
this.logger.log(`[MySQL] [${resource}] [${queryTime.toFixed()}ms] ${sql}`);
14825+
this.logger.log(`[${this.version}] [${resource}] [${queryTime.toFixed()}ms] ${sql}`);
1480714826
}
1480814827
}
1480914828
}

src/server/mysql.js

+14
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,20 @@ class MySQL {
1010
} else {
1111
this.logger.error(`[ERROR] [MySQL] Unexpected configuration of type ${typeof mysqlconfig} received.`);
1212
}
13+
14+
this.pool.query('SELECT VERSION()', (error, result) => {
15+
let versionPrefix = 'MariaDB';
16+
if (!error) {
17+
const version = result[0]['VERSION()'];
18+
if (version[0] === '5' || version[0] === '8') {
19+
versionPrefix = 'MySQL';
20+
}
21+
profiler.setVersion(`${versionPrefix}-${version}`);
22+
logger.log('\x1b[32m[mysql-async]\x1b[0m Database server connection established.');
23+
} else {
24+
logger.error(`[ERROR] ${error.message}`);
25+
}
26+
});
1327
}
1428

1529
execute(sql, invokingResource, connection) {

src/server/profiler.js

+7-2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ function updateExecutionTimes(object, queryTime) {
2727

2828
class Profiler {
2929
constructor(logger, config) {
30+
this.version = 'MySQL';
3031
this.startTime = Date.now();
3132
this.logger = logger;
3233
this.config = Object.assign({}, profilerDefaultConfig, config);
@@ -51,6 +52,10 @@ class Profiler {
5152
}
5253
}
5354

55+
setVersion(version) {
56+
this.version = version;
57+
}
58+
5459
profile(time, sql, resource) {
5560
const interval = Math.floor((Date.now() - this.startTime) / this.config.timeInterval);
5661
const queryTime = time[0] * 1e3 + time[1] * 1e-6;
@@ -76,11 +81,11 @@ class Profiler {
7681
}
7782

7883
if (this.slowQueryWarningTime < queryTime) {
79-
this.logger.error(`[MySQL] [Slow Query Warning] [${resource}] [${queryTime.toFixed()}ms] ${sql}`);
84+
this.logger.error(`[${this.version}] [Slow Query Warning] [${resource}] [${queryTime.toFixed()}ms] ${sql}`);
8085
}
8186

8287
if (this.config.trace) {
83-
this.logger.log(`[MySQL] [${resource}] [${queryTime.toFixed()}ms] ${sql}`);
88+
this.logger.log(`[${this.version}] [${resource}] [${queryTime.toFixed()}ms] ${sql}`);
8489
}
8590
}
8691
}

0 commit comments

Comments
 (0)