参考

日志成本

性能采样
一次请求只产生一个事件,而不是四行:字节数减少 56%,事件数减少 75%。哪个数字会影响你的账单,取决于你的提供商。

日志账单会随着你发送的内容增长,而每一步都写一行的日志记录器会反复发送相同的请求上下文。每一行都带有自己的级别、时间戳、主机和请求绑定信息。四行,四份副本。

evlog 改为每个请求只发出一个事件,因此上下文只写入一次。本页面会衡量其中的差异,并让你根据自己的流量为其估算价格。

用你的数字试算

Monthly log bill

Requests / month 10M

Log lines per request, today 4

Sampling, kept on both sides 100%

$ / GB
$ / M indexed
You save$51.42 a month, 75% less than 4 lines per request

4 lines / request

$68.74

Events
40M
Data
7.4 GB

evlog, 1 event

$17.32

Events
10M
Data
3.2 GB

Byte counts measured by serializing the checkout request above through pino 10 and evlog: 4 lines totalling 736 B against 1 event of 322 B, so 184 B per line and 322 B per event. Your fields differ, so treat the shape as the method, not the answer.

List rates read on 14 August 2026 (Datadog: ingest + indexing, 15-day retention). Vendors change pricing without notice, which is why every rate here is editable. Free tiers, committed-use discounts and retention add-ons are not modelled. Sampling is applied to both columns, because any logger can drop events: it lowers each bill and leaves the ratio between them alone.

字节数从何而来

两种形式都是 性能 中记录的结账请求,经过真实库序列化,而不是估算得出。

const log = createLogger({ method: 'POST', path: '/api/checkout', requestId: 'req_abc' })
log.set({ user: { id: 'usr_123', plan: 'pro' } })
log.set({ cart: { items: 3, total: 9999 } })
log.set({ payment: { method: 'card', last4: '4242' } })
log.emit({ status: 200 })
事件字节
pino,4 行4736
evlog,1 个事件1322
差异减少 75%减少 56%

这两个数字不同,是因为合并移除了重复的封装,而不是负载。leveltimepidhostnamemethodpathrequestId 被 pino 写入四次,而被 evlog 写入一次,四个 msg 字符串则完全消失。无论哪种方式,你实际设置的字段都只会写入一次。

你的比例不会和这个比例相同。一个只记录两行的处理程序节省得更少;一个在每一行都重复记录大型 user 对象的处理程序节省得更多。方法可以迁移,数字不会。

哪个数字会影响你的账单

提供商会采用两种方式之一来计量日志,而这决定了你实际获得哪种节省。

计量方式你获得的节省提供商
摄入的千兆字节56% 的字节数Grafana Cloud、Sentry、PostHog、Better Stack、Axiom
千兆字节已索引事件75% 的事件数,体现在通常占主导地位的明细项上Datadog

按千兆字节计费是常见情况,因此大多数团队会获得字节数节省。Datadog 是值得检查的例外:它按千兆字节收取摄入费用,按百万事件收取索引费用,而在生产环境的流量规模下,索引明细项在两者中更大,因此真正产生影响的是事件数。

费率读取于 2026 年 8 月 14 日,并且是目录价格,不包含免费额度、承诺使用折扣和保留期附加费用。正因如此,它们会作为上方计算器的输入。

采样会同时改变两列

计算器会对两种形式同时应用采样,这是对其建模的唯一公平方式。丢弃事件并不是 evlog 能做而其他日志记录器不能做的事情:你可以在任何日志记录器中按级别过滤,也可以在传输层进行采样。只应用于一侧会让 evlog 获得并非由 evlog 带来的节省。将滑块向下拉,两种账单都会同时下降,而它们之间的差距保持不变。

但它仍然是更大的杠杆。合并的效果有上限,因为每个请求发送的事件不可能少于一个。采样 则没有这个限制:前置采样会在发出时按级别丢弃事件,而尾部采样会强制保留你原本想要的事件,因此错误和慢请求能够通过一条丢弃其余请求的规则保留下来。流量不再决定数量,信号才是决定因素,而这正是唯一能在你不断增长时持续有效的方式。

evlog 改变的是采样所作用的单位。丢弃一行会丢失请求的一部分;丢弃一个事件会丢失整个请求,而保留一个事件则会保留其全部内容。

在编辑器中询问

相同的计算也是这个网站服务器上的一个 MCP 工具,因此连接到 https://evlog.dev/mcp 的助手可以直接回答:

estimate-log-cost({ requestsPerMonth: 10000000, linesPerRequest: 4, provider: "datadog" })

它会返回两种形式、节省的数量以及所使用的依据:测得的字节数、应用的费率和读取这些费率的日期。传入 perGbperMillionIndexed,即可为列表中没有的提供商估价,或修正价格已经变动的提供商。

下一步

  • 采样:两个层级,以及每个层级会让你在可见性方面付出什么代价
  • 性能:这些字节数所依据的基准测试
  • 排空适配器:每个目标,以及之后如何改变你的选择