Open exejutable opened 3 years ago
@exejutable Thanks for reporting! Two quick questions
Im using ts-node, al the code is in typescript
tsconfig.json
{
"ts-node": {
"transpileOnly": true
},
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"pretty": true,
"sourceMap": true,
"outDir": "dist",
"importHelpers": true,
"strict": true,
"noImplicitAny": false,
"strictNullChecks": false,
"noImplicitThis": true,
"alwaysStrict": true,
"noUnusedLocals": false,
"noUnusedParameters": false,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"moduleResolution": "node",
"baseUrl": ".",
"allowSyntheticDefaultImports": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"resolveJsonModule": true,
"esModuleInterop": true,
"lib": [
"es5",
"es6",
"dom",
"es2015.core",
"es2015.collection",
"es2015.generator",
"es2015.iterable",
"es2015.promise",
"es2015.proxy",
"es2015.reflect",
"es2015.symbol",
"es2015.symbol.wellknown",
"esnext.asynciterable"
]
}
}
The Base code
import {Pool, PoolConnection} from 'promise-mysql';
import {Service} from 'typedi';
import {MySqlProvider} from "../../lib/database/MySqlProvider";
@Service()
export class CouponRepository {
protected pool: Pool;
constructor(
private mySqlProvider: MySqlProvider,
) {
this.pool = this.mySqlProvider.pool;
}
public async findOne(id: number): Promise<any[]> {
let poolConnection: PoolConnection = await this.pool.getConnection();
let query = poolConnection.query({
sql: `SELECT id, name, code, tenant, description, start_date, end_date, allowed_uses, current_uses, discount, type, created_at, updated_at, deleted_at FROM coupons where id = ?`,
values: [id]
});
poolConnection.release();
return query;
}
}
MySqlProvider.ts
import { createPool, Pool, PoolConfig } from 'promise-mysql';
import { Service } from 'typedi';
import { Application } from 'express';
import { Bootstrap, Log, LogService } from '@dg/rest-common';
import { CONFIGURATION } from '../config/config';
@Service()
@Log()
export class MySqlProvider implements Bootstrap {
private _pool: Pool;
public name = MySqlProvider.name;
private logger: LogService;
public ready: boolean = false;
private configuration: PoolConfig = {
host: CONFIGURATION.db.host,
user: CONFIGURATION.db.username,
password: CONFIGURATION.db.password,
port: CONFIGURATION.db.port,
database: 'coupons',
};
isReady(): boolean {
return this.ready;
}
start(app?: Application): void {
this.logger.info('Connecting mysql client', { meta: { host: this.configuration.host, port: this.configuration.port } });
this.getPool()
.then(() => {
this.ready = true;
this.logger.info('Mysql connection is ready', { meta: { host: this.configuration.host, port: this.configuration.port } });
})
.catch((err) => {
this.ready = false;
this.logger.error(`${err.name} : ${err.message}`, { meta: { error: err.stack } });
});
}
public async getPool(): Promise<Pool> {
if (!this._pool) {
this._pool = await createPool(this.configuration);
}
return this._pool;
}
get pool(): Pool {
return this._pool;
}
}
@exejutable We're trying to get a reproduction of the behavior you're seeing -- when we do a basic check of the mysql-promise library in an express application router, spans are generated for the query.
app.get('/mysql-test', async (req, res) => {
const pool = await mysql.createPool({
connectionLimit : 10,
host: 'localhost',
user: 'root',
password: undefined,
database: 'test_elastic_apm'
})
const poolConnection = await pool.getConnection()
poolConnection.query({
sql:sql,
values:[0]
}, function (error, results, fields) {
if (error) {
console.log(error)
throw error;
}
console.log('query returned ' + results.length)
});
poolConnection.release()
})
So this confirms that our base instrumentation is working, but that there's something different about your setup/configuration/usage that's causing these spans to either not be generated, or to be generated outside a transaction, or perhaps the agent itself isn't loading. In order to solve this problem we'll need to be able to reproduce the behavior you're seeing. To that end we have a few more questions.
First -- you said
Im using ts-node, all the code is in typescript, the agent is the first import in the application
Can you confirm that the agent is also still the first require
in your compiled source (not just that it's the first import).
Second -- in the case where the you're not seeing MySQL spans, are you seeing spans-or-transactions for the HTTP request? Or are these spans missing as well.
Third -- you you have an example of how the CouponRepository
is used from the express route/middleware function? Or is this used outside of a route function?
If you can provide us with answers for as many of the above questions as possible, it may help use narrow in a reproduction of the issue. Once we have a reproduction of the behavior, we'll be able to diagnose what's going on that leads to no spans being generated.
Describe the bug
When i make a http request the apm stats dont have the mysql span, i have apm in the top of my app
App entrypoint
Apm file ./lib/elk/apm
To Reproduce
I only do a http request to the my service with a sql select
Expected behavior
See the span in apm
Environment (please complete the following information)
How are you starting the agent? (please tick one of the boxes)
agent.start()
directly (e.g.require('elastic-apm-node').start(...)
)Additional context
Agent config options
Click to expand
``` { secretToken: CONFIGURATION.elk.apm.secretToken, serverUrl: CONFIGURATION.elk.apm.serverUrl, environment: CONFIGURATION.environment, captureBody: 'all', logLevel: 'debug', } ```package.json
dependencies:Click to expand
``` { "@dg/rest-common": "^0.0.1", "@dg/sso-axios": "^0.0.1", "@dg/sso-http-client": "^0.0.1", "@elastic/ecs-winston-format": "^1.0.0", "@elastic/elasticsearch": "^7.10.0", "app-root-path": "^3.0.0", "bluebird": "^3.7.2", "body-parser": "^1.19.0", "class-transformer": "0.3.1", "class-validator": "0.12.2", "class-validator-jsonschema": "2.2.0", "compression": "^1.7.4", "config": "^3.3.3", "cors": "^2.8.5", "elastic-apm-node": "^3.12.1", "express": "^4.17.1", "faker": "^5.5.3", "helmet": "^4.2.0", "i18n": "^0.13.2", "import-fresh": "^3.2.2", "jsonwebtoken": "^8.5.1", "kafkajs": "^1.15.0", "moment": "^2.29.1", "multer": "^1.4.2", "mysql": "^2.18.1", "openapi3-ts": "^2.0.1", "promise-mysql": "^5.0.0", "reflect-metadata": "^0.1.13", "routing-controllers": "0.9.0-alpha.6", "routing-controllers-openapi": "2.2.0", "ts-node": "^9.0.0", "typedi": "^0.8.0", "typescript": "4.2.4", "winston": "^3.3.3", "winston-daily-rotate-file": "^4.5.1", "winston-elasticsearch": "^0.12.2", "winston3-logstash-transport": "^1.0.1-c" } ```logs
debug:Click to expand
``` {"log.level":"debug","@timestamp":"2021-05-27T22:53:27.912Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"adding hook to Node.js module loader"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.146Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming finalhandler@1.1.2 module"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.158Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming http@14.15.4 module"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.160Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming http.Server.prototype.emit function"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.160Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming http.ServerResponse.prototype.writeHead function"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.161Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming http.request function"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.161Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming http.get function"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.258Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express@4.17.1 module"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.269Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.use function"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.269Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.static function"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.270Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"copying property mime from express.static"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.332Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: query"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.332Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: expressInit"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.333Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: jsonParser"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.334Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: helmetMiddleware"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.334Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: compression"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.334Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: serveStatic"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.334Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: AsyncLocalStorageMiddleware"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.335Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: TraceMiddleware"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.335Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: IpRegionMiddleware"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.776Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: corsMiddleware"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.777Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: BootStrapMiddleware"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.777Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: I18nMiddleware"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.777Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: LoggerMiddle"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.779Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.780Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.780Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.780Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.780Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.781Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.781Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.781Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.782Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: ErrorMiddleware"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.820Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.834Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"no active transaction found - cannot build new span"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.834Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"intercepted call to http.request {\"id\":null}"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.836Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"no active transaction found - cannot build new span"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.836Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"intercepted call to http.request {\"id\":null}"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.837Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"no active transaction found - cannot build new span"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.837Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"intercepted call to http.request {\"id\":null}"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.845Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming mysql@2.18.1 module"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.847Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming mysql.createPool"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.847Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming mysql.createPoolCluster"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.847Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming mysql.createConnection"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:28.993Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"no cloud metadata servers responded"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:32.004Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"intercepted request event call to http.Server.prototype.emit for /api/coupons/?id=1&name=Thanks%20giving&code=TKSGIVING2021&description=Thanks%20giving%202021&start_date=2021-05-27%2019%3A52%3A24&end_date=2021-05-27%2019%3A52%3A24&allowed_uses=100¤t_uses=10&discount=10&type=assignable&page=1&limit=10&sort=%3Cid"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:32.006Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"start trace {\"trans\":\"5f024b384566d6e0\",\"trace\":\"c284575899b640145ad9aaf59cd2a78b\",\"name\":\"unnamed\",\"type\":null,\"subtype\":null,\"action\":null}"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:32.034Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"setting transaction result {\"trans\":\"5f024b384566d6e0\",\"trace\":\"c284575899b640145ad9aaf59cd2a78b\",\"result\":\"HTTP 3xx\"}"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:32.036Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"setting default transaction name: GET /api/coupons/ {\"trans\":\"5f024b384566d6e0\",\"trace\":\"c284575899b640145ad9aaf59cd2a78b\"}"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:32.040Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"sending transaction {\"trans\":\"5f024b384566d6e0\",\"trace\":\"c284575899b640145ad9aaf59cd2a78b\"}"} {"log.level":"debug","@timestamp":"2021-05-27T22:53:32.040Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"ended transaction {\"trans\":\"5f024b384566d6e0\",\"trace\":\"c284575899b640145ad9aaf59cd2a78b\",\"type\":\"request\",\"result\":\"HTTP 3xx\",\"name\":\"GET /api/coupons/\"}"} ```Sidenotes
I have another app running with the same config and everithing works fine
Additional context for the second app
Agent config options
Click to expand
``` { secretToken: CONFIGURATION.elk.apm.secretToken, serverUrl: CONFIGURATION.elk.apm.serverUrl, environment: CONFIGURATION.environment, captureBody: 'all', logLevel: 'debug', } ```package.json
dependencies:Click to expand
``` { "@dg/rest-common": "^0.0.1", "@dg/sso-http-client": "^0.0.1", "@elastic/ecs-winston-format": "^1.0.0", "@elastic/elasticsearch": "^7.11.0", "app-root-path": "^3.0.0", "axios": "^0.21.1", "body-parser": "^1.19.0", "class-transformer": "0.3.1", "class-validator": "0.12.2", "class-validator-jsonschema": "2.2.0", "compression": "^1.7.4", "config": "^3.3.3", "cors": "^2.8.5", "cron": "^1.8.2", "elastic-apm-node": "^3.12.1", "express": "^4.17.1", "googleapis": "^67.1.0", "helmet": "^4.2.0", "i18n": "^0.13.2", "iap": "^1.1.1", "import-fresh": "^3.2.2", "in-app-purchase": "^1.11.4", "jest-junit": "^12.0.0", "jsonwebtoken": "^8.5.1", "moment": "^2.29.1", "multer": "^1.4.2", "mysql": "^2.18.1", "node-apple-receipt-verify": "^1.9.3", "php-serialize": "^4.0.2", "promise-mysql": "^5.0.0", "reflect-metadata": "^0.1.13", "routing-controllers": "0.9.0-alpha.6", "routing-controllers-openapi": "2.2.0", "ts-node": "^9.0.0", "typedi": "^0.8.0", "typescript": "^4.1.2", "winston": "^3.3.3", "winston-daily-rotate-file": "^4.5.2", "winston-elasticsearch": "^0.12.2" } ```logs
debug:Click to expand
``` {"log.level":"debug","@timestamp":"2021-05-27T23:09:19.415Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"adding hook to Node.js module loader"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:19.641Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming finalhandler@1.1.2 module"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:19.653Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming http@14.15.4 module"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:19.656Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming http.Server.prototype.emit function"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:19.656Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming http.ServerResponse.prototype.writeHead function"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:19.657Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming http.request function"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:19.657Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming http.get function"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:19.768Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express@4.17.1 module"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:19.781Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.use function"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:19.781Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.static function"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:19.782Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"copying property mime from express.static"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:20.101Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming bluebird@3.7.2 module"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:20.102Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming bluebird.prototype functions: [\"_then\",\"_addCallbacks\"]"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:20.102Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming bluebird.config"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:20.105Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming mysql@2.18.1 module"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:20.107Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming mysql.createPool"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:20.107Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming mysql.createPoolCluster"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:20.108Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming mysql.createConnection"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:20.181Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: query"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:20.182Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: expressInit"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:20.182Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: jsonParser"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:20.183Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: helmetMiddleware"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:20.183Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: compression"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:20.184Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: serveStatic"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:20.184Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: AsyncLocalStorageMiddleware"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:20.184Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: TraceMiddleware"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:20.184Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: IpRegionMiddleware"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:21.338Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming https@14.15.4 module"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:21.338Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming https.Server.prototype.emit function"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:21.339Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming https.request function"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:21.340Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming https.get function"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:21.836Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming @elastic/elasticsearch@7.12.0 module"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:21.837Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"subclassing @elastic/elasticsearch.Client"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:22.196Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming http2@14.15.4 module"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:22.197Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming http2.createServer function"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:22.197Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming http2.connect function"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.249Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: corsMiddleware"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.250Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: BootStrapMiddleware"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.251Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: I18nMiddleware"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.251Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: LoggerMiddle"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.255Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.255Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.255Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.256Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.257Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.257Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.258Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.258Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.258Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.259Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.259Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.259Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.259Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.260Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.261Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.261Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.261Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.261Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.262Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.262Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.262Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.263Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.264Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.264Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.264Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.264Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.264Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.265Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.266Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.267Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.267Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.267Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.268Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.268Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.268Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.268Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.269Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.270Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.270Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.270Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.271Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.271Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.271Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.272Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.273Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.273Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.273Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.274Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.274Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.274Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.275Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.275Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.276Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.276Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.276Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.277Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.277Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.277Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.277Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.278Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.278Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.278Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.279Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.279Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.280Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.280Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: ErrorMiddleware"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.389Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming express.Router.Layer.handle function: bound dispatch"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.404Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"no active transaction found - cannot build new span"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.404Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"intercepted call to http.request {\"id\":null}"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.405Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"no active transaction found - cannot build new span"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.405Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"intercepted call to http.request {\"id\":null}"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.406Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"no active transaction found - cannot build new span"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.406Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"intercepted call to http.request {\"id\":null}"} {"log.level":"error","@timestamp":"2021-05-27T23:09:23.410Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"metadata requests did not finish, possible deadlock"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.626Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming mysql pool.getConnection"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.630Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"no active transaction found - cannot build new span"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.630Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"intercepted call to https.request {\"id\":null}"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:23.647Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming mysql getConnection() > connection.query"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:26.483Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"intercepted request event call to http.Server.prototype.emit for /api/public/products"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:26.485Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"start trace {\"trans\":\"a9737e00a3116269\",\"trace\":\"770d842b881abf10a637dbae53d597ac\",\"name\ ":\"unnamed\",\"type\":null,\"subtype\":null,\"action\":null}"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:26.499Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"shimming mysql getConnection() > connection.query"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:26.506Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"start span {\"span\":\"c76cb0e6119c67a2\",\"parent\":\"a9737e00a3116269\",\"trace\":\"770d842b881a bf10a637dbae53d597ac\",\"name\":\"unnamed\",\"type\":\"db\",\"subtype\":\"mysql\",\"action\":\"query\"}"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:26.506Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"intercepted call to mysql getConnection() > connection.query {\"id\":\"a9737e00a3116269\"}"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:26.507Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"extracted sql from mysql query {\"id\":\"a9737e00a3116269\",\"sql\":\"SELECT\\n p.i d,\\n p.name,\\n p.sku,\\n p.price,\\n p.mode,\\n p.coin,\\n p.score,\\n promo.extra\\n FROM\\n produ cts p\\n LEFT JOIN\\n products_has_payment_gateways phpg ON phpg.products_id = p.id\\n LEFT JOIN\\n payment_gateways pg ON pg.id = phpg.payment_gateways_id\\n AND pg.tenant = ?\\n LEFT JOIN\\n promotions promo ON promo.id = pg.promotion_id\\n AND promo.start_date <= NOW()\\n AND promo.end_date >= NOW()\\ n AND promo.tenant = ?\\n WHERE\\n pg.gateway_code = ?\\n AND p.mode = 'production'\\n AND p.enabled = 1\\n AND 711 >= p.show_at\\n AND p.deleted_at IS NULL\\n AND p.tenant = ?\"}"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:26.514Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"ended span {\"span\":\"c76cb0e6119c67a2\",\"parent\":\"a9737e00a3116269\",\"trace\":\"770d842b881a bf10a637dbae53d597ac\",\"name\":\"SELECT FROM products\",\"type\":\"db\",\"subtype\":\"mysql\",\"action\":\"query\"}"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:26.514Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"encoding span {\"span\":\"c76cb0e6119c67a2\",\"parent\":\"a9737e00a3116269\",\"trace\":\"770d842b8 81abf10a637dbae53d597ac\",\"name\":\"SELECT FROM products\",\"type\":\"db\"}"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:26.516Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"sending span {\"span\":\"c76cb0e6119c67a2\",\"parent\":\"a9737e00a3116269\",\"trace\":\"770d842b881abf10a637dbae53d597ac\",\"name\":\"SELECT FROM products\",\"type\":\"db\"}"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:26.521Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"setting transaction result {\"trans\":\"a9737e00a3116269\",\"trace\":\"770d842b881abf10a637dbae53d597ac\",\"result\":\"HTTP 3xx\"}"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:26.523Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"setting default transaction name: GET /api/public/products {\"trans\":\"a9737e00a3116269\",\"trace\":\"770d842b881abf10a637dbae53d597ac\"}"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:26.527Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"sending transaction {\"trans\":\"a9737e00a3116269\",\"trace\":\"770d842b881abf10a637dbae53d597ac\"}"} {"log.level":"debug","@timestamp":"2021-05-27T23:09:26.527Z","log":{"logger":"elastic-apm-node"},"ecs":{"version":"1.6.0"},"message":"ended transaction {\"trans\":\"a9737e00a3116269\",\"trace\":\"770d842b881abf10a637dbae53d597ac\",\"type\":\"request\",\"result\":\"HTTP 3xx\",\"name\":\"GET /api/public/products\"}"} ```