DataSource 日志

优质
小牛编辑
134浏览
2023-12-01

SOFATracer 对标准的 JDBC 数据源进行埋点,输出 SQL 语句执行链路数据,默认日志输出为 JSON 数据格式。

DataSource 摘要日志(datasource-client-digest.log)

以 JSON 格式输出的数据,相应 key 的含义解释如下:

key表达含义
time日志打印时间
local.app当前应用名
traceIdTraceId
spanIdSpanId
span.kindSpan 类型
result.code状态码
current.thread.name当前线程名
time.cost.millisecondsspan 耗时
database.name数据库名称
sqlsql执行语句
connection.establish.spansql执行建连时间
db.execute.costsql执行时间
database.type数据库类型
database.endpoint数据库url
sys.baggage系统透传的 baggage 数据
biz.baggage业务透传的 baggage 数据

样例:

{"time":"2019-09-02 21:31:31.566","local.app":"SOFATracerDataSource","traceId":"0a0fe91d156743109138810017302","spanId":"0.1","span.kind":"client","result.code":"00","current.thread.name":"http-nio-8080-exec-1","time.cost.milliseconds":"15ms","database.name":"test","sql":"DROP TABLE IF EXISTS TEST;
CREATE TABLE TEST(ID INT PRIMARY KEY%2C NAME VARCHAR(255));","connection.establish.span":"128ms","db.execute.cost":"15ms","database.type":"h2","database.endpoint":"jdbc:h2:~/test:-1","sys.baggage":"","biz.baggage":""}

DataSource 统计日志(datasource-client-stat.log)

stat.key 即本段时间内的统计关键字集合,统一关键字集合唯一确定一组统计数据,包含local.app、database.name、和 sql 字段.

key表达含义
time日志打印时间
stat.keylocal.app当前应用名
database.name数据库名称
sqlsql执行语句
count本段时间内sql执行次数
total.cost.milliseconds本段时间内sql执行总耗时(ms)
success请求结果:Y 表示成功;N 表示失败
load.test压测标记:T 是压测;F 不是压测

样例:

{"time":"2019-09-02 21:31:50.435","stat.key":{"local.app":"SOFATracerDataSource","database.name":"test","sql":"DROP TABLE IF EXISTS TEST;
CREATE TABLE TEST(ID INT PRIMARY KEY%2C NAME VARCHAR(255));"},"count":1,"total.cost.milliseconds":15,"success":"true","load.test":"F"}