pinpoint-node-agent
Version:
Pinpoint APM agent for Node.js — distributed tracing, error analysis, and URI statistics
43 lines (34 loc) • 1.17 kB
JavaScript
/**
* Pinpoint Node.js Agent
* Copyright 2020-present NAVER Corp.
* Apache License v2.0
*/
const SqlUidMetaData = require('../../client/sql-uid-meta-data')
const murmur128 = require('../../support/murmur3/murmur3-128')
const BytesStringStringValue = require('../../instrumentation/context/annotation/bytes-string-string-value')
const annotationKey = require('../../constant/annotation-key')
const Annotations = require('../../instrumentation/context/annotation/annotations')
class UidParsingResult {
constructor(originalSql, normalizedSql) {
this.sqlId = murmur128(normalizedSql.normalizedSql)
this.originalSql = originalSql
this.sql = normalizedSql
}
getId() {
return this.sqlId
}
getSql() {
return this.sql.getNormalizedSql()
}
getOutput() {
return this.sql.getParseParameter()
}
newSqlAnnotation(bindString) {
return Annotations.of(annotationKey.SQL_UID.getCode(), new BytesStringStringValue(this.getId(), this.getOutput(), bindString))
}
sqlMetaDataValue() {
return new SqlUidMetaData(this)
}
}
module.exports = UidParsingResult