Skip to content

Log20 Go Implementation

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE.md
Notifications You must be signed in to change notification settings

LogTwenty/Log20-Go

Repository files navigation

Log20 - Go

Quickstart

Java Implementation

Log20-java comprises an instrumentation library, a tracing library used for both request tracing and logging, and an LPS placement generator using the algorithm we just examined. The instrumentation library uses Soot for bytecode instrumentation.

The tracing library has low overhead and consists of a scheduler and multiple logging containers (one per thread), each with a 4MB memory buffer. Log entries are of the form timestamp MethodID#BBID, threadID plus any variable values. In the evaluation, each logging invocation takes 43ns on average, compared to 1.5 microseconds for Log4j.

If you’re feeling brave, you can even have Log20 dynamically adjust the placement of log statements at runtime based on continued sampling of traces.

Approaches

ast.Walk

syscall.Ptrace

Debuggers from Scratch - Liz Rice

https://syslog.ravelin.com/go-function-calls-redux-609fdd1c90fd

https://github.com/derekparker/delve/blob/master/Documentation/usage/dlv_attach.md https://sourcegraph.com/search?q=repo:%5Egithub%5C.com/derekparker/delve%24%40master+AttachPid#4

pprof

https://github.com/golang/go/wiki/Performance https://golang.org/pkg/net/http/pprof/ https://golang.org/pkg/runtime/pprof/ https://github.com/google/pprof/blob/master/doc/README.md https://github.com/google/gops https://jvns.ca/blog/2017/09/24/profiling-go-with-pprof/ https://www.farsightsecurity.com/2016/10/28/cmikk-go-remote-profiling/

tracing

https://golang.org/pkg/runtime/trace/

eBPF

Log Analysis

Known Logging Libraries

  • stdlib logging
  • glog
  • log15
  • logrus
  • zap

Links

https://golang.org/doc/diagnostics.html http://www.brendangregg.com/blog/2017-01-31/golang-bcc-bpf-function-tracing.html https://hackernoon.com/strace-in-60-lines-of-go-b4b76e3ecd64 https://github.com/llvm-mirror/llvm/blob/master/lib/Transforms/Instrumentation/PGOInstrumentation.cpp

About

Log20 Go Implementation

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE.md

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages