Viewing profile — wsargent
wsargent
HN member- Joined
- Sun, Mar 03, 2013, 2:43 AM UTC
- HN karma
- 72
- Public activity
- 71 items
- HN profile
- View on Hacker News ↗
About wsargent
No profile information was provided.
Recent public activity
-
comment
Comment #32805568
> I'm surprised this is up for debate. I looked into logging in protobuf when I was seeing if there was a better binary encoding for ring-buffer logging, along the same lines as na…
-
comment
Comment #32805515
Same! https://github.com/tersesystems/blacklite/
-
comment
Comment #32804492
I see it the other way around: tracing is essentially logging with hierarchy. If you can keep the context of a "parent" span around, then you can log all of the entries out and bui…
-
comment
Comment #32804450
MDC/NDC only reliably works when you don't have asynchronous code (Akka/Vert.x/CompletionStage) through your application. As soon as you start using multiple threads, it becomes si…
-
story
Show HN: Dynamic Debug Logging
I made a proof of concept using Docker Compose showing dynamic debug logging in the cloud using a structured logging framework. The PoC uses script and JSONPath to evaluate the inp…
-
comment
Comment #29827541
Here are the benchmarks [1] using a no-op appender. There are some micro-optimizations I can make, but I think this is a pretty good start. https://github.com/tersesystems/echoprax…
-
comment
Comment #29777164
I'll add that. I do have the benchmarking from Blindsight, the Scala logging API, and it's on the order of nanoseconds: https://tersesystems.github.io/blindsight/performance/benchm…
-
story
Show HN: Echopraxia, a better Java Logging API
I've been working on logging for a while and I've released and open sourced a new Java logging API I'm really happy with. Echopraxia [1] is a Java logging API like SLF4J, but built…
-
comment
Comment #27592802
I thought we would have different debugging tools. Specifically, I thought languages would be designed around debugging use cases. The fact that we are still using debuggers and lo…
- story
- story
-
comment
Comment #26106500
This is neat! I have a tool blacklite[1] that logs to sqlite, so using this I can export those logs automatically to S3 and keep persistent logs even if the instance goes away. I c…
-
comment
Comment #25234177
I've published a logging appender called Blacklite that writes logging events to SQLite databases. It has good throughput and low latency, and comes with archivers that can delete …
- story
-
comment
Comment #24680162
How does this compare to Amazon Ion? https://amzn.github.io/ion-docs/
-
comment
Comment #23958527
There's also Witchcraft Logging, which has the concept of "safe" parameters and is available in Go, Rust, and Clojure: https://docs.rs/witchcraft-log/0.3.0/witchcraft_log/
-
comment
Comment #23958503
Also https://www.usenix.org/sites/default/files/conference/protec... and https://speakerdeck.com/kaushik/tracing-and-profiling-java-a...
-
comment
Comment #23951446
Lots of people do exactly this: https://tersesystems.com/blog/2019/10/05/diagnostic-logging-...
-
comment
Comment #23951421
Yup, I have a demo app showing dumping from ringbuffer to JDBC here: https://terse-logback-showcase.herokuapp.com/
-
comment
Comment #23951402
I'd argue that you want to keep that debugging line, but put it inside a guard. Diagnostic logging is used lots in production [1]. [1] https://tersesystems.com/blog/2019/10/05/diag…
-
comment
Comment #23951377
You can also hook up your logging to a feature flag system, so it's only activated for a single user. [1] [1] https://tersesystems.com/blog/2019/07/22/targeted-diagnostic...
-
comment
Comment #23951367
> Many Java logging systems allow you to enable/disable logging per package, but this is still not enough for a per function decision. I have something for that. [1] [1] https://te…
-
comment
Comment #23951357
> The second problem is to figure out if logging is affecting performance. Spoiler -- it totally can. Kirk Pepperdine talks about logging as a memory allocation bottleneck [1] So I…
-
comment
Comment #23951315
Agree with everything you've said, but MDC does have one big drawback: it's only convenient when you're working within a single thread. If you're writing asynchronous code (Scala, …
-
comment
Comment #23951277
Honeycomb has a free tier that is very generous: https://www.honeycomb.io/pricing ? You can set up with one of their Beelines, or just send JSON to the REST endpoint.