DataSource 日志

更新时间: 2019-06-21

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

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

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

key表达含义
time日志打印时间
local.app当前应用名
traceIdTraceId
spanIdSpanId
database.name数据库名称
sqlsql执行语句
result.codesql执行状态码
total.timesql语句执行总时间
connection.establish.spansql执行建连时间
db.execute.costsql执行时间
database.type数据库类型
database.endpoint数据库url
current.thread.name当前线程名
baggage透传的 baggage 数据

样例:

  1. {"time":"2018-09-28 01:11:56.715","local.app":"SOFATracerDataSource","traceId":"1e1bcab91538068316462100111113","spanId":"0.1.2","database.name":"test","sql":"CREATE TABLE TEST(ID INT PRIMARY KEY%2C NAME VARCHAR(255));","result.code":"success","total.time":"228ms","connection.establish.span":"220ms","db.execute.cost":"3ms","database.type":"h2","database.endpoint":"jdbc:h2:~/test:-1","current.thread.name":"http-nio-8080-exec-1","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 不是压测

样例:

  1. {"time":"2018-09-28 01:12:43.647","stat.key":{"local.app":"SOFATracerDataSource","database.name":"test", "sql":"CREATE TABLE TEST(ID INT PRIMARY KEY%2C NAME VARCHAR(255));"},"count":1,"total.cost.milliseconds":228,"success":"true","load.test":"F"}