• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

uber-common / zap / 183
97%

Build:
DEFAULT BRANCH: master
Ran 17 May 2016 05:16AM UTC
Jobs 3
Files 10
Run time 56s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
183

Pull #45

travis-ci

akshayjshah
Reduce allocations for disabled/sampled logs

Even when a log level is disabled or heavily sampled, calling
`logger.Error(msg, someField, someOtherField)` will make at least one
allocation to hold the fields. If we're using the more expensive field
types, we may allocate even more, only to discard all that work.

This PR introduces the `logger.Check` API, which allows particularly
performance-sensitive applications to avoid these allocations by using
a slightly wordier call pattern.

Using `Check` makes it virtually free to pass fields to a sampled
logger:

```
BenchmarkZapDisabledLevelsAddingFields-4         3000000        439 ns/op             704 B/op          2 allocs/op
BenchmarkZapDisabledLevelsCheckAddingFields-4   200000000         5.74 ns/op            0 B/op          0 allocs/op

BenchmarkZapSampleWithoutFields-4       20000000                60.9 ns/op             0 B/op          0 allocs/op
BenchmarkZapSampleCheckWithoutFields-4  20000000                61.4 ns/op             0 B/op          0 allocs/op

BenchmarkZapSampleAddingFields-4         2000000               575 ns/op             704 B/op          2 allocs/op
BenchmarkZapSampleCheckAddingFields-4   20000000                65.2 ns/op             0 B/op          0 allocs/op
```
Pull Request #45: Reduce allocations for disabled/sampled logs

464 of 481 relevant lines covered (96.47%)

38899.77 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
12
100.0
logger.go
Jobs
ID Job ID Ran Files Coverage
1 183.1 17 May 2016 05:16AM UTC 0
96.47
Travis Job 183.1
2 183.2 17 May 2016 05:16AM UTC 0
96.47
Travis Job 183.2
3 183.3 17 May 2016 05:17AM UTC 0
96.47
Travis Job 183.3
Source Files on build 183
  • Tree
  • List 0
  • Changed 5
  • Source Changed 1
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Travis Build #183
  • Pull Request #45
  • PR Base - master (#181)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc