文档 / 监控
监控
Ebean 收集事务、查询和缓存命中的指标。然后可以收集和报告这些指标。
转储指标
查看收集了哪些指标的快速方法是在服务器通过 dumpMetricsOnShutdown
关闭时转储这些指标(通常在运行所有测试之后)。
示例 application-test.yaml
ebean:
dumpMetricsOnShutdown: true
dumpMetricsOptions: loc,sql,hash
test:
platform: h2 # h2, postgres, mysql, oracle, sqlserver, sqlite
ddlMode: dropCreate # none | dropCreate | migrations | create
dbName: my_app
示例输出
以下是带有 loc、sql、hash
选项的小示例输出。
- loc - 包含配置文件位置
- hash - 包含 SQL 查询的哈希
- sql - 包含查询的 SQL
-- Dumping metrics for db --
txn.main count:10 total:117459 mean:11745 max:32894
-- ORM queries --
query:CustomerFinder.findByName count:1 total:4089 mean:4089 max:4089
hash:8c314fa1f6dbecfcdd449ccd021c8980
loc:CustomerFinder.findByName(CustomerFinder.kt:17)
sql:select t0.id, t0.name from customer t0 where lower(t0.name) like ? escape'|'
query:ProductFinder.findMapBySku count:1 total:2364 mean:2364 max:2364
hash:aeda919cc69bea1026543d5307276eeb
loc:ProductFinder.findMapBySku(ProductFinder.kt:12)
sql:select t0.id, t0.sku, t0.name, t0.version, t0.when_created, t0.when_modified from product t0
...
指标
我们可以通过 MetaInfoManager 获取指标。当我们调用 collectMetrics() 时,将返回非空指标,并且指标计数器将重置。
// Collect the metrics
ServerMetrics serverMetrics = database.getMetaInfoManager().collectMetrics();
// Transactions, L2 cache, SQL updates and queries
List<MetaTimedMetric> timedMetrics : serverMetrics.getTimedMetrics()
// ORM queries
List<MetaOrmQueryMetric> ormQueryMetrics = serverMetrics.getOrmQueryMetrics();
// DTO queries
List<MetaQueryMetric> dtoQueryMetrics = serverMetrics.getDtoQueryMetrics();