Live data from Hacker News

Viewing profile — wsargent

wsargent

HN member
Joined
Sun, Mar 03, 2013, 2:43 AM UTC
HN karma
72
Public activity
71 items

About wsargent

No profile information was provided.

Recent public activity

  1. 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…

  2. comment
    Comment #32805515

    Same! https://github.com/tersesystems/blacklite/

  3. 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…

  4. 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…

  5. 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…

  6. 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…

  7. 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…

  8. 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…

  9. 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…

  10. story
  11. story
  12. 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…

  13. 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 …

  14. story
  15. comment
    Comment #24680162

    How does this compare to Amazon Ion? https://amzn.github.io/ion-docs/

  16. 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/

  17. comment
    Comment #23958503

    Also https://www.usenix.org/sites/default/files/conference/protec... and https://speakerdeck.com/kaushik/tracing-and-profiling-java-a...

  18. comment
    Comment #23951446

    Lots of people do exactly this: https://tersesystems.com/blog/2019/10/05/diagnostic-logging-...

  19. comment
    Comment #23951421

    Yup, I have a demo app showing dumping from ringbuffer to JDBC here: https://terse-logback-showcase.herokuapp.com/

  20. 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…

  21. 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...

  22. 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…

  23. 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…

  24. 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, …

  25. 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.